Network-level policy verification for network-based switching
Through the intermediary computing platform and UUEK technology, the value exchange without credentials is realized, the security and efficiency problems caused by credential dependence in the existing technology are solved, and data security and network performance are improved.
Patent Information
- Application Number
- CN202380040605.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-28
- Filing Date
- 2023-08-03
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2043-08-03
AI Technical Summary
Existing network-based value exchange technologies rely on persistent credentials, resulting in increased cost of fraud, regulatory and compliance, reputation risks, and data security issues. Traditional security measures are complex and incomplete, and cannot effectively prevent cyber attacks.
Using the intermediary computing platform, the value exchange without credentials is used to leverage the universal unique temporary key (UUEK), eliminate the use of persistent credentials, and implement the registration and authorization of users and tools through new data structures and interfaces, allowing transmission in a seamless process. Context information for enhanced security and flexibility.
It realizes seamless authorization in value exchange, reduces the risk of network attacks, improves data security and communication flexibility, reduces computing resource requirements, and improves network throughput and switching processing efficiency.
Smart Images

Figure CN119213731A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 370,275 filed on August 3, 2022 and Patent Application Serial No. 18 / 343,433 filed on June 28, 2023, the entire contents of which are incorporated herein by reference, including any figures, tables, images and appendices. Technical Field
[0003] Embodiments of the present disclosure generally relate to voucherless value exchange between multiple entities in a value system. Background Art
[0004] In view of the limitations of existing exchange processing technologies and architectures, the various embodiments of the present disclosure address technical challenges associated with network-based value exchanges. Existing processes for performing exchanges on computing networks rely on the use of persistent credentials, such as payment credentials (e.g., card numbers, usernames, passwords, bank routing numbers, account numbers, etc.) and their proxies, which expose recipients of the credentials to fraud, regulatory and compliance costs, and reputational risks. In addition, due to the static nature of traditional credentials, every time a user provides their credentials to conduct a transaction, the user must accept the risk of financial loss, damaged credit scores, identity theft, and other consequences. The inherent insecurity of persistent credentials is typically addressed using strict communication protocols, data governance procedures, and authentication schemes, each of which introduces additional technical issues by increasing overhead and complicating network-based transactions, but does not address the fundamental technical issues of data security.
[0005] For example, traditional service providers that manage user accounts can limit exposure of user accounts by using disclaimers that prevent users from providing their credentials to certain third parties. This will cause network congestion as the limited number of approved parties is overloaded with requests from the entire group. In addition, approved parties are required to enroll users by obtaining sensitive persistent credentials (e.g., username, password, routing / transport credentials, etc.) from the users, and subsequently manage a large number of persistent credentials for multiple enrolled users. This provides a single attack vector for malicious parties to obtain sensitive user information for a group of users. To resist such attacks, traditional transaction processing entities need to adopt costly, resource-intensive, and robust data governance procedures and authentication schemes, but these schemes are not perfect and remain vulnerable to penetration.
[0006] Other techniques for addressing data security issues include limiting exchange communications (such as those used for financial transactions) to strict messaging standards such as ISO messaging standards, which lack flexibility and are designed to not provide contextual data (e.g., object identifiers) for transactions. By doing so, these techniques, among other things, prevent the verification of object-level attributes involved in the exchange, which would otherwise provide a seamless network-based exchange. For example, traditional exchange networks lack the ability to communicate object-level details, and therefore, lack the ability to determine that the individual objects involved in an exchange request are acceptable for a value-based exchange environment. Accordingly, traditional methods for handling restrictions on value-based exchanges require that the restrictions be handled at the point of sale system and rely on manual intervention, which can be unreliable, unsafe, and time-consuming. Therefore, by using such communication standards, traditional exchange networks increase the security of the network at the expense of exchange functionality.
[0007] Various embodiments of the present disclosure make important contributions to various existing network-based switching processing technologies by addressing each of these technical challenges. Summary of the invention
[0008] Various embodiments of the present disclosure disclose a secure intermediary computing platform and computing service that facilitates the credential-free execution of value-based exchanges, which utilizes UUEK (universally unique temporary key) to eliminate the use of persistent credentials. To this end, the intermediary computing platform can facilitate the interaction between one or more member platforms to register users and / or user instruments into a value exchange system driven by a new temporary data structure (referred to herein as UUEK). Unlike traditional exchange systems, the intermediary computing platform does not receive or rely on persistent user credentials or instrument credentials to register users and / or users' credentials. The elimination of such credentials enables the use of new, more flexible interfaces (such as the application program interface (API) described herein), which the intermediary computing platform uses to communicate with different network members to register users, users' tools and tool policies, without exposing user credentials at any step in the process. Once registered, the intermediary computing platform can issue a UUEK to the member platform, which can replace traditional persistent credentials. The issued UUEK does not reflect persistent credentials or any other sensitive user information or tool information. The interface between the member platform and the intermediary platform can allow (i) a user to present a UUEK issued by a member platform to the intermediary platform (without explicit reference to persistent credentials), and (ii) the intermediary platform to map the issued UUEK to an instrument key of the same or another member platform and provide the instrument key to the member platform to authorize a value-based exchange. In this way, network-based transactions can be authorized in a seamless process without exposing sensitive user information or instrument information that may be vulnerable to cyber attacks.
[0009] By doing so, some techniques of the present disclosure enable the use of flexible interfaces (e.g., APIs) between entities in a value-based exchange. These interfaces can allow requests and / or responses between entities that allow contextual information, such as object identifiers, to be transmitted during the execution of the value-based exchange. In this way, the execution of the value-based exchange can be predicted based at least in part on the determination of the object-level details of the value-based exchange. As described herein, this allows the intermediary platform to implement tool-specific policies without the risk of exposing sensitive user information or financial information. Finally, the techniques of the present disclosure achieve additional flexibility (e.g., through the use of new interfaces, etc.) and security (e.g., through the elimination of persistent credentials, etc.) while reducing the computing power requirements of the exchange processing relative to traditional techniques and enabling the exchange processing to achieve significantly greater network throughput.
[0010] In some embodiments, a computer-implemented method includes: receiving, by one or more processors and using a partner interface, an exchange request for performing a value-based exchange, wherein the exchange request indicates a universally unique temporary key (UUEK) including an exchange identifier; identifying, by the one or more processors, an exchange data object based at least in part on the exchange identifier, wherein the exchange data object includes a tool identifier of a service provider tool of a member platform; determining, by the one or more processors, one or more valid objects and one or more invalid objects of the exchange request based at least in part on a member policy corresponding to the member platform; providing, by the one or more processors and using the service provider interface, an exchange authorization request to the member platform, wherein the exchange authorization request indicates the tool identifier and one or more valid objects of the exchange request; receiving, by the one or more processors and using the service provider interface, an exchange authorization response indicating at least one of an exchange approval or an exchange rejection; and providing, by the one or more processors and using the partner interface, an exchange response based at least in part on the exchange authorization response, wherein the exchange response indicates (i) an exchange approval or an exchange rejection and (ii) one or more invalid objects of the exchange request.
[0011] In some embodiments, a computing system includes a memory and one or more processors communicatively coupled to the memory. The one or more processors are configured to: receive an exchange request for performing a value-based exchange using a partner interface, wherein the exchange request indicates a universal unique temporary key (UUEK) including an exchange identifier; identify an exchange data object based at least in part on the exchange identifier, wherein the exchange data object includes a tool identifier of a service provider tool of a member platform; determine one or more valid objects and one or more invalid objects of the exchange request based at least in part on a member policy corresponding to the member platform; provide an exchange authorization request to the member platform using the service provider interface, wherein the exchange authorization request indicates the tool identifier and one or more valid objects of the exchange request; receive an exchange authorization response using the service provider interface, the exchange authorization response indicating at least one of an exchange approval or an exchange rejection; and provide an exchange response based at least in part on the exchange authorization response using the partner interface, wherein the exchange response indicates (i) an exchange approval or an exchange rejection and (ii) one or more invalid objects of the exchange request.
[0012] In some embodiments, one or more non-transitory computer-readable media include instructions that, when executed by one or more processors, cause the one or more processors to: use a partner interface to receive an exchange request to perform a value-based exchange, wherein the exchange request indicates a universally unique ephemeral key (UUEK) including an exchange identifier; identify an exchange data object based at least in part on the exchange identifier, wherein the exchange data object includes a tool identifier of a service provider tool of a member platform; determine one or more valid objects and one or more invalid objects for the exchange request based at least in part on a member policy corresponding to the member platform; use the service provider interface to provide an exchange authorization request to the member platform, wherein the exchange authorization request indicates the tool identifier and one or more valid objects for the exchange request; use the service provider interface to receive an exchange authorization response, the exchange authorization response indicating at least one of an exchange approval or an exchange rejection; and use the partner interface to provide an exchange response based at least in part on the exchange authorization response, wherein the exchange response indicates (i) an exchange approval or an exchange rejection and (ii) one or more invalid objects for the exchange request. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Having therefore generally described the present disclosure, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and in which:
[0014] Figure 1 is an example diagram of a computing ecosystem according to one or more embodiments of the present disclosure;
[0015] Figure 2 is an example schematic diagram of a computing platform according to one or more embodiments of the present disclosure;
[0016] Figure 3 is an exemplary schematic diagram of a client device according to one or more embodiments of the present disclosure;
[0017] Figure 4 is an example block diagram of an example voucherless value exchange system according to one or more embodiments of the present disclosure;
[0018] Figure 5 is an example data graph for facilitating voucherless value exchange according to one or more embodiments of the present disclosure;
[0019] Figure 6 A process flow for facilitating voucherless value exchange according to one or more embodiments of the present disclosure is provided;
[0020] Figure 7 A process flow for determining an object of a value-based exchange according to one or more embodiments of the present disclosure is provided; and
[0021] Figure 8 A messaging flow for verifying a value-based exchange in accordance with one or more embodiments of the present disclosure is provided. DETAILED DESCRIPTION
[0022] Various embodiments of the present disclosure are described more fully below with reference to the accompanying drawings, in which some but not all of the embodiments of the present disclosure are shown. In fact, the present disclosure can be implemented in many different forms and should not be construed as being limited to the embodiments set forth herein; on the contrary, these embodiments are provided in order to make the present disclosure meet applicable legal requirements. Unless otherwise specified, the term "or" is used herein in both alternative and combined meanings. The terms "illustrative" and "example" are used only as examples and do not represent quality levels. Terms such as "calculate", "determine", "generate" and / or similar terms are used interchangeably herein to represent the creation, modification or identification of data. In addition, "based at least in part", "based at least on", "based on" and / or similar words are used interchangeably in an open manner herein, so that they do not necessarily mean that they are based only at least in part on or based only on the referenced elements, unless otherwise specified. The same reference numerals always refer to the same elements.
[0023] I. Overview and Technical Advantages
[0024] Various embodiments of the present disclosure provide technical solutions for managing network-based exchanges. In various embodiments, an exchange platform can be configured to facilitate credential-free value exchanges between one or more member platforms. These exchanges can be facilitated in real time without the need for persistent credentials, which may expose members to financial, legal, reputational or other risks. Therefore, in various embodiments, client devices can buy, sell and / or perform value-based exchanges in real time over any network without exposing sensitive information that is vulnerable to network-based attacks.
[0025] Embodiments of the present disclosure provide improved object-level exchange verification techniques and policy matching techniques utilizing new interfaces and data transformations to increase data security and communication flexibility while reducing computing resource expenditure requirements for protecting sensitive data over network communications.
[0026] For example, some technologies disclosed herein retrieve data objects and convert them into unique data keys that can only be identified by approved entities. Data keys can be provided and / or established by utilizing the exchange interface between the exchange platform and other member platforms in the exchange network. Once the data key is established, it can be mapped to sensitive credentials stored in the source platform (e.g., the service provider platform) without the need for network transmission of the sensitive credentials. Future communications that promote value-based exchanges can replace traditional persistent credentials with data keys, enabling the source platform to identify persistent credentials and / or perform one or more actions on specific tools associated with persistent credentials. In this way, the exchange platform can use keys (and / or other identifiers) that cannot themselves be traced to potential sensitive information to facilitate exchanges. This in turn enables the exchange platform to comprehensively track, promote and distribute network-based communications without exposing members to network attacks.
[0027] Some embodiments of the present disclosure propose network-based exchange processing techniques for facilitating credential-free exchange. To this end, some technologies of the present disclosure utilize a new data structure UUEK, which can replace the persistent credentials traditionally used to authorize value-based exchange. Using the technology of the present disclosure, UUEK can be securely issued across member platforms to allow users to perform value-based exchange using identifiers that can be recognized by a single party (i.e., the exchange platform). UUEK can be mapped to a unique identifier, which can refer to sensitive information without directly identifying (and thereby exposing) sensitive information. For example, the unique identifier can refer to a mapping that can only be interpreted by the source platform, so that malicious parties unrelated to the exchange platform cannot use the identifier. In this way, the exchange platform can allocate, track, and promote exchanges without exposing member platforms to data security risks. In addition, the exchange platform can continuously update, modify, and / or redistribute UUEK to member platforms to continuously adapt UUEK in real time. In this way, the exchange platform can provide technical improvements for data and network security while reducing computing resource requirements (e.g., for securely encrypting persistent credentials) to promote value-based exchanges.
[0028] Some technologies of the present disclosure can utilize the credential-free exchange of the present disclosure to enable the use of flexible exchange interfaces between members of an exchange network. Unlike traditional exchange interfaces, credential-free exchange allows the use of interfaces that can provide contextual information (e.g., object-level details) associated with the requested value-based exchange. By doing so, the intermediary computing platform can receive the information necessary for verifying each object of the value-based exchange for various exchange standards (e.g., member policies). In this way, the intermediary computing platform can register different exchange standards customized for specific members of the exchange network to perform object verification in real time, which is customized for each member of the exchange network. The exchange criteria can be updated in real time (e.g., updated every day, etc.) to continuously improve the verification technology for value-based exchange for the ever-changing environment. Finally, this realizes a network management solution in which a single computing entity (intermediary computing platform) can execute exchange criteria on behalf of multiple members in real time. The network management scheme eliminates the computational inefficiencies and errors associated with maintaining the integrity of exchange criteria across multiple different computing entities. For example, using the technology of the present disclosure, a single update from a member can be applied in real time at the network level to ensure absolute compliance with the ever-changing criteria. By handling exchange authentication, the techniques of the present disclosure reduce the requirements for secondary computing entities in the exchange network, thereby allowing new entrants to support unique projects regardless of the complexity of the computing solution used by the new entrant.
[0029] Example inventive and technical advantage embodiments of the present disclosure include: (i) data conversion, mapping, and processing schemes for facilitating network-based credentialless exchanges, (ii) exchange interfaces and network-based communication schemes for improving network security for cross-platform communications, (iii) temporary data structures and data management techniques for allocating temporary data structures to facilitate real-time, secure, and dynamic value-based exchanges, and (iv) real-time object authentication techniques for authenticating individual objects exchanged.
[0030] II. Example Definition
[0031] In some embodiments, the term "exchange platform" refers to a computing entity configured to facilitate voucherless value exchange for one or more members in an exchange network. The exchange platform may include one or more processing devices, storage devices, etc. that are physically coupled and / or wirelessly coupled and configured to collectively (and / or individually) perform one or more computing tasks for facilitating value system agnostic exchanges. In some examples, the exchange platform may include, define, and / or otherwise utilize one or more APIs to facilitate communications (e.g., requests and responses, etc.) between multiple members. As described herein, an API may be utilized to facilitate secure exchanges between one or more members in any value system.
[0032] In some embodiments, the term "member" refers to an entity that cooperates with an exchange platform to participate in a value exchange. For example, a member may include (i) a partner that receives value using an exchange platform, (ii) a service provider that provides value using an exchange platform, and / or (iii) both a partner and a service provider. As used herein, when a member receives value through a value exchange, the member may be referred to as a partner, and / or when a member provides value through a value exchange, the member may be referred to as a service provider. Therefore, depending on the role of the member in the value exchange, the same member may be a partner or a service provider. For example, a member may be a partner that receives value in a value exchange. The same member may be a service provider that provides value in another value exchange. In some examples, the same member may be both a partner and a service provider in the same value exchange, so that the member provides and receives value in a single member value exchange using an exchange platform.
[0033] In some embodiments, when a member utilizes a service provided by a service provider, the member is a partner. Partners may include any value-seeking entity in any value system. For example, in a financial value system, partners may include merchants (e.g., retailers, physical businesses, etc.), which may utilize service providers (e.g., financial institutions) to obtain funds for financial transactions. Additionally or alternatively, in an information value system, partners may include news publishers (e.g., newspapers, media organizations, etc.), which may utilize service providers (e.g., news agencies (e.g., wire services, news services, etc.)) to obtain information for information transactions. It should be understood that the technology of the present disclosure may be applied to any value system, and partners may include value seekers of any corresponding value system.
[0034] In some embodiments, when a member provides services to a partner, the member is a service provider. A service provider may include a value source in any value system. For example, in a financial value system, a service provider may include a financial institution (e.g., a bank, a currency exchange platform, a credit union, etc.) that can provide access to funds for financial transactions between one or more entities. Additionally or alternatively, in an information value system, a service provider may include a news agency (e.g., a news agency, a news service, etc.) that can provide source information for news publishers to publish. It should be understood that the technology of the present disclosure can be applied to any value system, and a service provider may include any value source for any corresponding value system.
[0035] In some embodiments, the term "service provider tool" refers to a mechanism used by a service provider to provide value on behalf of a particular user. The service provider tool may depend on the value system and / or the service provider. In some examples, the service provider tool may include an account opened at a service provider. For example, in a financial value system, the service provider tool may include a bank account (e.g., checking, savings, etc.), a brokerage account, a line of credit, etc. In an information value system, the service provider tool may include a subscription account, etc. In some examples, the service provider tool may include a virtual tool hosted by a service provider platform.
[0036] In some embodiments, the services provided by the service provider are subject to one or more policies. For example, the service provider may be associated with one or more member policies to verify the use of service provider tools maintained by the service provider.
[0037] For example, a service provider and / or a service provider tool of the service provider may be associated with an entity that manages the use of one or more services provided by the service provider. For example, a service provider may facilitate an electronic benefit transfer (EBT) system that provides financial assistance for authorized food and household items, such as the Supplemental Nutrition Assistance Program (SNAP), Temporary Assistance for Needy Families (TANF), the Special Supplemental Nutrition Program for Women, Infants, and Children (WIC), etc. As another example, a service provider may facilitate a healthcare program on behalf of a healthcare provider that limits benefits based on healthcare eligibility, procedure code, procedure location, etc.
[0038] Additionally or alternatively, the service provider may manage the use of its own services. For example, the service provider may maintain service provider tools for users of the service provider. The service provider may restrict the service provider tools on behalf of the user, on behalf of one or more internal policies, etc. For example, the service provider may include a financial institution that allows one or more users to restrict access to funds provided by the financial institution. In this way, users may provide limited access to the service provider tools by establishing one or more member policies for the service provider tools.
[0039] In some embodiments, the term "member policy" refers to a data entity that defines one or more criteria for validating an object for a value-based exchange. A member policy may correspond to a member and / or a member's service provider tool. For example, a member policy may define one or more criteria for validating an object based at least in part on one or more member-specific criteria. Additionally or alternatively, a member policy may define one or more criteria for validating an object based at least in part on one or more tool-specific criteria. Member-specific criteria may apply to multiple service provider tools associated with a member, and tool-specific criteria may apply to at least one of multiple service provider tools associated with a member.
[0040] The member policy may indicate a plurality of authorized and / or unauthorized policy attributes for value-based exchanges. An authorized policy attribute may indicate one or more objects, object attributes, and / or value exchange attributes that are authorized to use the service provider tool for value-based exchanges according to the member policy. An unauthorized policy attribute may indicate one or more objects, object attributes, and / or value exchange attributes that are restricted from using the service provider tool for value-based exchanges according to the member policy. In some examples, the member policy may define a plurality of authorized policy attributes, and the plurality of unauthorized policy attributes may include a plurality of undefined attributes. In some examples, the member policy may define a plurality of unauthorized policy attributes, and the plurality of authorized policy attributes may include a plurality of undefined attributes.
[0041] In some examples, the policy attributes may include an object identifier, one or more object attributes, and / or one or more value exchange attributes that identify the object and / or one or more quantities of the object that have been authorized / unauthorized.
[0042] For example, a member policy may include multiple object identifiers. Multiple object identifiers may indicate multiple objects that have been authorized / unauthorized to be acquired (e.g., purchased, etc.) and / or returned using a service provider tool. In some examples, the object identifier may be a global object identifier. For example, a global object identifier may be a stockkeeping unit (SKU) code. Additionally or alternatively, a global object identifier may be a manufacturer part number (MPN), a global trade item number (GTIN), a product or service name, an international standard book number (ISBN), a universal product code (UPC), a European Article Number (EAN), an international article number (EIN), etc. In some examples, an object identifier may include a system object identifier. For example, a system object identifier may include an identifier corresponding to a record data object representing an object within an exchange platform (e.g., a table identifier, etc.). In some embodiments, the system object identifier and the global object identifier are the same.
[0043] As another example, the policy attribute may indicate one or more object attributes that indicate authorized / unauthorized objects. One or more object attributes may indicate one or more objects that are authorized and / or unauthorized to be acquired and / or returned using the service provider tool (e.g., having one or more different object identifiers, etc.). For example, the object attributes may indicate classes of objects that are not authorized to be acquired using the service provider tool (e.g., restricted substances, etc.) and / or classes of objects that are authorized to be acquired using the service provider tool (e.g., food items, etc.). Additionally, the object attributes may indicate classes of objects that are not authorized to be returned using the service provider tool (e.g., perishable items, etc.) and / or classes of objects that are authorized to be returned using the service provider tool (e.g., non-perishable items, etc.).
[0044] As yet another example, a policy attribute may include a value exchange attribute corresponding to a particular value-based exchange and / or an object included in the value-based exchange. For example, a value exchange attribute may include a threshold exchange value for a value-based exchange conducted using a service provider tool. Additionally or alternatively, a value exchange attribute may include a threshold object exchange value, a threshold object exchange amount, and the like for an object included in the value-based exchange. The threshold object exchange value may indicate an authorized value for acquiring a particular object using a service provider tool. The threshold object exchange amount may indicate an authorized amount (e.g., weight, number of units, etc.) of a particular object that may be acquired (e.g., purchased, etc.) using a service provider tool.
[0045] In some embodiments, the term "record data object" refers to a data object that represents an object that may be involved in a value-based exchange. In some examples, the record data object may be an internal representation of an object of an exchange platform. For example, an object may include different units of a value-based exchange, where value is being transferred for the different units. A record data object for an object may include a data object that records one or more aspects of the object (e.g., an object identifier, object attributes, etc.).
[0046] For example, a record data object may include an object identifier and / or one or more object attributes of a particular object associated with a value system. An object may be based at least in part on a value system. For example, in a financial value system, an object may be a tangible or intangible item, product, and / or the like that may be purchased with a monetary unit in exchange. In a healthcare value system, an object may be a healthcare procedure and / or the like that may be covered by a healthcare policy.
[0047] In some examples, the exchange platform can maintain and / or access an object data store including a plurality of record data objects. As described herein, the object data store can include a plurality of record data objects that are derived at least in part from one or more members of the exchange network.
[0048] In some embodiments, the term "object attribute" refers to a data entity that describes a characteristic of an object. Object attributes may include object-based attributes and / or exchange-based attributes.
[0049] For example, object-based attributes may include spatial attributes, count attributes, value attributes, source attributes, composition attributes, category attributes, and / or any other attributes that describe the characteristics of an object. For example, a spatial attribute may indicate one or more dimensions of an object (e.g., height, width, weight, etc.), a value attribute may indicate the value of an object (e.g., price, etc.), a composition attribute may indicate one or more raw materials, components, etc. of an object, and a category attribute may indicate one or more categories of an object (e.g., restricted substances, etc.) and / or the like. For example, one or more category attributes may indicate whether an object is associated with (i) one or more general store categories (e.g., vegetables, fruits, dairy, meat, grains, seeds, alcohol, tobacco, in-store consumables, hot foods, pharmacies, pet food, and non-food products), (ii) one or more medical categories (e.g., dental, eye care, general health, etc.), (iii) one or more information categories (e.g., international sources, domestic sources, etc., and / or the like). In some examples, ingredient attributes may indicate one or more components of an object, such as the volume percentage of alcohol in the object, one or more ingredients (e.g., meat, dairy products, peanut products, tree nut products, soy products, etc.).
[0050] In some examples, the object-based attributes may be based at least in part on a value system. For example, at least in a financial-based value system, the object-based attributes may include one or more line item attributes, one or more line item adjustments, etc. Line item attributes may include a sequence, a line item group, a product code, an item name, an item source (e.g., a supplier, a manufacturer, etc.), a description, an amount, a mass (e.g., grams, kilograms, etc.), one or more spatial dimensions (e.g., length, width, height, volume, etc.), a unit amount, a unit tax amount, a line amount (e.g., the amount of the line item), a line tax amount, etc. Line item adjustments may include an adjustment type (e.g., manufacturer discount, store discount, return, pay cash, pay gift card, pay other, etc.), an item, product or service code, an item description, an item amount, a unit item, an item mass (e.g., grams, kilograms, etc.), a unit amount, a unit tax amount, a line amount (e.g., the amount of the line item), a line tax amount, etc.
[0051] In some examples, one or more exchange-based attributes may indicate one or more aggregated exchange characteristics. For example, an exchange-based attribute may include a count attribute that describes the number of value-based exchanges involving a specific object. For example, a count attribute may indicate the number of units of a specific object acquired through multiple value-based exchanges. For example, as described herein, whenever an object is referenced in a value-based exchange, the exchange platform may increase the count attribute of the object. In some examples, whenever an object is authorized to be acquired, the exchange platform may increase the count attribute of the object, and / or whenever an object is authorized to be returned, the exchange platform may reduce the count attribute of the object. In some examples, a record data object may include multiple count attributes, each of which identifies the number of units of an object that has been acquired, the number of units of an object that has been authorized to be acquired, and / or the number of units of an object that has been requested to be acquired.
[0052] In some examples, one or more exchange-based attributes may include exchange-specific characteristics. For example, an exchange-based characteristic may include a source attribute that describes the location (e.g., retailer, physical store, healthcare center, information source, etc.) from which an object was obtained (e.g., purchased, etc.) through a value-based exchange. For example, the location may include a virtual location and / or a physical location. In some examples, the location may depend on the value system. For example, in a financial value system, the source attribute may identify a retailer, a specific physical store of a retailer, an online platform, etc. In a healthcare value system, the source attribute may be a virtual and / or physical medical center, etc. In an information value system, the source attribute may be an information source, etc.
[0053] In some examples, the record data object and / or count attribute may be source specific. For example, a different record data object and / or count attribute may be maintained for each source from which the object may be obtained. Additionally or alternatively, the record data object and / or count attribute may be source independent.
[0054] In some embodiments, the term "valid object" refers to an object that is authorized for value-based exchange according to a member policy. For example, a valid object may correspond to an object identifier and / or one or more object attributes that are authorized by a member policy. For example, in a financial value system, a valid object may be a product or service that is eligible for purchase using a service provider tool. For example, a product may be a gallon of milk, etc., which may be associated with a SKU code and / or one or more object attributes (e.g., "category: dairy", "amount: 1 gallon"). If the member policy corresponding to the service provider tool for value-based exchange authorizes a SKU code and / or one or more object attributes ("category: dairy", "amount: 1 gallon"), etc., then the product may be a valid object for value-based exchange.
[0055] In some embodiments, the term "invalid object" refers to an object that is not authorized for value-based exchange according to a member policy. For example, an invalid object may correspond to an object identifier and / or one or more object attributes that are not authorized by a member policy. For example, in a financial value system, an invalid object may be a product or service that is not eligible for purchase using a service provider tool. For example, a product may be a liter of alcohol, etc., which may be associated with a SKU code and / or one or more object attributes (e.g., "category: restricted substances", "amount: liters"). If the member policy corresponding to the service provider tool for value-based exchange restricts the SKU code and / or one or more object attributes ("category: restricted substances", "amount: 1 liter"), etc., then the product may be an invalid object for value-based exchange.
[0056] In some embodiments, the term "exchange request" refers to a data entity that defines a request to perform a value exchange. The exchange request can be provided to the exchange platform from a member of the exchange network. The exchange request can include one or more request attributes. The one or more request attributes can include one or more object identifiers, object attributes, resolution flags, etc.
[0057] For example, the one or more request attributes may include a plurality of object identifiers corresponding to a plurality of objects associated with the value-based exchange. Additionally or alternatively, the one or more request attributes may include one or more object attributes of the plurality of objects. For example, the one or more object attributes may include one or more object-based attributes (e.g., one or more line item attributes), one or more exchange-based attributes (e.g., an amount of an object, a location of an object, etc.). For example, an exchange request may indicate an exchange location from which to obtain the object.
[0058] In some examples, the request attributes may indicate one or more request resolution flags. The request resolution flag may indicate one or more member requirements (e.g., partner requirements, etc.) that are issuing the request for a value-based exchange. For example, one or more request resolution flags may be set by a member of an exchange network that provides an exchange request to an exchange platform. In some examples, the request resolution flag may indicate a partial exchange authorization or a full exchange authorization. A partial exchange authorization may authorize a partial completion of a value-based exchange, while a full exchange authorization may only authorize the full completion of a value-based exchange. For example, a full exchange authorization may require verification of all objects referenced by a value-based exchange.
[0059] In some embodiments, the term "valid exchange data object" refers to a data object indicating one or more valid objects of a value-based exchange. In some examples, the valid exchange data object may be based at least in part on a comparison between an exchange request and a member policy corresponding to the exchange request. In some examples, the valid exchange data object may include a plurality of object identifiers and / or one or more object attributes of the one or more valid objects of the value-based exchange.
[0060] In some examples, the valid exchange data object may indicate an exchange value. The exchange value may be an aggregate value of each of the valid data objects. In some examples, the exchange value may be modified based on the initial exchange value using some techniques of the present disclosure to adjust the exchange value to meet the valid objects of the value-based exchange.
[0061] In some examples, a valid exchange data object may indicate one or more object states of one or more valid objects.
[0062] In some embodiments, the term "invalid exchange data object" refers to a data object indicating one or more invalid objects of a value-based exchange. In some examples, the invalid exchange data object may be based at least in part on a comparison between an exchange request and a member policy corresponding to the exchange request. For example, the invalid exchange data object may indicate multiple invalid objects of a value-based exchange. Additionally or alternatively, the invalid exchange data object may be based at least in part on an exchange request and a valid exchange data object. For example, the invalid exchange data object may indicate multiple invalid objects of a value-based exchange. For example, the invalid exchange data object may indicate multiple objects of a value-based exchange that are not included in a valid exchange data object.
[0063] The invalid exchange data object may include a plurality of object identifiers and / or one or more object properties of one or more invalid objects of the value-based exchange. In some examples, the invalid exchange data object may indicate one or more object states of the one or more invalid objects.
[0064] In some embodiments, the term "object state" refers to a data entity that indicates an object is determined and / or classified relative to a value-based exchange. For example, the object state of a valid object may include an object qualified state, etc. As another example, the object state of an invalid object may include an object ineligible state, etc. The object state of an object that is not evaluated according to a member policy may include an object unevaluated state. The object state of an object that is not processed according to a member policy may include an object unspecified state.
[0065] In some embodiments, the term "exchange authorization request" refers to a data entity that defines a request to a member to perform a value-based exchange. In some embodiments, the exchange authorization request is provided from an exchange platform to a member of the exchange network. For example, in response to an exchange request from a partner of the exchange network, an exchange authorization request may be provided to a service provider of the exchange network. In some examples, the exchange authorization request may indicate a valid exchange data object for the exchange request. For example, the exchange authorization request may indicate one or more valid data objects, a valid exchange value, one or more object states associated with one or more valid data objects, etc. In some examples, the exchange authorization request may indicate an invalid exchange data object for the exchange request. For example, the exchange authorization request may indicate one or more invalid data objects, one or more object states associated with one or more invalid data objects, etc.
[0066] In some embodiments, the term "exchange authorization response" refers to a data entity that defines a response to an exchange authorization request. In some embodiments, the exchange authorization response is provided to the exchange platform from a member of the exchange network. For example, the exchange authorization response may be provided by a service provider of the exchange network in response to an exchange authorization request indicating one or more valid objects from the exchange request.
[0067] In some embodiments, the exchange authorization response indicates at least one of an exchange approval or an exchange rejection. The exchange authorization response may be based at least in part on a comparison between the exchange value (e.g., the exchange value is modified at least in part based on a valid object, etc.) and the asset availability of the service provider tool. For example, in response to receiving the exchange authorization request, the member may be configured to compare the exchange value with the asset availability of the identified service provider tool. In the event that the asset availability exceeds the exchange value, the value-based exchange may be authorized (e.g., resulting in an exchange approval, etc.), otherwise the value-based exchange may be rejected (e.g., resulting in an exchange rejection).
[0068] In some embodiments, the exchange authorization response indicates one or more contextual response attributes. For example, the one or more contextual response attributes may indicate one or more influencing factors of the exchange authorization response. For example, influencing factors may include bad actor risk and / or fraud check, error, full approval, instrument closed, instrument-based risk and / or fraud check, insufficient value, invalid UUEK, limit exceeded (e.g., exceeded UUEK or instrument usage limit), missing line items (e.g., for a value exchange that does not include a valid object), instrument not found, account not found, personal identification number (PIN) required, partial approval, member unavailable, transaction risk and / or fraud check, unsupported operation, user contact member (e.g., the user may need to contact a member (such as a service provider) to resolve the issue), user risk and / or fraud check, and combinations thereof.
[0069] In some embodiments, the term "exchange response" refers to a data entity that defines a response to an exchange request. In some embodiments, the exchange response is provided from the exchange platform to the member that provided the exchange request. The exchange response may indicate an exchange grant and / or an exchange rejection. Additionally or alternatively, the exchange response may indicate valid data objects, invalid data objects, and / or context response attributes. For example, the exchange response may indicate one or more valid objects and / or one or more invalid objects for the exchange request.
[0070] In some embodiments, the term "exchange record" refers to a data entity that provides context information for an exchange request. The context information may indicate one or more aspects of an exchange request, an exchange response, an exchange authorization request, and / or an exchange authorization request. For example, an exchange record may indicate one or more valid objects, invalid objects, an object status of each valid and / or invalid object, and / or any other information associated with a value-based exchange.
[0071] In some embodiments, the term "member platform" refers to a computing entity corresponding to a member. A member platform may include a partner computing platform representing a partner, a service provider computing platform representing a service provider, and / or a partner computing platform representing a partner and a service provider computing platform representing a service provider. In some examples, a member platform may be both a partner platform and a service provider platform. For example, the same member platform may be configured to operate on behalf of a partner for one value exchange and on behalf of a service provider for another value exchange. In some examples, the same member platform may be configured to represent both a partner and a service provider in a single value exchange. It should be noted that the term member platform may refer to a partner platform, a service provider platform, or both a partner platform and a service provider platform, and in some examples, a member platform may depend on the role of the member platform in the value exchange (e.g., and / or one or more APIs used by the member platform in the value exchange).
[0072] In some embodiments, the partner platform is a computing entity configured to perform one or more operations on behalf of the partner. For example, the partner platform may include one or more processing devices, storage devices, etc., which are physically coupled and / or wirelessly coupled and are configured to jointly (and / or individually) perform one or more computing tasks that request value in an exchange that is independent of the value system. In some examples, the partner platform may include, define and / or otherwise utilize one or more APIs to facilitate communication with the exchange platform (e.g., requests and responses, etc.). In some examples, the partner platform may be configured to host one or more user-oriented applications (e.g., partner applications, etc.) for interacting with one or more users.
[0073] In some embodiments, a service provider platform is a computing entity configured to perform one or more operations on behalf of a service provider. For example, a service provider platform may include one or more processing devices, storage devices, etc., which are physically coupled and / or wirelessly coupled, and are configured to jointly (and / or individually) perform one or more computing tasks that provide value in an exchange that is independent of the value system. In some examples, a service provider platform may include, define, and / or otherwise utilize one or more APIs to facilitate communication with an exchange platform (e.g., requests and responses, etc.). In some examples, a service provider platform may be configured to facilitate one or more service provider tools. In some examples, a service provider platform may be configured to host one or more user-oriented applications (e.g., service provider applications, etc.) for managing one or more service provider tools.
[0074] In some embodiments, the term "exchange interface" refers to a set of instructions for facilitating communication between an exchange platform and one or more member platforms and / or internal services. An exchange interface may include an API, a file-based interface, a message queue-based interface, and the like. For example, an exchange interface may include an API, such as an API including one or more simple object access protocol (SOAP) APIs, one or more remote procedure call (RPC) APIs, one or more websocket APIs, one or more representational state transfer (REST) APIs, and the like. In some embodiments, an exchange interface may include one or more RPC APIs, such as one or more gRPC APIs.
[0075] The exchange platform may include, define and / or otherwise utilize one or more different exchange interfaces to facilitate communication with one or more external platforms (e.g., one or more member platforms, (e.g., partner platforms, service provider platforms, etc.)). Each API may include a plurality of communication instructions, message definitions, etc. for exchanging requests and / or responses between the exchange platform and entities participating in the value exchange. For example, the exchange interface may include a partner API for facilitating communication with a partner platform and / or a service provider API for facilitating communication with a service provider platform.
[0076] In some embodiments, the term "partner interface" refers to an exchange interface for facilitating one or more communications between a partner platform and an exchange platform. The partner interface may define one or more communication instructions, message definitions, etc. for facilitating one or more request messages and / or response messages between the partner platform and the exchange platform. For example, the partner interface may include an API that defines (i) requests from a computing entity serving as a partner platform to an exchange platform and / or (ii) requests from an exchange platform to a partner platform. For example, the partner interface may define one or more registration messages, session messages, transaction messages, etc. for facilitating a value exchange of a partner. In some embodiments, the partner interface defines one or more identifiers for securely identifying one or more parts of a value exchange.
[0077] In some embodiments, the term "service provider interface" refers to an exchange interface for facilitating one or more communications between a service provider platform and an exchange platform. The service provider interface may define one or more communication instructions, message definitions, etc. for facilitating one or more request messages and / or response messages between the service provider platform and the exchange platform. For example, the service provider interface may include an API that defines (i) requests from a computing entity serving as a service provider platform to an exchange platform and / or (ii) requests from an exchange platform to a service provider platform. For example, the service provider interface may define one or more registration messages, session messages, transaction messages, etc. for facilitating value exchange using a service provider tool. In some embodiments, the service provider interface defines one or more identifiers for securely identifying one or more parts of a value exchange.
[0078] In some embodiments, the term "entity partition" refers to a unique identifier for a computing entity. An entity partition may include a unique number, alphanumeric number, etc. representing a specific computing entity. For example, an entity partition may include a member partition representing a member platform, a service provider partition representing a service provider platform, a partner partition representing a partner platform, etc.
[0079] In some embodiments, the term "service provider partition" refers to a unique identifier of a service provider and / or a service provider platform of a service provider. A service provider partition may include a numeric sequence, an alphanumeric sequence, any / or any other sequence of characters or symbols representing a service provider associated with an exchange platform (e.g., joined to an exchange platform, registered to an exchange platform, etc.). For example, an exchange platform may include a plurality of service provider partitions, each of which identifies a service provider platform that is attached to an exchange platform (e.g., joined to an exchange platform, registered to an exchange platform, etc.). Each service provider partition may represent a service provider platform that has been configured with one or more exchange platform software development kits (SDKs), etc., for implementing a service provider interface of the exchange platform.
[0080] In some embodiments, the term "partner partition" refers to a unique identifier of a partner and / or a partner platform of a partner. A partner partition may include a numeric sequence, an alphanumeric sequence, any / or any other sequence of characters or symbols representing a partner associated with an exchange platform. For example, an exchange platform may include multiple partner partitions, each of which identifies a partner platform that is attached to the exchange platform (e.g., has been added to the exchange platform, has been registered with the exchange platform, etc.). Each partner partition may represent a partner platform that has been configured with one or more exchange SDKs, etc., for implementing a partner interface of the exchange platform.
[0081] In some embodiments, the term "user-oriented application" refers to a computer program hosted by a computing entity to facilitate one or more user interactions. User-oriented applications may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for a computing entity (e.g., a member platform). For example, user-oriented applications can facilitate communication between members and users. For example, user-oriented applications can be configured to present one or more user interfaces to interact with users on behalf of members. In some examples, user-oriented applications can be configured to receive user input (e.g., via one or more user interfaces) to receive information from users.
[0082] In some embodiments, the user-facing application is a partner application hosted by a partner platform (e.g., a member platform of a partner serving as a particular exchange, etc.) to facilitate the functionality of the partner. The partner application may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for the partner. For example, the partner application may be configured to present one or more user interfaces for interacting (e.g., browsing, purchasing, commenting, etc.) with one or more products provided by a retail-based partner, one or more information units provided by an information-based partner, etc. In some examples, the partner application may be configured to receive user input (e.g., via one or more user interfaces) to receive information from a user.
[0083] In some embodiments, the user-facing application is a service provider application hosted by a service provider platform (e.g., a member platform of a service provider used as a specific exchange, etc.) to facilitate the functionality of the service provider. The service provider application may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for the service provider. For example, the service provider application may be configured to present one or more user interfaces for interacting with one or more service provider tools provided by the service provider (e.g., comments, management, audits, registrations, etc.). For example, in a financial value system, the service provider application may enable access to bank accounts, brokerage accounts, credit lines, etc. to manage funds, assets, etc. handled by the corresponding accounts. In some examples, the service provider application may be configured to receive user input (e.g., via one or more user interfaces) to receive information, authorization, etc. from the user.
[0084] In some embodiments, the term "tool data object" refers to a data entity representing a service provider tool. A tool data object may include one or more tool identifiers and / or one or more tool attributes. In some examples, one or more tool identifiers and / or one or more tool attributes may be based at least in part on the type of the tool data object. For example, a service provider tool may be represented as a member tool data object in a member platform. Additionally or alternatively, a service provider tool may be independently represented by a system tool data object in an exchange platform. In some examples, a member tool data object and a system tool data object may include one or more of the same one or more tool identifiers and / or one or more tool attributes. For example, a member platform may register multiple service provider tools in an exchange platform. During the registration process, the member platform may provide one or more of a tool identifier and / or a tool attribute, and in some examples, the exchange platform may return another identifier.
[0085] In some embodiments, the member tool data object is an internal representation of a service provider tool within a member platform. The member tool data object may include one or more tool identifiers (e.g., member tool identifiers), tool keys from an exchange platform, and / or user identifiers. For example, a user identifier may include a member user identifier. Additionally or alternatively, the member tool data object may include one or more tool attributes such as tool types (e.g., credit-based tools, debit-based tools, information-based tools, etc.), tool representations, and / or one or more context attributes. In some examples, context attributes may depend on a value system. For example, in a financial value system, one or more context attributes may indicate (i) a currency associated with a service provider tool, (ii) asset availability of a service provider tool (e.g., balance, coverage, etc.), (iii) one or more previous transactions using a service provider tool, etc.
[0086] In some embodiments, the system tool data object is an external representation of a service provider tool within an exchange platform. The system tool data object may include one or more tool identifiers such as a tool reference for a member platform, a system tool identifier, and / or a user identifier. For example, a user identifier may include a system user identifier. Additionally or alternatively, the system tool data object may include one or more tool attributes such as a tool type (e.g., a credit-based tool, a debit-based tool, an information-based tool, etc.), a tool representation, and / or one or more context attributes. In some examples, the context attributes may depend on the value system. For example, in a financial value system, one or more context attributes may indicate a currency associated with a service provider tool.
[0087] In some embodiments, the term "tool identifier" refers to any representation of a service provider tool. A tool identifier may include a tool identifier, a tool reference, a tool key, etc. as described herein.
[0088] In some embodiments, the term "member tool identifier" refers to a unique identifier used to represent a service provider tool within a member platform. For example, the member tool identifier may include a numeric sequence, an alphanumeric sequence, any / or any other sequence of characters or symbols that represent a service provider tool to the service provider platform.
[0089] In some embodiments, the term "tool reference" refers to a unique identifier used to reference a member tool identifier. For example, a tool reference may be generated by a member platform and / or provided by a member platform to an exchange platform to allow the exchange platform to reference a tool maintained at the member platform. In some examples, the tool reference is the same value as the member tool identifier. In some examples, the tool reference is a different value that maps to a member tool identifier.
[0090] In some embodiments, the term "system tool identifier" refers to a unique identifier used to represent a service provider tool within an exchange platform. For example, the system tool identifier may include a numeric sequence, an alphanumeric sequence, any / or any other sequence of characters or symbols that represents a service provider tool to the exchange platform. In some examples, the system tool identifier may include a UUID.
[0091] In some embodiments, the term "tool key" refers to a unique identifier for referencing a system tool identifier. For example, a tool key may be generated and / or provided by an exchange platform during the process of registering a tool with the exchange platform. In some examples, the tool key may include an encapsulated system tool identifier. For example, the tool key may include an alphanumeric string formatted according to a key format established by the exchange platform (and / or one or more of its APIs). The key format may include any number of characters, such as fifty characters or more. In some examples, the characters may be case sensitive. The first portion of the characters (e.g., the first six characters) may be reserved as a partition for identifying an entity associated with the key. For a tool key, a partition may include a service provider partition. The second portion of the characters may identify a system tool identifier. The key format described herein may include one or more different parts, each of which may be arranged in any order.
[0092] In some embodiments, the term "tool representation" refers to a unique identifier used to represent a service provider tool to a user. For example, a tool representation may include a sequence of numbers, an alphanumeric sequence, any / or any other sequence of characters or symbols that visually represent a service provider tool. The format and / or value of the tool representation may be based at least in part on the type of service provider and / or service provider tool. For example, in a financial value system, a tool reference may include a portion of a persistent credential (e.g., the last four digits, etc.), such as an account number (e.g., a debit account, a credit account, etc.), a financial account name, etc. As another example, in an information value system, a tool reference may include a portion of a persistent credential (e.g., one or more numbers, alphanumeric characters, etc.), such as a subscription account, etc. For example, a tool representation may include a derivative of a persistent credential that only allows entities with prior knowledge of the persistent credential to use the tool representation to identify the persistent credential. As another example, a tool representation may include a tool alias that is specified by a user and subsequently recognized by the user.
[0093] In some embodiments, the term "user data object" refers to a data entity representing a user interacting with a member platform and / or an exchange platform. For example, a user may include an entity (e.g., an individual, organization, group, etc.) that participates in a value exchange managed by an exchange platform. In some examples, a user may indirectly collaborate with an exchange platform by creating a user account with a registered service provider, registering (and / or allowing registration) for a service provider tool, etc. In some examples, an exchange platform may operate on behalf of a user without the user having to directly contact the exchange platform. For example, an exchange platform may serve as a hidden intermediary between a user-oriented application and a user's service provider tool.
[0094] In some embodiments, the user data object includes one or more user identifiers and / or one or more user attributes. In some examples, the one or more user identifiers and / or one or more user attributes may be based at least in part on the type of the user data object. For example, a user may be represented as a member user data object in a member platform. Additionally or alternatively, a user may be independently represented by a system user data object in an exchange platform. In some examples, a member user data object and a system user data object may include one or more of the same one or more user identifiers and / or user attributes. For example, a member platform may register multiple users with an exchange platform. During the registration process, the member platform may provide one or more of a user identifier and / or user attributes, and in some examples, the exchange platform may return another identifier.
[0095] In some embodiments, the member user data object is an internal representation of a user within the member platform. The member user data object may include one or more user identifiers, such as a member user identifier, a user key from an exchange platform, etc. Additionally or alternatively, the member user data object may include one or more user attributes. One or more user attributes may indicate one or more contextual features of a user. In some examples, a user attribute may indicate one or more identifiable features of a user. For example, a user attribute may indicate a user's first name, last name, mailbox, physical address (e.g., one or more of a street, location, region, zip code, country, etc.), birthday (e.g., date of birth, age group, etc.), phone number, etc. In some examples, a user attribute may include an encrypted representation, a hash representation, and / or a representation that is otherwise securely protected of a user's identifiable features. For example, a user attribute may include one or more hash identifiers of a user, etc.
[0096] In some embodiments, the system user data object is an external representation of a user of a member within the exchange platform. The system user data object may include one or more user identifiers, such as a user reference for the member platform, a system user identifier, etc. Additionally or alternatively, the system user data object may include one or more user attributes, such as those described herein. For example, a member platform may register a user with the exchange platform. During the registration process, the member platform may provide a user reference for the user and / or one or more user attributes. In some examples, the user attributes may include a hashed identifier and / or an encrypted identifier for the user.
[0097] In some embodiments, the term "user identifier" refers to a unique identifier for a user involved in a value-based exchange. A user identifier may include a numeric sequence, an alphanumeric sequence, any / or any other sequence of characters or symbols representing a user of an exchange platform and / or a member platform. In some examples, a user identifier may include a user reference, a user key, a system user identifier, a member user identifier, etc.
[0098] In some embodiments, the term "system user identifier" refers to a unique identifier used to represent a user within an exchange platform. For example, a system user identifier may include a numeric sequence, an alphanumeric sequence, any / or any other sequence of characters or symbols that represent a user to the exchange platform. In some examples, a system user identifier may include a UUID that is specific to a particular user.
[0099] In some embodiments, the term "member user identifier" refers to a unique identifier used to represent a user within a member platform. For example, a member user identifier may include a numeric sequence, an alphanumeric sequence, any / or any other sequence of characters or symbols that represent a user to the service provider platform.
[0100] In some embodiments, the term "user reference" refers to a unique identifier used to reference a member user identifier. For example, a user reference may be generated by a member platform and / or provided by a member platform to an exchange platform to allow the exchange platform to reference a user associated with the member platform. In some examples, the user reference is the same value as the member user identifier. In some examples, the user reference is a different value mapped to a member user identifier.
[0101] In some embodiments, the term "user key" refers to a unique identifier used to reference a system user identifier. For example, a user key may be generated and / or provided by an exchange platform during the process of registering a user with the exchange platform. In some examples, the user key may include an encapsulated system user identifier. For example, the user key may include an alphanumeric string formatted according to a key format established by the exchange platform (and / or one or more of its APIs). For example, the key format may include a first portion of characters (e.g., the first six characters), which may be reserved as a partition for identifying an entity (e.g., a member, etc.) associated with the key. For example, for a user key, a partition may include a service provider partition and / or a partner partition. The second portion of the characters may identify the system user identifier.
[0102] In some embodiments, the term "exchange data object" refers to a data entity representing an authorized value exchange between one or more members associated with an exchange platform. In some examples, an exchange data object may include one or more identifiers and / or one or more exchange attributes. For example, one or more identifiers and / or one or more exchange attributes may be based at least in part on the type of the exchange data object. For example, an exchange may be represented as a member exchange data object in a member platform. Additionally or alternatively, an exchange may be independently represented by a system exchange data object in an exchange platform. In some examples, a member exchange data object and a system exchange data object may include one or more of the same one or more identifiers and / or exchange attributes. For example, using some techniques of the present disclosure, an exchange platform may issue one or more unique identifiers to a member platform, which may be used to authorize a value exchange.
[0103] In some embodiments, the system exchange data object is an internal representation of a value exchange using the exchange platform as a medium. In some examples, the system exchange data object may include one or more different identifiers and / or exchange attributes depending on the role of the system exchange data object in the value-based exchange.
[0104] For example, the system exchange data object may include a service provider-specific exchange data object corresponding to the service provider platform. The service provider-specific exchange data object may include one or more identifiers, such as an exchange identifier, a system user identifier, a system tool identifier, a UUEK, etc. Additionally or alternatively, the service provider-specific exchange data object may include one or more exchange attributes, such as an expiration date, a currency (e.g., a currency for a financial value system, etc.), etc.
[0105] Additionally or alternatively, the system exchange data object may include a partner-specific exchange data object corresponding to the partner platform. The partner-specific exchange data object may include one or more identifiers, such as an exchange identifier, a tool key, a UUEK, a member tool reference (e.g., a partner-specific tool reference, etc.), etc. Additionally or alternatively, the partner-specific exchange data object may include one or more exchange attributes, such as an expiration date, a currency (e.g., a currency used in a financial value system, etc.), a tool type, a previous UUEK identifier, etc. In some embodiments, a member exchange data object is an external representation of a value exchange using an exchange platform as an intermediary. The member exchange data object may include one or more identifiers, such as a member exchange identifier, a member tool identifier, a UUEK from an exchange platform, etc.
[0106] In some embodiments, the term "exchange identifier" refers to a unique identifier for a value exchange using an exchange platform. The exchange identifier may include a sequence of numbers, a sequence of letters-numbers, any / or any other sequence of characters or symbols that at least represent a user and / or service provider tool. In some examples, the unique exchange identifier may include a universal unique identifier (UUID), which may be mapped (e.g., through a series of identifiers, etc.) to a user, a service provider tool, and / or a member registered with the exchange platform. In some examples, the exchange identifier may be randomly generated using one or more UUID generators. For example, the exchange identifier may include random sixteen bytes of information generated according to one or more UUID formatting standards (e.g., UUID v4, etc.). Therefore, although the exchange identifier may be used by the exchange platform and / or member platform for one or more functions, the same exchange identifier will be useless to an external party if there is no prior association between the exchange identifier and one or more other identifiers. In some examples, the exchange identifier may be represented externally by a UUEK.
[0107] In some embodiments, a "universally unique temporary key" or "UUEK" refers to an external representation of an exchange identifier that can be published (e.g., in place of a service provider exchange identifier and / or a partner exchange identifier) to an external entity (e.g., a user, a partner, and / or a service provider) to initiate a transaction using an exchange platform. To this end, a UUEK can be generated by the exchange platform and published to an external entity. Each UUEK can include multiple values (e.g., up to fifty and / or more case-sensitive characters) representing one or more aspects of a transaction. For example, multiple values can indicate an exchange identifier, a partition (e.g., identifying a recipient of the UUEK, etc.), an identifier type, and / or one or more flags. For example, a UUEK can include a partner-specific UUEK and / or a service provider-specific UUEK. A partner-specific UUEK can be associated with a partner-specific exchange data object, and a service provider-specific UUEK can be associated with a service provider-specific exchange data object, as described herein.
[0108] For example, a UUEK may be generated according to a key format. The key format may include a plurality of characters, including, for example, fifty or more characters that may be case-sensitive. A first portion of the characters (e.g., the first six characters) may be reserved as a partition for identifying a recipient of the UUEK. For example, a partition may include a partner partition, a service provider partition, and / or any other member partition. For example, a UUEK may be issued in response to a request from an authorized member (e.g., an affiliated partner and / or a service provider).
[0109] Additionally or alternatively, at least one character of the key format (e.g., the seventh character) may identify the format of the UUEK. At least one additional character (e.g., the eighth character) may identify the type of the UUEK. In some examples, a second portion of characters may identify an exchange identifier (e.g., a group of twenty-two characters after the eighth character). A third portion of characters may be reserved (e.g., a group of twenty characters after the first portion of characters). An example representation is given below:
[0110] ppppppF1GGGGGGGGGGGGGGGGGGGGGrrrrrrwhere p represents a partition character, F represents a format character, i represents an identifier type character, G represents an exchange identifier, and r represents a reserved character. The key format allows 9.8×1084 unique permutations, which is more than the number of atoms in the known observable universe. This enables new UUEKs to be generated and distributed on demand without compromising the security of the underlying data (e.g., an identifier of a user, an identifier of a tool, and / or any other potentially sensitive information) to which the UUEK may be mapped. The key format described herein may include one or more different parts, each of which may be arranged in any order.
[0111] In some embodiments, the term "session identifier" refers to a unique identifier used to identify a series of related message exchanges between an exchange platform and an external platform.
[0112] In some embodiments, the term "matching code" refers to a session-unique identifier used to authorize a registration session between one or more entities. For example, a matching code may include a numeric, alphanumeric, and / or similar character sequence, etc., that can be provided to multiple entities to ensure that each of the entities is included in the same communication sequence. For example, a matching code may include an eight-bit character sequence that can be generated by an exchange platform, provided to a service provider platform, and then received from a partner platform to ensure that the exchange platform, the service provider platform, and the partner platform are all interacting with the same end user (e.g., by comparing the received matching code to the generated matching code as described herein). III. Computer Program Products, Methods, and Computing Entities
[0113] The embodiments in the present disclosure may be implemented in various ways, including being implemented as a computer program product including an article of manufacture. Such a computer program product may include one or more software components, including, for example, software objects, methods, data structures, etc. The software components may be encoded in any of a variety of programming languages. An illustrative programming language may be a low-level procedural programming language, such as an assembly language associated with a specific hardware architecture and / or operating system platform. A software component containing assembly language instructions may require conversion into executable machine code by an assembler before being executed by the hardware architecture and / or platform. Another example programming language may be a high-level programming language that can be ported across multiple architectures. A software component containing high-level programming language instructions may require conversion into an intermediate representation by an interpreter or compiler before execution.
[0114] Other examples of programming languages include, but are not limited to, macro languages, shell or command languages, job control languages, scripting languages, database query or search languages, and / or report writing languages. In one or more example embodiments, a software component containing instructions in one of the aforementioned programming language examples can be executed directly by an operating system or other software component without first being converted to another form. Software components can be stored as files or other data storage structures. Software components of similar type or functionally related can be stored together, for example, in a specific directory, folder, or library. Software components can be static (e.g., pre-established or fixed) or dynamic (e.g., created or modified at execution time).
[0115] A computer program product may include a non-transitory computer-readable storage medium storing an application, program, program module, script, source code, program code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, etc. (also referred to herein as executable instructions, instructions for execution, computer program product, program code, and / or similar terms used interchangeably herein). Such non-transitory computer-readable storage media include all computer-readable media (including volatile and non-volatile media).
[0116] In one embodiment, the non-volatile computer-readable storage medium may include a floppy disk, a floppy disk, a hard disk, a solid-state storage (SSS) (e.g., a solid-state drive (SSD), a solid-state card (SSC), a solid-state module (SSM)), an enterprise flash drive, a magnetic tape, or any other non-transitory magnetic medium, etc. The non-volatile computer-readable storage medium may also include a punch card, a paper tape, an optical marker sheet (or any other physical medium having a hole pattern or other optically recognizable mark), a compact disc-read only memory (CD-ROM), a compact disc-rewritable (CD-RW), a digital versatile disc (DVD), a Blu-ray disc (BD), any other non-transitory optical medium, etc. Such non-volatile computer-readable storage medium may also include a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory (e.g., serial, NAND, NOR, etc.), a multimedia memory card (MMC), a secure digital (SD) memory card, a smart media (SmartMedia) card, a compact flash (CompactFlash, CF) card, a memory stick, etc. In addition, the non-volatile computer-readable storage medium may also include conductive bridging random access memory (CBRAM), phase change random access memory (PRAM), ferroelectric random access memory (FeRAM), non-volatile random access memory (NVRAM), magnetoresistive random access memory (MRAM), resistive random access memory (RRAM), Silicon-Oxide-Nitride-Oxide-Silicon (SONOS), floating junction gate random access memory (FJG RAM), millipede memory, racetrack memory, etc.
[0117] In one embodiment, the volatile computer-readable storage medium may include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), fast page mode dynamic random access memory (FPM DRAM), extended data output dynamic random access memory (EDO DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), double data rate dual synchronous dynamic random access memory (DDR2 SDRAM), double data rate triple synchronous dynamic random access memory (DDR3 SDRAM), Rambus dynamic random access memory (RDRAM), two-transistor RAM (TTRAM), thyristor RAM (T-RAM), zero capacitor (Z-RAM), Rambus in-line memory module (RIMM), dual in-line memory module (DIMM), single in-line memory module (SIMM), video random access memory (VRAM), cache memory (including various levels), flash memory, register memory, etc. It should be noted that when embodiments are described as using computer-readable storage media, other types of computer-readable storage media may be used in place of or in addition to the computer-readable storage media described above.
[0118] It should be noted that various embodiments of the present disclosure may also be implemented as methods, apparatuses, systems, computing devices, computing entities, etc. Therefore, embodiments of the present disclosure may take the form of data structures, apparatuses, systems, computing devices, computing entities, etc. to execute instructions stored on a computer-readable storage medium to perform certain steps or operations. Therefore, embodiments of the present disclosure may also take the form of a complete hardware embodiment, a complete computer program product embodiment, and / or a combination of a computer program product and hardware to perform certain steps or operations.
[0119] Embodiments of the present disclosure are described below with reference to block diagrams, flow charts, message passing processes, and other representations of data, operations, and message passing schemes. It should be understood that each block of modules, arrows, etc. in schematic diagrams, flow charts, etc. can be implemented in the form of a computer program product, a complete hardware embodiment, a combination of hardware and computer program products, and / or an instruction, operation, step, and similar words (e.g., executable instructions, instructions for execution, program codes, etc.) executed on a computer-readable storage medium, a system, a computing device, a computing entity, etc. For example, the retrieval, loading, and execution of the code can be performed in sequence so that only one instruction is retrieved, loaded, and executed each time. In some example embodiments, retrieval, loading, and / or execution can be performed in parallel so that multiple instructions are retrieved, loaded, and / or executed together. Therefore, such an embodiment can produce a machine that performs a specific configuration of the steps or operations specified in the representation of the present disclosure. Accordingly, the representation of the present disclosure supports various combinations of embodiments for executing specified instructions, operations, or steps.
[0120] IV. Example System Architecture
[0121] Figure 1 A schematic diagram of a computing ecosystem 100 that can be used in conjunction with various embodiments of the present disclosure is provided. Figure 1 As shown, the architecture may include an exchange platform 102, one or more client devices 104, a member platform network 110, one or more networks 120, etc. The member platform network 110 may include a first member platform 112a, a second member platform 112b, a third member platform 112c, etc., which are attached to the exchange platform 102 (e.g., registered on the exchange platform, etc.). For example, as described herein, the member platform network 110 may include a partner platform and / or a service provider platform. In some examples, the partner platform may include a first member platform 112a, and the service provider platform may include a second member platform 112b that is different from the first member platform 112a. In some examples, the partner platform and / or the service provider platform may include a single member platform (e.g., a third member platform 112c). In some examples, the member platform network 110 may be configured for one or more different services.
[0122] Each component of computing ecosystem 100 can electronically communicate with, for example, another component via the same or different wireless or wired networks 120 (including, for example, wired or wireless personal area networks (PANs), local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), etc.). For example, network 120 can include any network connection, including any type of network and / or across any geographic boundaries (e.g., connections between countries involving one or more sovereign entities, etc.). In addition, although Figure 1Certain systems are shown as separate, independent entities, but the various embodiments are not limited to this particular architecture.
[0123] Although not explicitly illustrated, exchange platform 102 can be part of client device 104 and / or member platform network 110. Additionally or alternatively, member platforms 112a-c can be part of client device 104 and / or exchange platform 102. In some embodiments, each of exchange platform 102 and / or member platforms 112a-c can include the same computing platform.
[0124] a. Example computing platform
[0125] Figure 2 2 is an example schematic diagram of a computing platform 200 according to one or more embodiments of the present disclosure. The computing platform 200 (eg, the exchange platform 102, the member platforms 112a-112c and / or Figure 1 ) may include or be in communication with one or more processing elements 202 (also referred to as processors, processing circuits, and / or similar terms used interchangeably herein) that communicate with other elements within computing platform 200, for example, via a bus. It will be appreciated that processing element 202 may be implemented in many different ways.
[0126] For example, processing element 202 can be implemented as one or more complex programmable logic devices (CPLDs), microprocessors, multi-core processors, co-processing entities, application specific instruction set processors (ASIPs), microcontrollers, and / or controllers. In addition, processing element 202 can be implemented as one or more other processing devices or circuits. The term circuit can refer to a complete hardware embodiment or a combination of hardware and computer program products. Therefore, processing element 202 can be implemented as an integrated circuit, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic array (PLA), a hardware accelerator, other circuits, etc.
[0127] It will therefore be appreciated that processing element 202 may be configured for a particular purpose, or may be configured to execute instructions stored in a volatile medium or a non-volatile medium or otherwise accessible to processing element 202. Therefore, whether configured by hardware or a computer program product, or by a combination thereof, when processing element 202 is configured accordingly, processing element 202 is capable of performing steps or operations according to embodiments of the present disclosure.
[0128] In some embodiments, computing platform 200 includes or communicates with non-volatile memory 204 (also referred to as non-volatile storage devices, media, memory, memory circuits, and / or similar terms used interchangeably herein). In some examples, non-volatile memory 204 may include one or more non-volatile storage devices or storage media, including, but not limited to, hard disks, ROM, PROM, EPROM, EEPROM, flash memory, MMC, SD memory cards, memory sticks, CBRAM, PRAM, FeRAM, NVRAM, MRAM, RRAM, SONOS, FJG RAM, Millipede memory, racetrack memory, and the like.
[0129] It will be appreciated that the non-volatile storage 204 is capable of storing data, databases, database instances, database management systems, files, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, etc. The terms database, database instance, database management system, and / or similar terms used interchangeably herein may refer to a collection of records or data stored in a computer-readable storage medium using one or more database models (e.g., hierarchical database model, network model, relational model, entity-relationship model, object model, document model, semantic model, graph model, etc.).
[0130] In some embodiments, computing platform 200 includes or is in communication with volatile memory 206 (also referred to as volatile storage devices, media, memory, memory circuits, and / or similar terms used interchangeably herein). In some examples, volatile memory 206 may also include one or more volatile storage devices or storage media, including, but not limited to, RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, TTRAM, T-RAM, Z-RAM, RIMM, DIMM, SIMM, VRAM, cache, register memory, and the like.
[0131] It will be appreciated that volatile storage 206 may be used to store databases, database instances, database management systems, data, applications, programs, program modules, scripts, source code, object code, byte codes, compiled code, interpreted code, machine code, executable instructions, etc. being executed by, for example, processing element 202. Thus, databases, database instances, database management systems, data, applications, programs, program modules, scripts, source code, object code, byte codes, compiled code, interpreted code, machine code, executable instructions, etc. may be used to control the steps / operations of certain aspects of computing platform 200 with the assistance of processing element 202 and an operating system.
[0132] As shown, in one embodiment, the computing platform 200 may also include one or more network interfaces 208 for communicating with various computing entities (e.g., Figure 1 The communication may be performed using a wired data transmission protocol, such as Fiber Distributed Data Interface (FDDI), Digital Subscriber Line (DSL), Ethernet, Asynchronous Transfer Mode (ATM), Frame Relay, Data Over Cable Service Interface Specification (DOCSIS), or any other wired transmission protocol. Similarly, the computing platform 200 can be configured to communicate via a wireless external communication network using any of a variety of protocols, such as General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), CDMA2000 1X (1xRTT), Wideband Code Division Multiple Access (WCDMA), Global System for Mobile Communications (GSM), Enhanced Data Rates for GSM Evolution (EDGE), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), Evolved Universal Terrestrial Radio Access Network (E-UTRAN), Evolution Data Optimized (EVDO), High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), IEEE 802.11 (Wi-Fi), Wi-Fi Direct, 802.16 (WiMAX), Ultra-Wideband (UWB), Infrared (IR) protocol, Near Field Communication (NFC) protocol, Wibree, Bluetooth protocol, wireless Universal Serial Bus (USB) protocol and / or any other wireless protocol.
[0133] Although not shown, the computing platform 200 may include or be in communication with one or more input elements, such as keyboard input, mouse input, touch screen / display input, motion input, movement input, audio input, pointing device input, joystick input, keypad input, etc. The computing platform 200 may also include or be in communication with one or more output elements (not shown), such as audio output, video output, screen / display output, motion output, movement output, etc.
[0134] As shown, computing platform 200 may be Figure 1 An example of one or more of the components in, such as the exchange platform 102 and / or the member platforms 112a-c.
[0135] b. Example Client Device
[0136] Figure 3 1 is an example schematic diagram of a client device 104 according to one or more embodiments of the present disclosure. The client device 104 may be operated by various entities, and the example computing ecosystem may include one or more client devices 104. For example, the client device 104 may be associated with, owned by, operated by, etc., one or more end users. In various embodiments, the end user of the client device 104 may wish to participate in a value exchange between a partner and a service provider. As described herein, the user may participate in a value exchange between a partner and a service provider by interacting with the client device 104 using one or more functions provided by the exchange platform through user input.
[0137] For example, the client device 104 may be a personal computing device, a smartphone, a tablet computer, a laptop computer, a personal digital assistant, etc. In various embodiments, the computing platform 200 may communicate with one or more client devices 104 and manage value exchanges for one or more client devices 104. Figure 3 As shown, the client device 104 may include an antenna 312, a transmitter 304 (e.g., a radio transmitter), a receiver 306 (e.g., a radio receiver), and a processing element 308 (e.g., a CPLD, a microprocessor, a multi-core processor, a co-processing entity, an ASIP, a microcontroller, and / or a controller) that provides signals to the transmitter 304 and the receiver 306 and receives signals from the transmitter 304 and the receiver 306, respectively.
[0138] The signals provided to and received from the transmitter 304 and the receiver 306, respectively, may include signaling information / data in accordance with the air interface standard of the applicable wireless system. In this regard, the client device 104 may be capable of operating using one or more air interface standards, communication protocols, modulation types, and access types. More specifically, the client device 104 may operate in accordance with any of a variety of wireless communication standards and protocols (e.g., those described above with respect to the computing platform 200). In a particular embodiment, the client device 104 may operate in accordance with a plurality of wireless communication standards and protocols, such as UMTS, CDMA2000, 1xRTT, WCDMA, GSM, EDGE, TD-SCDMA, LTE, E-UTRAN, EVDO, HSPA, HSDPA, Wi-Fi, Wi-Fi Direct, WiMAX, UWB, IR, NFC, Bluetooth, USB, etc. Similarly, the client device 104 may operate in accordance with a variety of wired communication standards and protocols (e.g., those described above with respect to the computing platform 200) via the network interface 320.
[0139] Via these communication standards and protocols, the client device 104 may communicate with the computing platform 200 using concepts such as Unstructured Supplementary Service Data (USSD), Short Message Service (SMS), Multimedia Message Service (MMS), Dual Tone Multi-Frequency Signaling (DTMF), and / or Subscriber Identity Module Dialer (SIM Dialer), etc. For example, the client device 104 may also be able to download changes, add-ons, and updates to firmware, software (e.g., including executable instructions, applications, program modules), and operating systems.
[0140] In some embodiments, the client device 104 includes location determination aspects, devices, modules, functions, and / or similar terms used interchangeably herein. For example, the client device 104 may include outdoor positioning aspects, such as a positioning module suitable for obtaining, for example, latitude, longitude, altitude, geocoding, route, direction, heading, speed, universal time (UTC), date, and / or various other information / data. In one embodiment, the location module can obtain data, which is sometimes referred to as ephemeris data, by identifying the number of satellites in view and the relative positions of these satellites (e.g., using a global positioning system (GPS)). These satellites can be a variety of different satellites, including low earth orbit (LEO) satellite systems, Department of Defense (DOD) satellite systems, the European Union Galileo positioning system, China's Beidou navigation system, India's regional navigation satellite system, etc. Various coordinate systems can be used to collect this data, such as decimal degrees (DD); degrees, minutes, seconds (DMS); universal transverse Mercator (UTM); universal polar spherical (UPS) coordinate system, etc. Alternatively, location information / data may be determined by triangulating the location of the client device 104 in conjunction with various other systems, including cellular towers, Wi-Fi access points, and the like. Similarly, the client device 104 may include indoor positioning aspects, such as a positioning module adapted to obtain, for example, latitude, longitude, altitude, geocoding, route, direction, heading, speed, time, date, and / or various other information / data. Some indoor systems may use various location or positioning technologies, including RFID tags, indoor beacons or transmitters, Wi-Fi access points, cellular towers, nearby computing devices (e.g., smartphones, laptops), and the like. For example, these technologies may include iBeacons, Gimbal proximity beacons, Bluetooth Low Energy (BLE) transmitters, NFC transmitters, and the like. These indoor positioning aspects may be used in a variety of settings to determine the location of someone or something to within inches or centimeters.
[0141] In some embodiments, the client device 104 may include a user interface 316 (e.g., a display screen coupled to the processing element 308, a speaker, a tactile mechanism, etc.) and / or a user input interface 318 (e.g., a touch screen, a microphone, etc. coupled to the processing element 308). For example, the user interface 316 may be one or more application screens presented by one or more computing platforms described herein. The user input interface 318 may include any one of a plurality of devices or interfaces that allow the client device 104 to receive data, such as a keyboard (hard keyboard or soft keyboard), a touch display, a voice / speech or motion interface, or other input device. In an example including a keyboard, the keyboard may include (or cause to be displayed) conventional numbers (0-9) and related keys (#, *) and other keys for operating the client device 104, and may include a full set of alphanumeric keys or a set of keys that may be activated to provide a full set of alphanumeric keys. In addition to providing input, the user input interface may also be used, for example, to activate or deactivate certain functions (e.g., screen saver and / or sleep mode).
[0142] The client device 104 may also include volatile memory 322 and / or non-volatile memory 324, which may be embedded and / or may be removable. For example, the non-volatile memory 324 may be ROM, PROM, EPROM, EEPROM, flash memory, MMC, SD memory card, memory stick, CBRAM, PRAM, FeRAM, NVRAM, MRAM, RRAM, SONOS, FJGRAM, Millipede memory, racetrack memory, etc. The volatile memory 322 may be RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, TTRAM, T-RAM, Z-RAM, RIMM, DIMM, SIMM, VRAM, cache, register memory, etc. Volatile and non-volatile storage devices or memories may store databases, database instances, database management systems, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, and / or executable instructions, etc. to implement the functionality of the client device 104. As indicated, this may include partner applications, service provider applications, etc., which reside on the client device 104 and / or may be accessed via a browser or other user interface for communicating with the computing platform 200.
[0143] In some embodiments, client device 104 may include one or more components or functionality that are the same or similar to components or functionality of computing platform 200 as described in more detail above. It will be appreciated that these architectures and descriptions are provided for example purposes only and are not limiting of the various embodiments.
[0144] In various embodiments, the client device 104 may be implemented as an artificial intelligence (AI) computing entity, such as Amazon Echo, Amazon Echo Dot, Amazon Show, Google Home, etc. Accordingly, the client device 104 may be configured to provide and / or receive information / data to and from an end user via an input / output mechanism (e.g., a display, a camera, a speaker, a voice-activated input, etc.). In certain embodiments, the AI computing entity may include one or more predefined and executable program algorithms stored in an onboard memory storage module and / or accessible via a network. In various embodiments, the AI computing entity may be configured to retrieve and / or execute one or more predefined program algorithms when a predefined trigger event occurs.
[0145] c. Example Network
[0146] In some embodiments, Figure 1 Any two or more of the illustrative components of computing ecosystem 100 may be configured to communicate with each other via respective communication couplings to one or more networks 120. Networks 120 may include, but are not limited to, any one or combination of different types of suitable communication networks, such as, for example, a wired network, a public network (e.g., the Internet), a private network (e.g., a frame relay network), a wireless network, a cellular network, a telephone network (e.g., a public switched telephone network), or any other suitable private and / or public network. In addition, network 120 may have any suitable communication range associated therewith, and may include, for example, a global network (e.g., the Internet), a MAN, a WAN, a LAN, or a PAN. In addition, network 120 may include any type of medium on which network traffic may be carried, including, but not limited to, coaxial cable, twisted pair, optical fiber, hybrid fiber coaxial (HFC) medium, microwave ground transceiver, radio frequency communication medium, satellite communication medium, or any combination thereof, as well as various network devices and computing platforms provided by a network provider or other entity.
[0147] d. Example Value Exchange System
[0148] Figure 44 is an example block diagram of an example of a network-based exchange system 400 according to one or more embodiments of the present disclosure. The network-based exchange system 400 includes a new computing ecosystem and a computing platform that provides an end-to-end value exchange solution to replace the traditional exchange processing system. As described herein, the network-based exchange system 400 can be independent of the value system and can be applied to any value-based exchange (including, for example, information-based exchange, financial-based exchange, reputation-based exchange, healthcare-based exchange, welfare-based exchange, etc. In any value system, the network-based exchange system 400 can utilize an intermediary entity and one or more defined communication interfaces to facilitate a network-based exchange between a value-seeking entity (e.g., a partner) and a value-providing entity (e.g., a service provider), and the value-seeking entity and the value-providing entity may be associated with one or more member platforms of the network-based exchange system 400.
[0149] As described above, the network-based exchange system 400 may include an exchange platform 102, a partner platform 420, and / or a service provider platform 440, all of which may be configured to communicate via one or more exchange interfaces. The partner platform 420 and / or the service provider platform 440 may include one or more member platforms 112a-c from the member platform network 110. For example, the partner platform 420 and the service provider platform 440 may include a single member platform (e.g., member platform 112c). Additionally or alternatively, the partner platform 420 and the service provider platform 440 may include one or more different member platforms (e.g., member platform 112a and member platform 112b). In some examples, a user may interact with one or more platforms via a client device 104.
[0150] In some embodiments, the exchange platform 102 is a computing entity configured to facilitate voucherless value exchange for one or more members in the network. The exchange platform 102 may include one or more processing devices, storage devices, etc., which are physically coupled and / or wirelessly coupled and configured to jointly (and / or individually) perform one or more computing tasks for facilitating value system-independent exchanges. In some examples, the exchange platform 102 may include, define, and / or otherwise utilize one or more exchange interfaces to facilitate communications (e.g., requests, responses, etc.) between multiple members. As described herein, an exchange interface may be utilized to facilitate secure exchanges between one or more members in any value system.
[0151] In some embodiments, a member is an entity that cooperates with the exchange platform 102 to participate in the value exchange. For example, a member may include (i) a partner that receives value using the exchange platform 102, (ii) a service provider that provides value using the exchange platform 102, and / or (iii) both a partner and a service provider. As used herein, when a member receives value through a value exchange, the member may be referred to as a partner, and / or when a member provides value through a value exchange, the member may be referred to as a service provider. Therefore, according to the role of the member in the value exchange, the same member may be a partner or a service provider. For example, a member may be a partner that receives value in a value exchange. The same member may be a service provider that provides value in another value exchange. In some examples, the same member may be both a partner and a service provider in the same value exchange, so that the member provides and then receives value in a single member value exchange using the exchange platform 102.
[0152] In some embodiments, when a member utilizes a service provided by a service provider, the member is a partner. Partners may include any value-seeking entity in any value system. For example, in a financial value system, partners may include merchants (e.g., retailers, physical businesses, etc.), which may utilize service providers (e.g., financial institutions) to obtain funds for financial transactions. Additionally or alternatively, in an information value system, partners may include news publishers (e.g., newspapers, media organizations, etc.), which may utilize service providers (e.g., news organizations (e.g., wire services, news services, etc.)) to obtain information for information transactions. In a healthcare value system, partners may include healthcare providers, which may access healthcare benefit administrators to obtain medical benefits for funding medical procedures. It should be understood that the technology disclosed herein may be applied to any value system, and partners may include value seekers of any corresponding value system.
[0153] In some embodiments, when a member provides services to a partner, the member is a service provider. A service provider may include a source of value in any value system. For example, in a financial value system, a service provider may include a financial institution (e.g., a bank, a currency exchange platform, a credit union, etc.) that can provide access to funds for financial transactions between one or more entities. Additionally or alternatively, in an information value system, a service provider may include a news agency (e.g., a wire service, a news service, etc.) that can provide a source of information for a news publisher's publication. In a healthcare value system, a service provider may include a healthcare benefit manager that can provide healthcare providers with access to healthcare benefits. It should be understood that the technology disclosed herein can be applied to any value system, and a service provider may include any source of value for any corresponding value system.
[0154] In some embodiments, a service provider tool is a mechanism utilized by a service provider to provide value on behalf of a particular user. The service provider tool may depend on the value system and / or the service provider. In some examples, the service provider tool may include an account opened at a service provider. For example, in a financial value system, the service provider tool may include a bank account (e.g., checking, savings, etc.), a brokerage account, a line of credit, etc. In an information value system, the service provider tool may include a subscription account, etc. In a healthcare value system, the service provider tool may include a healthcare benefit account, etc.
[0155] In some embodiments, the services provided by the service provider are subject to one or more policies. For example, a service provider may be associated with one or more member policies for verifying the use of service provider tools maintained by the service provider.
[0156] For example, a service provider and / or a service provider tool of its service provider may be associated with an entity that manages the use of one or more services provided by the service provider. For example, a service provider may facilitate an Electronic Benefit Transfer (EBT) system that provides financial assistance for authorized food and household items, such as the Supplemental Nutrition Assistance Program (“SNAP”), Temporary Assistance for Needy Families (“TANF”), the Special Supplemental Nutrition Program for Women, Infants, and Children (“WIC”), etc. As another example, a service provider may facilitate a healthcare program on behalf of a healthcare provider that limits benefits based on healthcare eligibility, procedure code, procedure location, etc.
[0157] Additionally or alternatively, the service provider may manage the use of its own services. For example, the service provider may maintain service provider tools for users of the service provider. The service provider may restrict the service provider tools on behalf of the user, on behalf of one or more internal policies, etc. For example, the service provider may include a financial institution that allows one or more users to restrict access to funds provided by the financial institution. In this way, users may provide limited access to the service provider tools by establishing one or more member policies for the service provider tools.
[0158] The service provider and the partner may communicate through one or more corresponding member platforms respectively associated with the entity. For example, the service provider may be associated with the service provider platform 440, and the partner may be associated with the partner platform 420.
[0159] In some embodiments, a member platform is a computing entity corresponding to a member associated with the exchange platform 102. The member platform may include a partner platform 420 that operates on behalf of a partner, a service provider platform 440 that operates on behalf of a service provider, and / or both a partner platform 420 and a service provider platform 440. In some examples, a member platform may be both a partner platform 420 and a service provider platform 440. For example, the same member platform may be configured to operate on behalf of a partner for one value exchange and to operate on behalf of a service provider for another value exchange. In some examples, the same member platform may be configured to represent both a partner and a service provider in a single value exchange. Note that the term member platform may refer to a partner platform 420, a service provider platform 440, or both a partner platform and a service provider platform, and in some examples, the member platform may depend on the role of the member platform in the value exchange (e.g., and / or one or more interfaces used by the member platform in the value exchange).
[0160] In some embodiments, the partner platform 420 is a computing entity configured to perform one or more operations on behalf of the partner. For example, the partner platform 420 may include one or more processing devices, storage devices, etc., which are physically coupled and / or wirelessly coupled and configured to jointly (and / or individually) perform one or more computing tasks that request value in an exchange that is independent of the value system. In some examples, the partner platform 420 may include, define and / or otherwise utilize one or more exchange interfaces to facilitate communication (e.g., requests, responses, etc.) with the exchange platform 102. In some examples, the partner platform 420 may be configured to host one or more user-oriented applications (e.g., partner applications, etc.) for interacting with one or more users.
[0161] Partner platform 420 (e.g., in a financial value system) can host an online marketplace for a partner that allows users to interact with one or more products or services provided by the partner (e.g., search, browse, purchase, return, etc.). In the case of purchasing a product, partner platform 420 can work with one or more service providers to obtain funds for the purchase. Traditionally, obtaining funds from service providers is facilitated using card numbers, account numbers, and / or other financial credentials that may expose the user to malicious parties. In order to address the cybersecurity and data privacy issues of traditional financial systems (and / or other value-based systems), partner platform 420 can register on exchange platform 102 by configuring one or more software development kits (SDKs), APIs, etc. to communicate with exchange platform 102. For example, partner platform 420 can include, define, and / or otherwise utilize one or more partner interfaces 402 to facilitate communication (e.g., requests, responses, etc.) with exchange platform 102.
[0162] In some embodiments, the service provider platform 440 is a computing entity configured to perform one or more operations on behalf of a service provider. For example, the service provider platform 440 may include one or more processing devices, storage devices, etc., which are physically coupled and / or wirelessly coupled and configured to jointly (and / or individually) perform one or more computing tasks for providing value in an exchange that is independent of the value system. In some examples, the service provider platform 440 may include, implement and / or otherwise utilize one or more interfaces to facilitate communication (e.g., requests and responses, etc.) with the exchange platform 102. In some examples, the service provider platform 440 may be configured to facilitate one or more service provider tools. In some examples, the service provider platform 440 may be configured to host one or more user-oriented applications (e.g., service provider applications, etc.) for managing one or more service provider tools.
[0163] In some examples, the service provider platform 440 (e.g., in a financial value system) may maintain one or more financial assets (e.g., credit lines, bank accounts, etc.) that allow users to provide funds for the exchange of products purchased from partners. In the case of purchasing products, the service provider platform 440 may cooperate with the partner platform 420 to authorize the exchange and / or otherwise provide access to funds for the purchase. Traditionally, the acquisition of funds from the service provider is facilitated by providing the service provider platform 440 with card numbers, account numbers, and / or other financial credentials that may expose the user, service provider, or partner to malicious parties (especially when provided over an unsecured network (e.g., a public network, etc.). In order to address the network security and data privacy issues of traditional financial systems (and / or other value-based systems), the service provider platform 440 may register on the exchange platform 102 by configuring one or more software development kits (SDKs), APIs, etc., so as to communicate with the exchange platform 102. For example, the service provider platform 440 may include, implement, and / or otherwise utilize one or more service provider interfaces 404 to facilitate communication (e.g., requests, responses, etc.) with the exchange platform 102.
[0164] As described herein, the service provider interface 404 can enable the exchange platform 102 to identify and request the use of a service provider tool to facilitate a transaction. For example, the service provider platform 440 can be configured to facilitate one or more service provider tools. In some examples, the service provider tool can include a virtual tool (e.g., a virtual account, a line of credit, etc.) hosted by the service provider platform 440. For example, the service provider platform 440 can be configured to maintain a plurality of tool data objects indicating a plurality of service provider tools for a plurality of affiliated entities.
[0165] In some embodiments, a tool data object is a data entity representing a service provider tool. A tool data object may include one or more tool identifiers and / or one or more tool attributes. In some examples, one or more tool identifiers and / or one or more tool attributes may be based at least in part on the type of the tool data object. For example, a service provider tool may be represented as a member tool data object in a member platform (e.g., service provider platform 440). Additionally or alternatively, a service provider tool may be independently represented by a system tool data object in an exchange platform 102. In some examples, a member tool data object and a system tool data object may include one or more of the same one or more tool identifiers and / or one or more tool attributes. For example, a member platform may register multiple service provider tools on an exchange platform 102 (e.g., using a service provider interface 440). During registration, a member platform (e.g., service provider platform 440) may provide one or more of a tool identifier and / or a tool attribute, and in some examples, an exchange platform may return another identifier.
[0166] In some embodiments, the member tool data object is an internal representation of a service provider tool within a member platform (e.g., service provider platform 440). The member tool data object may include one or more tool identifiers (e.g., member tool identifiers), tool keys from the exchange platform 102, and / or user identifiers. For example, the user identifier may include a member user identifier as described herein. Additionally or alternatively, the member tool data object may include one or more tool attributes such as a tool type (e.g., a credit-based tool, a debit-based tool, an information-based tool, etc.), a tool representation, and / or one or more context attributes. In some examples, the context attributes may depend on the value system. For example, in a financial value system, one or more context attributes may indicate (i) a currency associated with a service provider tool, (ii) asset availability of a service provider tool (e.g., balance, coverage, etc.), (iii) one or more previous transactions using a service provider tool, etc.
[0167] In some embodiments, the system tool data object is an external representation of a service provider tool within the exchange platform 102. The system tool data object may include one or more tool identifiers such as a tool reference for a member platform, a system tool identifier, and / or a user identifier. For example, a user identifier may include a system user identifier as described herein. Additionally or alternatively, the system tool data object may include one or more tool attributes such as a tool type (e.g., a credit-based tool, a debit-based tool, an information-based tool, etc.), a tool representation, and / or one or more context attributes. In some examples, the context attributes may depend on the value system. For example, in a financial value system, one or more context attributes may indicate a currency associated with a service provider tool.
[0168] In some embodiments, the service provider tool is associated with one or more usage restrictions. The usage restrictions can be represented by a member policy 422. The member policy 422 can correspond to a service provider and / or be specific to a service provider tool. In some examples, the exchange platform 102 may include a verification service 408, which is configured to determine the exchange request based at least in part on the member policy corresponding to the service provider tool referenced by the exchange request. To this end, the exchange platform 102 (and / or its verification service 408) can access the member policy 422 of the service provider tool. For example, the member platform can register the member policy 422 (for example, using the service provider interface 404) with the exchange platform 102. During registration, the member platform (for example, the service provider platform 440) can provide one or more policy attributes, attribute updates, etc., to verify the exchange request of one or more service provider tools, etc., etc., which are referenced by the member platform maintenance, etc. In some examples, when one or more policy attributes are modified, added and / or removed, the exchange platform can continuously update the member policy 422.
[0169] In some embodiments, member policy 422 is managed by an administrative entity that is configured to add, modify, and / or remove policy attributes from member policy 422. For example, the administrative entity may include a member platform, such as a service provider platform 440 that maintains service provider tools that are subject to member policy 422. In some examples, the member platform may continuously update member policy 422 via service provider interface 404 when one or more policy attributes are modified, added, and / or removed. Additionally or alternatively, the administrative entity may include a third-party regulatory entity, such as an administrative agency, etc., that maintains one or more regulations, guidelines, etc. that may be implemented through member policy 422. In some examples, the administrative entity may continuously update member policy 422 to implement different regulations, guidelines, etc. The administrative entity may update member policy 422 by communicating directly with the exchange platform and / or through an intermediary member platform.
[0170] In some embodiments, member policy 422 is a data entity that defines one or more criteria for verifying an object of a value-based exchange. Member policy 422 may correspond to a member and / or a member's service provider tool. For example, member policy 422 may define one or more criteria for verifying an object based at least in part on one or more member-specific criteria. Additionally or alternatively, member policy 422 may define one or more criteria for verifying an object based at least in part on one or more tool-specific criteria. Member-specific criteria may apply to multiple service provider tools associated with a member, and tool-specific criteria may apply to a subset of multiple service provider tools associated with a member.
[0171] Member policy 422 may indicate a plurality of authorized and / or unauthorized policy attributes for value-based exchange. An authorized policy attribute may indicate one or more objects, object attributes, and / or value exchange attributes that are authorized to use a service provider tool for value-based exchange according to member policy 422. An unauthorized policy attribute may indicate one or more objects, object attributes, and / or value exchange attributes that are restricted from using a service provider tool for value-based exchange according to member policy 422. In some examples, member policy 422 may define a plurality of authorized policy attributes, and a plurality of unauthorized policy attributes may include a plurality of undefined attributes. In some examples, member policy 422 may define a plurality of unauthorized policy attributes, and a plurality of authorized policy attributes may include a plurality of undefined attributes.
[0172] In some examples, policy attributes may include identifying an object identifier, one or more object attributes, and / or one or more value exchange attributes that identify the object and / or one or more authorized / unauthorized quantities of the object.
[0173] For example, member policy 422 may include multiple object identifiers. Multiple object identifiers may indicate multiple objects that are authorized / unauthorized to be acquired and / or returned using a service provider tool. In some examples, the object identifier may be a global object identifier. For example, a global object identifier may be a SKU code. Additionally or alternatively, a global object identifier may be an MPN, GTIN, product or service name, ISBN, UPC, EAN, EIN, etc. In some examples, the object identifier may include a system object identifier. For example, a system object identifier may include an identifier corresponding to a record data object representing an object within an exchange platform (e.g., a table identifier, etc.). In some embodiments, the system object identifier and the global object identifier are the same.
[0174] As another example, a policy attribute may indicate one or more object attributes that indicate authorized / unauthorized objects. One or more object attributes may indicate one or more objects (e.g., having one or more different object identifiers) that are authorized and / or unauthorized to be acquired and / or returned using a service provider tool. For example, an object attribute may indicate classes of objects that are not authorized to be acquired using a service provider tool (e.g., alcohol, tobacco, etc.) and / or classes of objects that are authorized to be acquired using a service provider tool (e.g., food items, etc.). Additionally, an object attribute may indicate classes of objects that are not authorized to be returned using a service provider tool (e.g., perishable items, etc.) and / or classes of objects that are authorized to be returned using a service provider tool (e.g., non-perishable items, etc.).
[0175] As yet another example, a policy attribute may include a value exchange attribute corresponding to a particular value-based exchange and / or an object included in the value-based exchange. For example, a value exchange attribute may include a threshold exchange value for a value-based exchange conducted using a service provider tool. Additionally or alternatively, for an object included in a value-based exchange, a policy attribute may include a threshold object exchange value, a threshold object exchange amount, and the like. The threshold object exchange value may indicate an authorized value for acquiring a particular object using a service provider tool. The threshold object exchange amount may indicate an authorized amount (e.g., weight, number of units, etc.) of a particular object that may be acquired (e.g., purchased, etc.) using a service provider tool.
[0176] As described herein, the exchange platform 102 (eg, the validation service 408 , etc.) can use the member policy 422 and one or more record data objects to validate and / or invalidate objects referenced by an exchange request.
[0177] In some embodiments, record data object 422 is a data object representing an object. In some examples, record data object 422 may be an internal representation of an object of an exchange platform. For example, an object may include different units of a value-based exchange for which value is being transferred. Record data object 422 for an object may include a data object that records one or more aspects of an object (e.g., an object identifier, object attributes, etc.).
[0178] For example, the record data object 422 may include an object identifier and / or one or more object attributes of a particular object associated with a value system. An object may be based at least in part on a value system. For example, in a financial value system, an object may be a tangible or intangible item, product, and / or the like that may be purchased in exchange for a monetary unit. In a healthcare value system, an object may be a healthcare procedure and / or the like that may be covered by a healthcare policy.
[0179] In some examples, exchange platform 102 can maintain and / or access a data store including a plurality of record data objects 422. As described herein, the object data store can include a plurality of record data objects 422 that originate, at least in part, from one or more members of the exchange network and / or one or more third parties.
[0180] In some embodiments, the object data store is generated, updated and / or maintained using data from one or more external data sources. For example, one or more external data sources may include one or more object directories. Each object directory may include multiple object identifiers and / or object attributes of each object identifier. For example, the object directory may include 10 data points, 20 data points, 40 data points or more data points for each of the multiple object identifiers. Each data point may indicate the object attributes of an object. Object attributes may be obtained by an external data source from a manufacturer, a supplier and / or any other entity associated with a particular object. In some examples, the object data store may be aggregated according to each of one or more different external data sources to aggregate, verify and / or amplify multiple record data objects 424 associated with multiple different entities.
[0181] In some embodiments, an object attribute is a data entity that describes a characteristic of an object. Object attributes may include object-based attributes and / or exchange-based attributes.
[0182] For example, object-based attributes may include spatial attributes, count attributes, value attributes, source attributes, ingredient attributes, category attributes, and / or any other attributes that describe the characteristics of an object. For example, a spatial attribute may indicate one or more dimensions of an object (e.g., height, width, weight, etc.), a value attribute may indicate the value of an object (e.g., price, etc.), an ingredient attribute may indicate one or more raw materials, components, etc. of an object, and a category attribute may indicate one or more categories of an object (e.g., alcohol, tobacco, etc.) and / or the like. For example, one or more category attributes may indicate whether an object is associated with (i) one or more general store categories (e.g., vegetables, fruits, dairy, meat, grains, seeds, alcohol, tobacco, in-store consumables, hot foods, pharmacies, pet food, and non-food products), (ii) one or more medical categories (e.g., dental, eye care, general health, etc.), (iii) one or more information categories (e.g., international sources, domestic sources, etc., and / or the like). In some examples, ingredient attributes may indicate one or more components of an object, such as the volume percentage of alcohol in the object, one or more ingredients (e.g., meat, dairy products, peanut products, tree nut products, soy products, etc.).
[0183] In some examples, the object-based attributes may be based at least in part on a value system. For example, at least in a financial-based value system, the object-based attributes may include one or more line item attributes, one or more line item adjustments, etc. Line item attributes may include a sequence, a line item group, a product code, an item name, an item source (e.g., a supplier, a manufacturer, etc.), a description, an amount, a mass (e.g., grams, kilograms, etc.), one or more spatial dimensions (e.g., length, width, height, volume, etc.), a unit amount, a unit tax amount, a line amount (e.g., the amount of the line item), a line tax amount, etc. Line item adjustments may include an adjustment type (e.g., manufacturer discount, store discount, return, pay cash, pay gift card, pay other, etc.), an item, product or service code, an item description, an item amount, a unit item, an item mass (e.g., grams, kilograms, etc.), a unit amount, a unit tax amount, a line amount (e.g., the amount of the line item), a line tax amount, etc.
[0184] In some examples, one or more exchange-based attributes may indicate one or more aggregated exchange characteristics. For example, an exchange-based attribute may include a count attribute that describes the number of value-based exchanges involving a particular object. For example, a count attribute may indicate the number of units of a particular object acquired through multiple value-based exchanges. For example, as described herein, the exchange platform may increase the count attribute of the object each time the object is referenced in a value-based exchange, and / or the exchange platform may decrease the count attribute of the object each time the object is authorized to be returned. In some examples, the exchange platform may increase the count attribute of the object each time the object is authorized to be acquired. In some examples, the record data object may include multiple count attributes that respectively identify the number of units of the object that has been acquired (e.g., the count that has been acquired), the number of units of the object that has been authorized to be acquired (e.g., the count that has been authorized), and / or the number of units of the object that has been requested to be acquired (e.g., the count that has been requested).
[0185] In some examples, one or more exchange-based attributes may include exchange-specific characteristics. For example, an exchange-based characteristic may include a source attribute that describes the location (e.g., retailer, physical store, healthcare center, information source, etc.) from which an object was obtained (e.g., purchased, etc.) through a value-based exchange. For example, the location may include a virtual location and / or a physical location. In some examples, the location may depend on the value system. For example, in a financial value system, the source attribute may identify a retailer, a specific physical store of a retailer, an online platform, etc. In a healthcare value system, the source attribute may be a virtual and / or physical medical center, etc. In an information value system, the source attribute may be an information source, etc.
[0186] In some examples, the record data object and / or count attribute may be source specific. For example, a different record data object and / or count attribute may be maintained for each source from which the object may be obtained. Additionally or alternatively, the record data object and / or count attribute may be source independent.
[0187] In some examples, a member platform (eg, partner platform 420 and / or service provider platform 440 ) may be associated with a user-facing application to facilitate one or more interactions with the user and / or other affiliated entities (eg, via client device 104 ).
[0188] In some embodiments, user-oriented applications are computer programs that are hosted by computing entities to promote one or more user interactions. User-oriented applications may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for computing entities (e.g., member platforms). For example, user-oriented applications can promote communication between members and users. For example, user-oriented applications can be configured to present one or more user interfaces 406 (e.g., via client devices 104) to interact with users on behalf of members. In some examples, user-oriented applications can be configured to receive user input (e.g., via one or more user interfaces 406) to receive information from users.
[0189] In some embodiments, the user-facing application is a partner application 416 hosted by a partner platform (e.g., a member platform used as a partner of a particular exchange, etc.) to facilitate the functionality of the partner. The partner application may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for the partner. In some examples, the partner application 416 may be configured with one or more devices (e.g., point-of-sale terminals, etc.) from an independent partner institution (e.g., a physical bank, etc.). For example, the partner application 416 may be configured to present one or more user interfaces 406, which are used to interact with one or more products provided by a retail-based partner, one or more information units provided by an information-based partner, etc. (e.g., browse, purchase, comment, etc.). In some examples, the partner application 416 may be configured to receive user input (e.g., via one or more user interfaces 406) to receive information from the user.
[0190] In some embodiments, the service provider platform 440 may be configured to host one or more service provider applications 418 to manage one or more service provider tools. For example, a user-oriented application may be a service provider application 418 hosted by a service provider platform 440 (e.g., a member platform of a service provider used as a specific exchange, etc.) to facilitate the functions of a service provider. In some examples, the service provider application 418 may be configured with one or more devices from an independent service provider institution (e.g., a physical bank, etc.). The service provider application 418 may include software (e.g., computer-readable instructions, etc.) designed to perform one or more computing tasks for a service provider. For example, the service provider application 418 may be configured to present one or more user interfaces, which are used to interact with one or more service provider tools provided by the service provider (e.g., comments, management, audits, registrations, etc.). For example, in a financial value system, the service provider application 418 may enable access to bank accounts, brokerage accounts, credit lines, etc. to manage funds, assets, etc. handled by respective accounts. In some examples, the service provider application 418 may be configured to receive user input (e.g., through one or more user interfaces 406) to receive information, authorization, etc. from the user.
[0191] In some embodiments, the service provider application 418 is configured to maintain, update, and / or register member policies 422 for the service provider tool. For example, the service provider platform 112 can enable users, organizations, and / or any other entities to configure member policies 422 for managing the use of the service provider tool. For example, the member policies 422 can be configured by an organization (e.g., a state benefit plan, etc.) and / or a user to guide the use of the service provider tool. In some examples, the organization and / or the user can interact with the service provider application 418 to register a new member policy 422 and / or update one or more policy attributes of an existing member policy 422.
[0192] In some embodiments, exchange platform 102 facilitates communications between partner platform 420 and service provider platform 440 using one or more exchange interfaces.
[0193] In some embodiments, the exchange interface is a set of instructions for facilitating communication between the exchange platform 102 and one or more member platforms and / or internal services. The exchange interface may include an API, a file-based interface, a message queue-based interface, etc. For example, the exchange interface may include an API, for example, the API includes one or more simple object access protocol (SOAP) APIs, one or more remote procedure call (RPC) APIs, one or more websocket APIs, one or more representational state transfer (REST) APIs, etc. In some embodiments, the exchange interface may include one or more RPC APIs, such as one or more gRPC APIs.
[0194] The exchange platform 102 may include, define, and / or otherwise utilize one or more different exchange interfaces to facilitate communication with one or more external platforms, such as one or more member platforms (e.g., partner platform 420, service provider platform 440, etc.). Each interface may include a plurality of communication instructions, message definitions, etc. for exchanging requests and / or responses between the exchange platform 102 and entities participating in the value exchange. For example, the exchange interface may include a partner interface 402 for facilitating communication with a partner platform 420 and / or a service provider interface 404 for facilitating communication with a service provider platform 440.
[0195] In some embodiments, partner interface 402 is an exchange interface for facilitating one or more communications between partner platform 420 and exchange platform 102. Partner interface 402 may define one or more communication instructions, message definitions, etc., for facilitating one or more request messages and / or response messages between partner platform 420 and exchange platform 102. For example, partner interface 402 may include an API that defines (i) requests from a computing entity acting as partner platform 420 to exchange platform 102 and / or (ii) requests from exchange platform 102 to partner platform 420. For example, partner interface 402 may define one or more registration messages, session messages, transaction messages, etc., for facilitating a value exchange for partners. In some embodiments, partner interface 402 defines one or more identifiers for securely identifying one or more parts of a value exchange.
[0196] In some embodiments, the service provider interface 404 is an exchange interface for facilitating one or more communications between the service provider platform 440 and the exchange platform 102. The service provider interface 440 may define one or more communication instructions, message definitions, etc. for facilitating one or more request messages and / or response messages between the service provider platform 440 and the exchange platform 102. For example, the service provider interface 404 may include an API that defines (i) requests from a computing entity acting as the service provider platform 440 to the exchange platform 102 and / or (ii) requests from the exchange platform 102 to the service provider platform 440. For example, the service provider interface 404 may define one or more registration messages, session messages, transaction messages, etc. for facilitating a value exchange using a service provider tool. In some embodiments, the service provider interface 404 defines one or more identifiers for securely identifying one or more parts of a value exchange.
[0197] The exchange platform 102 can facilitate communication between member platform networks. The member networks can include, for example, multiple entities that have joined the exchange platform 102, for example, by registering on the exchange platform 102, configuring corresponding interfaces for communicating with the exchange platform 102, etc. In some examples, the exchange platform 102 can execute one or more separate services to interact with each joined entity. For example, the separate services can include one or more partner services 410 and / or service provider services 412.
[0198] In some embodiments, the exchange platform 102 instantiates a separate partner-specific service, i.e., partner service 410, for each of the member networks. Additionally or alternatively, such as in a multi-tenant environment, partner service 410 may be instantiated for one or more partners from the member network. Partner service 410 may be configured to perform one or more exchange operations to resolve exchange requests from partner platform 420. In some embodiments, the exchange platform 102 instantiates a separate service provider-specific service, i.e., service provider service 412, for each of the member networks. Additionally or alternatively, such as in a multi-tenant environment, service provider service 412 may be instantiated for one or more service providers from the member network. Service provider service 412 may be configured to perform one or more exchange operations to obtain and resolve exchange requests from partner platform 420. The exchange operations may include any of the steps and / or operations described herein.
[0199] In some embodiments, partner service 410 and / or service provider service 412 interact with each other through one or more local communication mechanisms, and / or interact with one or more other components of exchange platform 102 to perform exchange operations. For example, exchange platform 102 may include verification service 408. Verification service 408 may be configured to perform one or more verification operations of the present disclosure to verify one or more objects of exchange request. In this way, exchange platform 102 can pre-process the objects of exchange request on behalf of member platform to implement member policy 422 of member platform.
[0200] By performing one or more exchange operations, partner services 410 and / or service provider services 412 can generate and utilize multiple non-traditional identifiers, which are used to reference one or more aspects of users, service provider tools, and / or value exchanges. At least some of these identifiers may include a universal unique identifier (e.g., UUEK) that can be used to provide a value exchange without credentials. Each identifier can be stored at least temporarily in a platform database 414. The platform database 414 may include any type of storage device as described herein. In some examples, each service and / or one or more groups of services may be associated with a single portion of the platform database 414.
[0201] As described herein, one or more identifiers may be stored in association with one another to form an identifier mapping that the exchange platform 102 (and / or one or more of its services) may utilize to reference users, service provider tools, and / or any other aspects of a value exchange based on communications between partner platforms 420, service provider platforms 440, and / or any other member platforms, without including user credentials. Figure 5 Examples of non-traditional identifiers are described further.
[0202] e. Example data structure
[0203] Figure 5500 is an example data graph for facilitating voucherless value exchange according to one or more embodiments of the present disclosure. The data graph 500 shows a plurality of different types of related identifiers. As shown, each identifier can be associated with at least one related identifier to form an identifier mapping within one or more platforms (e.g., the exchange platform 102 and / or the service provider platform 440). The identifier mapping enhances the communication between the exchange platform 102 and the service provider platform 440, which references the service provider tool 518 without exposing the persistent credentials 514 (e.g., username, password, card number, etc.) associated with the service provider tool 518 that are easily defrauded, abused, and utilized by malicious parties. As shown, using some of the techniques of the present disclosure, the persistent credentials 514 may never need to be transmitted outside the service provider platform 440. The data graph 500 only shows some of the multiple identifiers that can be generated, stored, and / or utilized by various embodiments of the present disclosure. It will be understood that the illustrated identifiers are not an exhaustive list and may also include other identifiers not shown. Each of the identifiers may be labeled as an identifier, a reference, a key, and / or other similar terms. These terms are used interchangeably herein to refer to units of information used to identify data structures, entities, and / or any other components described herein.
[0204] As shown, some of the multiple related identifications in various embodiments of the present disclosure may include, for example, (i) one or more user references 502, which may be mapped to a member user identifier 522 of the service provider platform 440, (ii) one or more service provider partitions 504 corresponding to a joined service provider platform (e.g., service provider platform 440) network, (iii) one or more partner partitions 506 corresponding to a joined partner platform network, (iv) one or more tool references 520, which may be mapped to a member tool identifier 508 of the service provider platform 440, (v) one or more keys 516 and / or system identifier 512 associated with the user reference 502 and / or the tool reference 520, (vi) one or more exchange identifiers 510, which may be mapped to the system identifier 512 and / or the key 516, and / or (vii) one or more UUEKs 524, which may be mapped to at least one of the exchange identifier 510 and / or the partner partition 506 and / or the service provider partition 504.
[0205] In some examples, the service provider platform 440 can store one or more identifiers that can be mapped to one or more identifiers of the exchange platform 102 and / or the service provider tool 518 to enable the service provider platform 440 to reference the service provider tool 518 based at least in part on the identifier, which itself may not represent any aspect of the service provider tool 518, including the persistent credential 514 of the service provider tool 518.
[0206] For example, the service provider platform 440 can store, maintain, and / or otherwise access one or more keys 516 that are mapped to one or more system identifiers 512 of the exchange platform 102 (e.g., the one or more keys 516 are copies, derivatives, etc. of the one or more system identifiers 512). For example, the keys 516 can include the system identifier 512 as part of the keys 516. The keys 516 can be mapped to the member tool identifier 508 and / or the member user identifier 522, which can internally reference the user and / or the service provider platform's service provider tool 518. For example, the keys 516 can be provisioned during a registration process between the service provider platform 440 and / or the exchange platform 102.
[0207] As another illustrative example, exchange platform 102 may store, maintain, and / or otherwise access one or more references (e.g., tool reference 520 and / or user reference 502) that are mapped to one or more member identifiers (e.g., the references are copies, derivatives, etc. of the one or more member identifiers), such as member tool identifier 508 and / or member user identifier 522 of service provider platform 440. For example, references may be provided during a registration process between service provider platform 440 and / or exchange platform 102.
[0208] In some embodiments, the exchange platform 102 uses one or more entity partitions to reference each member platform of the member platform network. In some embodiments, an entity partition is a unique identifier for a computing entity. An entity partition may include a unique number, alphanumeric number, etc. representing a specific computing entity. For example, an entity partition may include a member partition representing a member platform, a service provider partition 504 representing a service provider platform 440, a partner partition 506 representing a partner platform 420, etc.
[0209] In some embodiments, the service provider partition 504 is a unique identifier of a service provider and / or a service provider platform 440 of the service provider. The service provider partition 504 may include a numeric sequence, an alphanumeric sequence, any / or any other sequence of characters or symbols representing a service provider associated with the exchange platform 102 (e.g., joined to the exchange platform, registered to the exchange platform, etc.). For example, the exchange platform 102 may include multiple service provider partitions that respectively identify service provider platforms 440 that are attached to the exchange platform 102 (e.g., joined to the exchange platform, registered to the exchange platform, etc.). Each service provider partition 504 may represent a service provider platform 440 that has been configured with one or more exchange platform software development kits (SDKs) for implementing a service provider interface of the exchange platform, etc.
[0210] In some embodiments, the partner partition 506 is a unique identifier of a partner and / or a partner platform of the partner. The partner partition 506 may include a sequence of numbers, an alphanumeric sequence, any / or any other sequence of characters or symbols representing a partner associated with the exchange platform 102. For example, the exchange platform 102 may include multiple partner partitions, each of which identifies a partner platform that is affiliated with the exchange platform 102 (e.g., has joined the exchange platform, has registered with the exchange platform, etc.). Each partner partition 506 may represent a partner platform that has been configured with one or more exchange SDKs, etc., for implementing a partner interface of the exchange platform 102.
[0211] In some embodiments, when a member platform joins the exchange platform 102, an entity partition is generated to identify the member. In some examples, after joining the exchange platform, the member platform can utilize one or more exchange interfaces to register one or more service provider tools with the exchange platform 102. The service provider tool 518 can be registered with the exchange platform 102 by exchanging one or more tool identifiers with the exchange platform 102.
[0212] In some embodiments, the tool identifier includes any representation of the service provider tool 518 that identifies the service provider tool without exposing the persistent credentials 514 of the service provider tool 518. The tool identifier may include a member tool identifier 508, a system tool identifier, a tool reference 520, a tool key, etc. as described herein.
[0213] In some embodiments, the member tool identifier 508 is a unique identifier used to represent the service provider tool 518 within a member platform (e.g., the service provider platform 440). For example, the member tool identifier 508 may include a numeric sequence, an alpha-numeric sequence, any / or any other sequence of characters or symbols that represents the service provider tool 518 to the service provider platform 440. In some examples, the member tool identifier 508 may include a table identifier of a member tool data object.
[0214] In some embodiments, tool reference 520 is a unique identifier used to reference member tool identifier 508. For example, tool reference 520 can be generated by a member platform and / or provided to exchange platform 102 to allow exchange platform 102 to reference service provider tools 518 maintained at the member platform. In some examples, tool reference 520 is the same value as member tool identifier 508. In some examples, tool reference 520 is a different value that maps to member tool identifier 508.
[0215] In some embodiments, the system tool identifier is a unique identifier for representing a service provider tool 518 within the exchange platform 102. For example, the system tool identifier may include a numeric sequence, an alphanumeric sequence, any / or any other sequence of characters or symbols that represents the service provider tool 518 to the exchange platform 102 without exposing the persistent credentials 514 of the service provider tool 518. In some examples, the system tool identifier may include a UUID. In some examples, the system tool identifier may include at least one of the system identifiers 512.
[0216] In some embodiments, the tool key is a unique identifier for referencing a system tool identifier. For example, the tool key may be generated and / or provided by the exchange platform 102 in the process of registering a service provider tool 518 to the exchange platform 102. In some examples, the tool key may include an encapsulated system tool identifier. For example, the tool key may include an alphanumeric string formatted according to a key format established by the exchange platform 102 (and / or one or more APIs thereof). The key format may include any number of characters, such as fifty characters or more. In some examples, the characters may be case sensitive. The first part of the characters (e.g., the first six characters) may be reserved as a partition for identifying an entity associated with the key. For example, for the tool key, the partition may include a service provider partition 504. The second part of the characters may identify the system tool identifier. In some examples, the tool key may include at least one of the keys 516. The key format described herein may include one or more different parts, each of which may be arranged in any order.
[0217] In some embodiments, after joining the exchange platform 102, the member platform may utilize one or more exchange interfaces to register one or more users with the exchange platform 102. The user may be registered with the exchange platform 102 by exchanging one or more tool identifiers with the exchange platform 102. For example, the user identifier may be used to generate, maintain, and / or update one or more user data objects reflecting the user of the member platform and / or the exchange platform 102.
[0218] In some embodiments, a user data object is a data entity that represents a user interacting with a member platform and / or exchange platform 102. A user may include, for example, an entity (e.g., an individual, an organization, a group, etc.) that participates in a value exchange managed by exchange platform 102. In some examples, a user may indirectly engage with exchange platform 102 by creating a user account with a registered service provider, registering (and / or allowing registration) with a service provider tool 518, etc. In some examples, exchange platform 102 may operate on behalf of a user without the user having to directly engage with exchange platform 102. For example, exchange platform 102 may serve as a hidden intermediary between a user-facing application and a user's service provider tool 518.
[0219] In some embodiments, the user data object includes one or more user identifiers and / or one or more user attributes. In some examples, the one or more user identifiers and / or one or more user attributes may be based at least in part on the type of the user data object. For example, a user may be represented as a member user data object in a member platform. Additionally or alternatively, a user may be independently represented by a system user data object in an exchange platform. In some examples, a member user data object and a system user data object may include one or more of the same one or more user identifiers and / or user attributes. For example, a member platform may register multiple users with the sex exchange platform 102. During the registration process, the member platform may provide one or more of the user identifiers and / or user attributes, and in some examples, the exchange platform 102 may return another identifier.
[0220] In some embodiments, the member user data object is an internal representation of a user within a member platform (e.g., a service provider platform 440). The member tool data object may include one or more user identifiers 522, such as a member user identifier, a user key from an exchange platform 102, etc. Additionally or alternatively, the member user data object may include one or more user attributes. One or more user attributes may indicate one or more contextual features of a user. In some examples, a user attribute may indicate one or more identifiable features of a user. For example, a user attribute may indicate a user's first name, last name, mailbox, physical address (e.g., one or more of a street, location, region, zip code, country, etc.), birthday (e.g., date of birth, age group, etc.), phone number, etc. In some examples, a user attribute may include an encrypted representation, a hash representation, and / or a representation that is otherwise securely protected of a user's identifiable features. For example, a user attribute may include one or more hash identifiers of a user, etc.
[0221] In some embodiments, the system user data object is an external representation of a user of a member within the exchange platform 102. The system user data object may include one or more user identifiers, such as a user reference 502 for the member platform, a system user identifier, etc. Additionally or alternatively, the system user data object may include one or more user attributes, such as the user attributes described above. For example, a member platform may register a user with the exchange platform 102. During the registration process, the member platform may provide a user reference 502 for the user and / or one or more user attributes. In some examples, the user attributes may include a hashed identifier and / or an encrypted identifier of the user.
[0222] In some embodiments, the user identifier comprises a unique identifier of a user involved in the value-based exchange. The user identifier may comprise a sequence of numbers, an alphanumeric sequence, any / or any other sequence of characters or symbols representing a user of the exchange platform 102 and / or the member platform. In some examples, the user identifier may comprise a user reference 502, a user key, a system user identifier, a member user identifier, etc.
[0223] In some embodiments, the system user identifier is a unique identifier used to represent a user within exchange platform 102. For example, the system user identifier may include a numeric sequence, an alphanumeric sequence, any / or any other characters or symbols that represent a user to exchange platform 102. In some examples, the system user identifier may include a UUID that is specific to a certain user. In some examples, the system user identifier may include at least one of system identifiers 512.
[0224] In some embodiments, the member user identifier 522 is a unique identifier for representing a user within the member platform. For example, the member user identifier may include a sequence of numbers, a sequence of letters-numbers, any / or any other sequence of characters or symbols representing a user to the service provider platform 440.
[0225] In some embodiments, user reference 520 can be a unique identifier used to reference member user identifier 508. For example, user reference 502 can be generated by a member platform and / or provided to exchange platform 102 to allow exchange platform 102 to reference a user associated with the member platform. In some examples, user reference 502 is the same value as member user identifier 522. In some examples, user reference 502 is a different value that maps to member user identifier 522.
[0226] In some embodiments, the user key is a unique identifier for quoting a system user identifier. For example, the user key can be generated and / or provided by the exchange platform 102 in the process of registering a user to the exchange platform 102. In some examples, the user key can include an encapsulated system user identifier. For example, the user key can include an alphanumeric string formatted according to a key format established by the exchange platform (and / or one or more APIs thereof). For example, the format of the key can include a first part of characters (e.g., the first six characters), which can be retained as a partition for identifying an entity (e.g., a member, etc.) associated with the key. For example, for the user key, the partition can include a service provider partition 504 and / or a partner partition. The second part of the character can identify the system user identifier.
[0227] like Figure 5 As shown, keys 516 (e.g., user keys and tool keys described herein) can be shared across the exchange platform 102 and the service provider platform 440. In addition, in some examples, references (e.g., tool references 520 and user references 502) can be shared across entities. These identifiers and the mapping schemes described herein allow the exchange platform 102 to reference the service provider tool 518 without knowing the persistent credentials 514 (e.g., card number, etc.) of the service provider tool 518. As described herein, one or more of the keys 516 and / or references can be provided to the service provider platform 440 alone or in any combination. In some examples, each of the keys 516 and references can be provided to the service provider platform 440 through redundant processes, which allows the service provider platform to verify that the communication is provided by the exchange platform 102 (e.g., an entity with access to a specific set of keys and references, etc.).
[0228] In some embodiments, the persistent credentials 514 of the service provider tool 518 include sensitive user and / or tool credentials (such as card numbers, account numbers, subscription numbers, etc.) that may expose users, members, and / or intermediary entities to risks. When a user applies for, is authorized, and / or otherwise enables the opening of a new service provider tool 518, the persistent credentials 514 may be generated, accessed, and / or otherwise provided to the user by the service provider platform 440. Traditionally, the user then uses the persistent credentials 514 to initiate a value exchange using the service provider tool. By doing so, each time the service provider tool 518 is used, the user is forced to expose sensitive credentials that are directly bound to the service provider tool 518. The key 516, reference, and identifier mapping schemes disclosed herein overcome these technical deficiencies.
[0229] In some examples, each identifier can be interpreted by a computing platform (e.g., exchange platform 102 and / or service provider platform 440), but not by a user. In order to enable a user to select a service provider tool 518 while maintaining the enhanced security features of the present disclosure, in some examples, the tool representation can be further enhanced. Figure 5 Identifier of .
[0230] In some embodiments, the tool represents ( Figure 5 518) is a unique identifier of a persistent credential 514 used to represent a service provider tool 518 to a user without exposing the service provider tool 518. For example, the tool representation may include a sequence of numbers, an alpha-numeric sequence, any / or any other sequence of characters or symbols that in appearance represents the service provider tool 518 only to entities with prior knowledge of the service provider tool 518. The format and / or value of the tool representation may be based at least in part on the type of service provider and / or service provider tool 518. For example, in a financial value system, the tool representation may include a portion of the persistent credential 514 (e.g., the last four digits, etc.), such as a card number (e.g., debit card, credit card, etc.), a financial account number, etc. As another example, in an information value system, the tool representation may include a portion of the persistent credential 514 (e.g., one or more numbers, alpha-numeric characters, etc.), such as a subscription account, etc. For example, the tool representation may include a derivative of the persistent credential 514 that only allows entities with prior knowledge of the persistent credential 514 to identify the persistent credential 514 using the tool representation. As another example, a tool representation may include a tool alias that is specified by a user and subsequently recognized by the user.
[0231] In some embodiments, a tool representation of the exchange platform 102 may be provided (e.g., during a registration process) in place of the persistent credentials 514. In this manner, the exchange platform 102 may use the tool representation to represent the service provider tool 518 without knowledge of the persistent credentials 514 from which the tool representation may be derived. For example, unlike conventional network-based exchange platforms, the exchange platform 102 may not require persistent credentials 514 corresponding to the service provider tool 518 to implement the various computing tasks of the present disclosure. This in turn allows the exchange platform 102 to operate more flexibly while storing previously unrecorded contextual data, reducing operational computing costs, and improving user and platform security against penetration attacks by malicious computing entities.
[0232] In some embodiments, the identifier mapping scheme is supplemented by a unique temporary key that is issued to the member platform to facilitate secure, real-time value exchange. For example, by implementing an exchange identifier 510 for representing aspects of value-based exchange, the exchange platform 102 can facilitate an additional layer of network and data security. Some examples of exchange identifiers 510 may include service provider-specific exchange identifiers and / or partner-specific exchange identifiers. Service provider-specific exchange identifiers may include temporary, unique exchange identifiers that temporarily represent service provider tools 518 and service provider platforms 440. For example, service provider-specific exchange identifiers may be mapped to system identifiers 512 for service provider tools 518. Partner-specific exchange identifiers may include temporary, unique exchange identifiers that temporarily represent service provider tools 518 and partner platforms. For example, partner-specific exchange identifiers may be mapped to keys 516 for service provider tools 518, which may be used to identify service provider platforms 440. In some examples, such mappings may be defined by exchange data objects.
[0233] In some embodiments, an exchange data object is a data entity representing an authorized value exchange between one or more members associated with the exchange platform 102. In some examples, the exchange data object may include one or more identifiers and / or one or more exchange attributes. For example, one or more identifiers and / or one or more exchange attributes may be based at least in part on the type of the exchange data object. For example, an exchange may be represented as a member exchange data object in a member platform. Additionally or alternatively, an exchange may be independently represented by a system exchange data object in the exchange platform 102. In some examples, a member exchange data object and a system exchange data object may include one or more of the same one or more identifiers and / or exchange attributes. For example, using some techniques of the present disclosure, the exchange platform 102 may issue one or more unique identifiers to the member platform, which may be used to authorize a value exchange.
[0234] In some embodiments, the system exchange data object is an internal representation of a value exchange using the exchange platform 102 as an intermediary. In some examples, the system exchange data object may include one or more different identifiers and / or exchange attributes depending on the role of the system exchange data object in the value-based exchange.
[0235] For example, the system exchange data objects may include a service provider-specific exchange data object corresponding to the service provider platform 440. The service provider-specific exchange data object may include one or more identifiers, such as an exchange identifier 510, a system identifier 512 (e.g., a system user identifier and / or a system tool identifier), a UUEK 514, etc. Additionally or alternatively, the service provider-specific exchange data object may include one or more exchange attributes, such as an expiration date, a currency (e.g., a currency for a financial value system, etc.), etc.
[0236] Additionally or alternatively, the system exchange data object may include a partner-specific exchange data object corresponding to the partner platform. The partner-specific exchange data object may include one or more identifiers, such as an exchange identifier 510, one or more keys 516 (e.g., tool keys), UUEK 524, member tool references (e.g., partner-specific tool references, etc.), etc. Additionally or alternatively, the partner-specific exchange data object may include one or more exchange attributes, such as an expiration date, a currency (e.g., a currency for a financial value system, etc.), a tool type, etc.
[0237] In some embodiments, a member exchange data object is an external representation of a value exchange mediated using the exchange platform 102. A member exchange data object may include one or more identifiers, such as a member exchange identifier, a member tool identifier 508, a UUEK 524 from the exchange platform 102, and the like.
[0238] In some embodiments, the exchange identifier 510 is a unique identifier for a value exchange using the exchange platform 102. The exchange identifier 510 may include a sequence of numbers, a sequence of letters-numbers, any / or any other sequence of characters or symbols that at least represent a user and / or a service provider tool 518. In some examples, the exchange identifier 510 may include a universal unique identifier (UUID) that can be mapped (e.g., through a series of identifiers, etc.) to a user, a service provider tool 518, and / or a member registered with the exchange platform 102. In some examples, the exchange identifier 510 may be generated using one or more UUID generators. For example, the exchange identifier 510 may include sixteen bytes of information generated according to one or more UUID formatting standards (e.g., UUID v4, etc.). Therefore, although the exchange identifier 510 may be used by the exchange platform 102 and / or member platform for one or more functions, the same exchange identifier 510 will be useless to external parties without a priori association between the exchange identifier 510 and one or more other identifiers. In addition to the a priori identifier association, the exchange identifier 510 may be associated with the exchange platform 102. Thus, even if an adversary recognizes the exchange identifier 510, the adversary still needs to impersonate the exchange platform 102 in order to use the exchange identifier 510. Furthermore, before the exchange identifier 510 can be used adversely, the adversary needs to update the settlement account to an account owned by the adversary, among many other tasks. Each of these tasks increases the amount of work required to overcome the enhanced security layer added by the exchange identifier 510. When paired with the temporary nature of the exchange identifier 510, these tasks can become very expensive.
[0239] In some examples, the exchange identifier 510 can be represented externally by a UUEK 524. For example, to facilitate credential-free exchange, the exchange platform 102 can issue one or more UUEKs 524 to one or more member platforms. As described herein, by identifying aspects of the value exchange via previously mapped data entities, the UUEK 524 can eliminate the reliance on traditional persistent credentials 514.
[0240] In some embodiments, the UUEK 524 is an external representation of the exchange identifier 510, and the UUEK 524 can be issued (e.g., in place of the exchange identifier 510) to an external entity (e.g., a user, a partner platform, and / or a service provider platform, etc.) to initiate a value-based exchange using the exchange platform 102. To this end, the UUEK 524 can be generated by the exchange platform 102 and the UUEK 524 can be issued to the external entity. Each UUEK 524 can include multiple values (e.g., up to fifty and / or more characters, which can be case-sensitive or insensitive) representing one or more aspects of the value-based exchange. For example, the multiple values can indicate the exchange identifier 510, a partition (e.g., identifying a recipient of the UUEK 524, etc.), an identifier type, and / or one or more flags. For example, the UUEK 524 can include a partner-specific UUEK and / or a service provider-specific UUEK. The partner-specific UUEK may be associated with a partner-specific exchange data object and may include a partner partition 506, while the service provider-specific UUEK may be associated with a service provider-specific exchange data object and may include a service provider partition 504, as described herein.
[0241] For example, the UUEK 524 may be generated according to a key format. The key format may include a plurality of characters, including, for example, fifty or more characters, which may or may not be case sensitive. The first portion of the characters (e.g., the first six characters) may be reserved as a partition for identifying a recipient of the UUEK 524. For example, the partition may include a partner partition 506, a service provider partition 504, and / or any other member partition. For example, the UUEK 524 may be issued in response to a request from an authorized member (e.g., an affiliated partner and / or a service provider).
[0242] Additionally or alternatively, at least one character of the key format (e.g., the seventh character) may identify the format of the UUEK 524. At least one additional character (e.g., the eighth character) may identify the type of the UUEK 524. In some examples, a second portion of characters may identify the exchange identifier 510 (e.g., a group of twenty-two characters after the eighth character). A third portion of characters may be reserved (e.g., a group of twenty characters after the first portion of characters). An example representation is given below:
[0243] ppppppF1Grrrrrrrrrwhere p represents a partition character, F represents a format character, i represents an identifier type character, G represents an exchange identifier 510, and r represents a reserved character. The key format allows for 9.8×1084 unique permutations, which is more than the number of atoms in the known observable universe. This enables new UUEKs 524 to be generated and distributed on demand without compromising the security of the underlying data (e.g., a user's identifier, tools, and / or any other potentially sensitive information) to which the UUEK 524 may be mapped.
[0244] As described herein, unique sequences of identifiers and mapping schemes between identifiers can facilitate a credential-free value exchange system for registered and / or unregistered entities. In some examples, one or more of the identifiers can be generated through a registration or enrollment process configured to establish cross-entity relationships between user, partner, and service provider entities. Figure 5 The identifiers in can be used to implement a communication interface that serves as a transport for object-level attributes. Figure 6 and Figure 7 The verification operation described.
[0245] V. Example System Operation
[0246] Figure 6 A process flow for facilitating credential-free value exchange according to one or more embodiments of the present disclosure is provided. The process flow describes a network-based process 600 for securely determining value-based exchanges at a granular level, at an object level, utilizing some of the communication technologies of the present disclosure. As described herein, process 600 can be used to overcome various limitations of traditional exchange systems that expose sensitive persistent credentials to multiple third parties, such as lack of flexibility, security, etc. Process 600 can be implemented by one or more computing devices, entities, and / or systems described herein. For example, through the various steps / operations of process 600, an exchange platform can utilize communication technologies to overcome various limitations of traditional exchange mechanisms by eliminating reliance on static, sensitive credentials, thereby providing greater flexibility and control over value-based exchanges.
[0247] Figure 6 An example process 600 is shown for explanation purposes. Although the example process 600 describes a particular order of steps / operations, the order may be modified without departing from the scope of the present disclosure. For example, some of the steps / operations illustrated may be performed in parallel or in a different order that does not significantly affect the functionality of the process 600. In other examples, different components of an example device or system implementing the process 600 may perform functions substantially simultaneously or in a particular order.
[0248] In some examples, process 600 is started after a registration and / or registration process in which a user and / or member platform may receive a UUEK for facilitating a value exchange without credentials. For example, as described herein, one or more registration processes may be pre-performed between an exchange platform and one or more service provider platforms to register multiple service provider tools with the exchange platform. Afterwards, the exchange platform may generate a UUEK and publish the UUEK to a registered service provider platform to initiate a value-based exchange using a registered service provider tool without referencing the persistent credentials of the service provider tool. Additionally or alternatively, a registration process may be performed to register a registered service provider tool maintained by a service provider platform with a partner platform. In some examples, the exchange platform may facilitate the registration process and generate a UUEK in response to a successful registration and publish the UUEK to a partner platform to initiate future value-based exchanges.
[0249] In the event that a user wishes to perform a value-based exchange with a partner platform where the user has registered a partner account, the partner platform may query the registered partner account and identify a published UUEK for the user based on the partner account for authorization of the value-based exchange. In the event that a user wishes to perform a value-based exchange with a partner platform where the user has not registered a partner account, the user may provide a previously published UUEK (e.g., a UUEK published to a service provider platform, etc.) to the partner platform (e.g., through a partner application, etc.), and the partner platform may use the UUEK to authorize the value-based exchange. For example, the partner platform may use the UUEK to issue an exchange request to the exchange platform to initiate a value-based exchange.
[0250] Using some of the communication techniques of the present disclosure, a member platform can issue an exchange request with object-level details that can be determined by the exchange platform. For example, by replacing the persistent credentials of the service provider tool with UUEK, the communication techniques of the present disclosure can provide a transmission mechanism for object-level details without compromising the security of the user, the service provider tool, or the member platform. This enables the exchange platform to act as a determination engine to determine object-level insights for the exchange request. According to the steps / operations of process 600, these insights can be utilized by the exchange platform to enforce member policies on behalf of the member platform without the member platform's continued involvement.
[0251] In some embodiments, process 600 includes receiving an exchange request with a UUEK at step / operation 602. For example, an exchange platform (e.g., a partner service of the exchange platform, etc.) may receive an exchange request using a partner interface to perform a value-based exchange. The exchange request may indicate a UUEK including an exchange identifier. Additionally or alternatively, the exchange request may include one or more request attributes. The one or more request attributes may include one or more object identifiers, object attributes, resolution flags, etc.
[0252] For example, the one or more request attributes may include a plurality of object identifiers corresponding to a plurality of objects associated with the value-based exchange. Additionally or alternatively, the one or more request attributes may include one or more object attributes of the plurality of objects. For example, the one or more object attributes may include one or more object-based attributes (e.g., one or more line item attributes), one or more exchange-based attributes (e.g., an amount of an object, a location of an object, etc.). For example, an exchange request may indicate an exchange location from which to obtain an object.
[0253] In some embodiments, one or more object identifiers and / or object attributes correspond to one or more record data objects maintained by the exchange platform. For example, the object identifier of the exchange request may correspond to the object identifier of the record data object. Additionally or alternatively, one or more of the object attributes of the exchange request may correspond to one or more object attributes of the record data object. In some examples, the exchange platform may identify one or more record data objects based at least in part on one or more object identifiers and / or one or more object attributes. In response to identifying the record data object, the exchange platform may increase the count attribute of the object. For example, the count attribute of the corresponding record data object may be increased in response to an exchange request that references an object represented by the record data object. In some examples, the count attribute may be one of a plurality of count attributes of an object, and the plurality of count attributes enable the exchange platform to aggregate object-level insights across a plurality of different member platforms, locations, etc.
[0254] In some examples, the request attributes may indicate one or more request resolution flags. The request resolution flag may indicate one or more member requirements (e.g., partner requirements, etc.) of the value-based exchange that are issuing the request. For example, one or more request resolution flags may be set by a member of the exchange network that provides the exchange request to the exchange platform. In some examples, the request resolution flag may indicate a partial exchange authorization or a full exchange authorization. A partial exchange authorization may authorize a partial completion of a value-based exchange, while a full exchange authorization may only authorize the full completion of a value-based exchange. For example, a full exchange authorization may require verification of all objects referenced by the value-based exchange to be executed by the exchange platform.
[0255] In some examples, request attributes may include a member exchange reference (e.g., a member platform's reference to a value-based exchange), a channel (e.g., a type of monetary exchange for a financial value system, such as push value transfer or pull value transfer, real-time payments, etc.), a currency (e.g., a currency used for a financial value system, etc.), an organization key (e.g., a platform identifier for a member organization), an organization category (e.g., an airline, apparel, etc.), an institution key (e.g., a platform identifier for a retail location, etc.), a staff identifier, and / or any other traceable information for a value-based exchange.
[0256] In some embodiments, process 600 includes identifying an exchange data object at step / operation 604. For example, an exchange platform (e.g., a partner service of the exchange platform, etc.) may identify the exchange data object based at least in part on an exchange identifier of the UUEK. For example, the exchange identifier may correspond to the exchange data object.
[0257] For example, as described herein, the UUEK may correspond to a partner platform and / or a service provider platform. For example, the UUEK may include a partner partition, which identifies the partner platform when the UUEK is published to the partner platform. In this case, the UUEK includes an exchange identifier corresponding to the partner-exchange data object. For another example, the UUEK may include a service provider partition, which may identify the service provider platform when the UUEK is published to the service provider platform. In this case, the UUEK includes an exchange identifier corresponding to the service provider-exchange data object. In some examples, the exchange platform may process the UUEK based at least in part on the member partition.
[0258] In some embodiments, an exchange platform (e.g., a partner service of the exchange platform, etc.) receives a UUEK including a partner partition that identifies the partner platform. The exchange platform can use the exchange identifier to identify a partner-specific exchange data object. The partner-specific exchange data object may include a tool key corresponding to a service provider tool of a member platform. The exchange platform may identify a system tool data object based at least in part on the tool key. For example, the exchange platform may identify a member platform based at least in part on a member partition of a tool key, and provide the tool key to a service corresponding to the member platform (e.g., a service provider service, etc.). The service may identify a system tool data object based at least in part on the tool key. The system tool data object may then be used to identify one or more identifiers (e.g., a user identifier, a tool identifier, etc.) to process an exchange request.
[0259] In some embodiments, an exchange platform (e.g., a partner service of the exchange platform, etc.) receives a UUEK containing a service provider partition that identifies the service provider platform. The exchange platform (e.g., a partner service of the exchange platform, etc.) may determine that a partner-specific exchange data object is unavailable. In response to the determination, the exchange platform may identify a member platform based at least in part on the service provider partition, and provide the UUEK to a service corresponding to the member platform (e.g., a service provider service, etc.). The service may identify a service provider-specific exchange data object based at least in part on the exchange identifier of the UUEK. The service provider-specific exchange data object may be utilized to identify a system tool data object based at least in part on the member platform and the exchange identifier. The system tool data object may then be utilized to identify one or more identifiers (e.g., a user identifier, a tool identifier, etc.) to process an exchange request.
[0260] In some embodiments, process 600 includes: determining one or more valid objects and / or invalid objects of the exchange request at step / operation 606. For example, an exchange platform (e.g., a verification service of the exchange platform, etc.) can determine one or more valid objects and / or one or more invalid objects of the exchange request based at least in part on a member policy associated with a service provider tool. In some examples, an exchange platform (e.g., a verification service of the exchange platform, etc.) can generate valid data objects and / or invalid data objects for the exchange request. A valid exchange data object can indicate one or more valid objects of the exchange request and / or one or more context attributes of the one or more valid objects. An invalid exchange data object can indicate one or more invalid objects of the exchange request and / or one or more context attributes of the one or more invalid objects.
[0261] In some embodiments, the exchange platform performs one or more screening operations to determine whether to validate and / or invalidate one or more objects of the exchange request. For example, the screening operation can be configured to invalidate an exchange request that violates one or more request restrictions. For example, the request restriction can indicate one or more parameters (e.g., geographic parameters, timing parameters, etc.) in which the service provider tool is limited. For example, a member policy can indicate one or more authorized locations in which the service provider tool can be used. In some examples, the service provider tool may be completely restricted outside the authorized location.
[0262] For example, as described herein, the exchange request may indicate an exchange location.The exchange platform may determine one or more valid objects and one or more invalid objects of the exchange request based at least in part on a comparison between the exchange location and one or more authorized locations.
[0263] In the event that the exchange location does not correspond to an authorized location, the exchange platform may proceed to step / operation 616 and provide an exchange response indicating a rejection of the exchange. In some examples, the exchange platform may provide the exchange response without providing a communication to a member platform associated with the service provider tool. In some examples, the exchange platform may provide a notification communication to the member platform to notify the member platform of the rejection of the exchange.
[0264] In the case where the exchange location corresponds to an authorized location, the exchange platform can determine one or more valid objects and / or invalid objects of the exchange request according to step / operation 608. In this way, the process 600 can save computing resources by continuously screening invalid exchange requests before processing object-level features of the exchange request. In addition, the process 600 enables the exchange platform to initially determine the exchange request, thereby reducing the computing resource requirements of the member platform that maintains the service provider tool.
[0265] In some embodiments, process 600 includes determining whether the exchange request includes an invalid object at step / operation 608. For example, an exchange platform (e.g., a verification service of the exchange platform, etc.) may determine whether the exchange request includes an invalid object. In the event that the exchange request does not include an invalid object, process 600 continues with step / operation 612. In the event that the exchange request includes an invalid object, process 600 continues with step / operation 610.
[0266] In some embodiments, process 600 includes: determining at step / operation 610 whether the exchange request includes a partial authentication flag. For example, the exchange request may include one or more request resolution flags, the one or more request resolution flags indicating a partial exchange authorization and / or a full exchange authorization. The exchange platform may determine whether the one or more request resolution flags indicate a partial exchange authorization. In the case where there is a partial exchange authorization and at least one valid object is identified, the exchange platform may proceed to step / operation 612, in which an exchange authorization request is provided to the member platform. For example, in the case where at least one valid object is identified, in response to determining that one or more request resolution flags indicate a partial exchange authorization, the exchange platform may provide an exchange authorization request to the member platform. In the case where there is a full exchange authorization and / or at least one valid object is not identified for the exchange request, the exchange platform may proceed to step / operation 616, in which an exchange response indicating an exchange rejection is provided to the member platform. In this way, process 600 can save computing resources by continuously screening exchange requests based at least in part on object-level features of the exchange request. In this manner, process 600 enables an exchange platform to initially determine exchange requests, thereby reducing the computing resource requirements of a member platform maintaining a service provider tool.
[0267] In some embodiments, the exchange platform generates an exchange record for a value-based exchange based at least in part on one or more valid and / or invalid objects. The exchange record may record one or more attributes of the value-based exchange. In some examples, the exchange record may be stored in a platform database. For example, the exchange record may be stored in association with a system tool identifier, a system user identifier, etc. The exchange record may indicate an object state of each of one or more valid objects, invalid objects, valid objects, and / or invalid objects and / or any other information associated with a value-based exchange.
[0268] For example, the exchange platform may record the object status of each object of the exchange request. The object status is a data entity that indicates the determination and / or classification of the object relative to the value-based exchange. For example, the object status of a valid object may include an object qualified status, etc. As another example, the object status of an invalid object may include an object ineligible status, etc. The object status of an object that has not been evaluated according to the member policy may include an object not evaluated status. The object status of an object that has not been processed according to the member policy may include an object unspecified status.
[0269] In some examples, the exchange platform can identify an object that does not correspond to the exchange request of the record data object. In this case, the exchange platform can use one or more object attributes (e.g., object identifier, etc.) of the object from the exchange request to generate a record data object for the object.
[0270] In some embodiments, process 600 includes: providing an exchange authorization request to a member platform at step / operation 612. For example, an exchange platform (e.g., a service provider service of the exchange platform, etc.) may provide an exchange authorization request to a member platform corresponding to a service provider tool using a service provider interface. The exchange authorization request may indicate a tool identifier and / or one or more valid objects of the exchange request. For example, the exchange platform may generate an exchange authorization request based at least in part on a system tool data object identified according to one or more aspects of a UUEK. The exchange authorization request may include a tool key and / or a tool reference from a system tool data object.
[0271] In some examples, the exchange authorization request may indicate a user identifier associated with the service provider tool. For example, the exchange platform may generate an exchange authorization request based at least in part on a system user data object identified according to one or more aspects of the UUEK. In some examples, the system user data object may be identified based at least in part on a user identifier of the exchange data object (e.g., a system user identifier). Additionally or alternatively, the system user data object may be identified based at least in part on a user identifier of a system tool data object (e.g., a system user identifier). In some examples, the exchange authorization request may include a user key and / or a user reference from the system user data object.
[0272] In some embodiments, the exchange authorization request defines a request for a member to perform a value-based exchange. In some embodiments, the exchange authorization request is provided from the exchange platform to a member of the exchange network. For example, in response to an exchange request from a partner of the exchange network, the exchange authorization request may be provided to a service provider of the exchange network. In some examples, the exchange authorization request may indicate a valid exchange data object for the exchange request. For example, the exchange authorization request may indicate one or more valid data objects, a valid exchange value, one or more object states associated with one or more valid data objects, etc. In some examples, the exchange authorization request may indicate an invalid exchange data object for the exchange request. For example, the exchange authorization request may indicate one or more invalid data objects, one or more object states associated with one or more invalid data objects, etc. For example, the exchange authorization request may indicate an exchange record for a value-based exchange.
[0273] In some embodiments, the exchange authorization request includes an exchange value, which is modified at least in part based on one or more valid objects of the exchange request. For example, the exchange request may include multiple object values corresponding to multiple objects associated with the value-based exchange and the initial exchange value of the multiple objects. The exchange platform can determine the exchange value for the value-based exchange by modifying the initial exchange value based at least in part on one or more of the multiple object values corresponding to one or more valid objects. For example, the initial exchange value can be modified to include an aggregate value of one or more object values corresponding to one or more valid objects. For example, the aggregate value can exclude the object value corresponding to one or more invalid objects of the exchange request. For example, the aggregate value can aggregate multiple object values of valid objects from the exchange request while removing all object values from invalid objects. In this way, the aggregate value can indicate the exchange value of valid objects authorized to be obtained using a specific service provider tool, and the exchange value excludes the portion corresponding to the invalid object in the initial exchange value. In some examples, the exchange platform can provide the member platform with an exchange authorization request using a service provider interface. The exchange authorization request indicates the exchange value modified relative to one or more valid objects.
[0274] In this manner, process 600 can conserve computing resources by continuously screening exchange requests based at least in part on object-level features of the exchange requests. In this manner, process 600 enables an exchange platform to preliminarily qualify exchange requests at a granular level, at the object level, to pre-validate objects on behalf of a member platform, thereby reducing computing resource requirements on a member platform maintaining a service provider tool.
[0275] In some embodiments, process 600 includes receiving an exchange authorization request at step / operation 614. For example, an exchange platform (e.g., a service provider service of the exchange platform, etc.) may receive an exchange authorization response indicating at least one of an exchange approval or an exchange rejection using a service provider interface.
[0276] In some embodiments, the exchange authorization response defines a response to the exchange authorization request. In some embodiments, the exchange authorization response is provided to the exchange platform from a member of the exchange network. For example, the exchange authorization response can be provided by a service provider of the exchange network in response to an exchange authorization request indicating one or more valid objects from the exchange request.
[0277] In some embodiments, the exchange authorization response indicates at least one of an exchange approval or an exchange rejection. The exchange authorization response may be based at least in part on a comparison between the exchange value (e.g., the exchange value is modified at least in part based on a valid object, etc.) and the asset availability of the service provider tool. For example, in response to receiving the exchange authorization request, the member may be configured to compare the exchange value with the asset availability of the identified service provider tool. In the event that the asset availability exceeds the exchange value, the value-based exchange may be authorized (e.g., resulting in an exchange approval, etc.), otherwise the value-based exchange may be rejected (e.g., resulting in an exchange rejection).
[0278] In some embodiments, the exchange authorization response indicates one or more contextual response attributes. For example, the one or more contextual response attributes may indicate one or more influencing factors of the exchange authorization response. For example, influencing factors may include bad actor risk and / or fraud check, error, full approval, instrument closed, instrument-based risk and / or fraud check, insufficient value, invalid UUEK, limit exceeded (e.g., exceeded UUEK or instrument usage limit), missing line items (e.g., for a value exchange that does not include a valid object), instrument not found, account not found, pin required, partial approval, member unavailable, transaction risk and / or fraud check, unsupported operation, user contact member (e.g., the user may need to contact a member (e.g., a service provider) to resolve the issue), user risk and / or fraud check, and combinations thereof.
[0279] In some embodiments, the exchange platform may increment a count attribute for each record data object corresponding to a valid object for which a value-based exchange has been authorized. For example, in response to authorization of an object represented by a record data object, a count attribute of the corresponding record data object may be incremented. In some examples, the count attribute may be one of a plurality of count attributes of the object, the plurality of count attributes enabling the exchange platform to aggregate object-level insights across a plurality of different member platforms, locations, etc.
[0280] In some embodiments, process 600 includes providing an exchange response in step / operation 616. For example, the exchange platform (e.g., a partner service of the exchange platform, etc.) may provide the exchange response based at least in part on the exchange authorization response using a partner interface. For example, the exchange response may indicate an exchange grant, an exchange rejection, one or more valid objects, and / or one or more invalid objects of the exchange request.
[0281] In some embodiments, the exchange response defines a response to the exchange request. In some embodiments, the exchange request is provided from the exchange platform to the member who provided the exchange request. The exchange response may indicate an exchange permission and / or an exchange rejection. Additionally or alternatively, the exchange response may indicate valid data objects, invalid data objects, and / or context response attributes. For example, the exchange response may indicate one or more valid objects and / or one or more invalid objects to the exchange request.
[0282] In some embodiments, the exchange platform updates the exchange record based at least in part on the exchange response. For example, the exchange record may provide context information for the exchange request. The context information may indicate one or more aspects of the exchange request, the exchange response, the exchange authorization request, and / or the exchange authorization request.
[0283] Figure 7 A process flow for determining objects for value-based exchanges according to one or more embodiments of the present disclosure is provided. The process flow describes a network-based process 700 for determining objects for value-based exchanges utilizing UUEKs, member policies, and / or record data objects. As described herein, process 700 can be utilized to overcome various limitations of traditional exchange systems that are unable to determine individual objects of value-based exchanges conducted over a network. Process 700 can be implemented by one or more computing devices, entities, and / or systems described herein. For example, through the various steps / operations of process 700, an exchange platform can utilize determination techniques to overcome various limitations of traditional exchange mechanisms by enabling more flexible entities to communicate with entity networks.
[0284] Figure 7 An example process 700 is shown for explanation purposes. Although the example process 700 describes a particular order of steps / operations, the order may be modified without departing from the scope of the present disclosure. For example, some of the steps / operations illustrated may be performed in parallel or in a different order that does not significantly affect the functionality of the process 700. In other examples, different components of an example device or system implementing the process 700 may perform functions substantially simultaneously or in a particular order.
[0285] In some examples, process 700 may include one or more sub-operations of step / operation 606 of process 600, wherein process 600 is configured to determine one or more valid objects and / or invalid objects of the exchange request. For example, process 700 may start at step / operation 606 and end at step / operation 608.
[0286] In some embodiments, process 700 includes identifying a service provider tool at step / operation 702. For example, an exchange platform (eg, a partner service of the exchange platform, etc.) may identify a service provider tool based at least in part on a UUEK as described herein.
[0287] In some embodiments, process 700 includes determining whether authentication is required at step / operation 704. For example, an exchange platform (e.g., an authentication service of the exchange platform, etc.) may determine whether object authentication is required for a value-based exchange based at least in part on the service provider tool and / or one or more objects of the value-based exchange. For example, object authentication may be required for age-restricted objects (e.g., alcohol, tobacco, etc.). Additionally or alternatively, object authentication may be required where one or more member policies correspond to a service provider tool (e.g., for electronic benefits transfer, health care benefits, etc.).
[0288] In the event that object verification is not required (e.g., none of the objects of the exchange request are age-restricted, the member policy does not correspond to the service provider tool, etc.), process 700 may return to Figure 6 Step / operation 608.
[0289] In the event that object authentication is required (e.g., the object of the exchange request is age-restricted, the member policy corresponds to the service provider tool, etc.), process 700 may continue to Figure 7 Step / operation 706.
[0290] In some embodiments, process 700 includes: identifying a member policy for a service provider tool at step / operation 706. For example, an exchange platform (e.g., a partner service of the exchange platform, etc.) can identify a member policy for a service provider tool. In some examples, the exchange platform can maintain and / or access multiple member policies. Each member policy can correspond to a member platform and / or a service provider tool of a member platform. In some examples, the exchange platform can identify a member policy based at least in part on a service provider tool. Additionally or alternatively, the exchange platform can identify a member platform corresponding to a service provider tool (e.g., based at least in part on a member partition, etc.), and identify a member policy based at least in part on the member platform.
[0291] In some examples, the member policy is based at least in part on the location associated with the exchange request. For example, the member policy can be identified at least in part based on the member platform and the location associated with the exchange request. In some examples, the location can include the user location. For example, the user location can include the permanent location of the user associated with the service provider tool (e.g., home address, residence, etc.). In some examples, the member policy can be based at least in part on the user's permanent location (e.g., the state of the residence, etc.). In some examples, the exchange platform can determine the user identifier associated with the value-based exchange at least in part based on the UUEK. The exchange platform can determine the user location based at least in part on the system user data object corresponding to the user identifier. In this case, the exchange platform can identify the member policy based at least in part on the member platform and the user location.
[0292] In some embodiments, the location is an exchange location that identifies the location from which the object is being obtained. For example, the exchange location can indicate a store address, etc. In some examples, the exchange location can be identified by an exchange request as described herein. In this case, the exchange platform identifies the member policy based at least in part on the member platform, the service provider tool, and / or the exchange location.
[0293] In some embodiments, process 700 includes determining one or more valid objects for the exchange request at step / operation 708. For example, the exchange platform may determine the one or more valid objects based at least in part on a comparison between a member policy and a plurality of objects of the exchange request.
[0294] In some embodiments, a valid object is an object for value-based exchange authorized according to a member policy. For example, a valid object may correspond to an object identifier and / or one or more object attributes authorized by a member policy. For example, in a financial value system, a valid object may be a product or service that is eligible for purchase using a service provider tool. For example, a product may be a gallon of milk, etc., which may be associated with a SKU code and / or one or more object attributes (e.g., "category: dairy", "amount: 1 gallon"). If a member policy corresponding to a service provider tool for value-based exchange authorizes a SKU code and / or one or more object attributes ("category: dairy", "amount: 1 gallon", etc.), the product may be a valid object for value-based exchange.
[0295] In some examples, the member policy may include a plurality of authorized object identifiers. The exchange platform may determine one or more valid objects based at least in part on a comparison between the plurality of object identifiers of the exchange request and the plurality of authorized object identifiers of the member policy. For example, the one or more valid objects may include each object from the exchange request having an object identifier that matches an authorized object identifier from the member policy.
[0296] Additionally or alternatively, the member policy may include a plurality of authorized object attributes. The exchange platform may identify a plurality of record data objects corresponding to the plurality of object identifiers of the exchange request. Each record data object may include a plurality of object attributes of the corresponding object. The exchange platform may determine one or more valid objects based at least in part on a comparison between the plurality of record data objects and the plurality of authorized object attributes. In some examples, for example, if the exchange request includes object attributes, the exchange platform may compare the object attributes of the exchange request with the member policy to determine one or more valid objects.
[0297] In some embodiments, the exchange platform may increase a count attribute for each record data object corresponding to a valid object. For example, the count attribute of the corresponding record data object may be increased in response to the validation of the object represented by the record data object. In some examples, the count attribute may be one of a plurality of count attributes of the object, the plurality of count attributes enabling the exchange platform to aggregate object-level insights across a plurality of different member platforms, locations, etc.
[0298] In some embodiments, process 700 includes: determining one or more invalid objects for the exchange request at step / operation 710. For example, the exchange platform (e.g., a verification service of the exchange platform, etc.) may determine the one or more invalid objects based at least in part on a comparison between one or more valid objects and a plurality of objects associated with the value-based exchange. For example, the one or more invalid objects may include each object from the exchange request that has not been verified according to the member policy. Additionally or alternatively, for example, if the member policy indicates a plurality of restricted objects, the member platform (e.g., a verification service of the member platform, etc.) may determine the one or more invalid objects based at least in part on a comparison between the member policy and the plurality of objects of the exchange request, as described with reference to step / operation 708.
[0299] In some embodiments, an invalid object is an object that is not authorized for value-based exchange according to a member policy. For example, an invalid object may correspond to an object identifier and / or one or more object attributes that are not authorized by a member policy. For example, in a financial value system, an invalid object may be a product or service that is not eligible for purchase using a service provider tool. For example, a product may be a liter of alcohol, etc., which may be associated with a SKU code and / or one or more object attributes (e.g., "category: alcohol", "amount: liter", etc.). If a member policy corresponding to a service provider tool for value-based exchange restricts SKU codes and / or one or more object attributes ("category: alcohol", "amount: 1 liter", etc.), the product may be an invalid object for value-based exchange.
[0300] In some embodiments, a valid exchange data object is a data object that indicates one or more valid objects of a value-based exchange. In some examples, the valid exchange data object can be based at least in part on a comparison between an exchange request and a member policy corresponding to the exchange request. In some examples, the valid exchange data object can include a plurality of object identifiers and / or one or more object attributes of the one or more valid objects of the value-based exchange.
[0301] In some examples, the valid exchange data object may indicate an exchange value. The exchange value may be an aggregate value of each of the valid data objects. In some examples, the exchange value may be modified based on the initial exchange value using some techniques of the present disclosure to adjust the exchange value to meet the valid objects of the value-based exchange.
[0302] In some examples, a valid exchange data object may indicate one or more object states of one or more valid objects.
[0303] In some embodiments, the exchange platform generates an invalid exchange data object for the exchange request. The invalid exchange data object may be a data object indicating one or more invalid objects of a value-based exchange. In some examples, the invalid exchange data object may be based at least in part on a comparison between the exchange request and the member policy corresponding to the exchange request. For example, the invalid exchange data object may indicate multiple invalid objects of a value-based exchange. Additionally or alternatively, the invalid exchange data object may be based at least in part on the exchange request and a valid exchange data object. For example, the invalid exchange data object may indicate multiple invalid objects of a value-based exchange. For example, the invalid exchange data object may indicate multiple objects of a value-based exchange that are not included in a valid exchange data object.
[0304] The invalid exchange data object may include a plurality of object identifiers and / or one or more object properties of one or more invalid objects of the value-based exchange. In some examples, the invalid exchange data object may indicate one or more object states of the one or more invalid objects.
[0305] Figure 8 A message flow diagram is provided showing the steps / operations for determining a value-based exchange adjusted according to a service provider tool. It will be appreciated that the Figure 6 and Figure 7 The steps / operations in the message flow diagram are executed and implemented by the corresponding steps / operations in the message flow diagram.
[0306] At step / operation 804 , the user 802 initiates a value-based exchange to acquire a plurality of objects from the partner platform 420 using a service provider tool maintained by the service provider platform 440 .
[0307] At step / operation 806, the partner platform 420 provides an exchange request to the exchange platform (e.g., a partner service of the exchange platform, etc.) to perform a value-based exchange. The exchange request includes the UUEK and indicates a plurality of objects. For example, the partner platform 420 may send an exchange request with the UUEK and a plurality of object identifiers to the exchange platform (e.g., a partner service 410 of the exchange platform, etc.).
[0308] At step / operation 808, the exchange platform (e.g., the exchange platform's partner service 410, etc.) provides the UUEK and data indicating the plurality of objects to the service provider service 412 corresponding to the UUEK. For example, the exchange platform (e.g., the exchange platform's partner service 410, etc.) may call the service provider service 412 using the UUEK and the plurality of object identifiers of the exchange request.
[0309] At step / operation 810, the exchange platform (e.g., the service provider service 412 of the exchange platform, etc.) identifies a service provider tool and / or user corresponding to the UUEK. For example, the exchange platform (e.g., the service provider service 412 of the exchange platform, etc.) may query the system user data object and the system tool data object associated with the UUEK.
[0310] At step / operation 812, the exchange platform (e.g., the service provider service 412 of the exchange platform, etc.) determines whether object authentication is required for the value-based exchange based at least in part on the user and / or service provider tool. For example, the exchange platform (e.g., the service provider service 412 of the exchange platform, etc.) may determine whether object authentication is required for the exchange request based at least in part on the UUEK, user, service provider tool, and / or object identifier of the exchange request.
[0311] In response to determining that object authentication is required, at step / operation 814, the exchange platform (e.g., the exchange platform's service provider service 412, etc.) provides data indicating the user and / or the plurality of objects to the authentication service 408. For example, the exchange platform (e.g., the exchange platform's service provider service 412, etc.) may call the authentication service 408 using the plurality of object identifiers of the exchange request and the system user data object.
[0312] At step / operation 816, the exchange platform (e.g., the exchange platform's authentication service 408, etc.) compares the plurality of objects to the member policies corresponding to the service provider tool. For example, the exchange platform (e.g., the exchange platform's authentication service 408, etc.) may query the object identifier of the exchange request.
[0313] The exchange platform (e.g., the exchange platform's authentication service 408, etc.) authenticates one or more of the plurality of objects based at least in part on the comparison, at step / operation 818. For example, the exchange platform (e.g., the exchange platform's authentication service 408, etc.) may authenticate one or more of the plurality of object identifiers against object identifiers found in a member policy corresponding to the service provider tool.
[0314] At step / operation 820, the exchange platform (e.g., the exchange platform's validation service 408, etc.) provides data indicating a plurality of valid objects to the service provider service 412. In some examples, the exchange platform (e.g., the exchange platform's validation service 408, etc.) may provide a list of invalid object identifiers to the service provider service 412 to identify valid objects (e.g., by distinguishing invalid objects from valid objects). For example, the exchange platform (e.g., the exchange platform's partner service, etc.) may return a list of ineligible object identifiers for a value-based exchange.
[0315] At step / operation 822, the exchange platform (e.g., the exchange platform's service provider service 412, etc.) modifies the exchange value based at least in part on the one or more valid objects. For example, the exchange platform (e.g., the exchange platform's service provider service 412, etc.) can adjust the authorization amount of the service provider platform 440 if applicable (e.g., one or more valid objects), or deny the value-based exchange if appropriate (e.g., no valid objects).
[0316] At step / operation 824, the exchange platform (e.g., the service provider service 412 of the exchange platform, etc.) provides an exchange authorization request to the service provider platform 440. For example, the exchange platform (e.g., the service provider service 412 of the exchange platform, etc.) may initiate a call (e.g., an API call, etc.) to the service provider platform 440 to request authorization for the sum of eligible objects among the multiple objects of the exchange request.
[0317] At step / operation 826, the service provider platform 440 provides an exchange authorization response to the exchange platform (eg, the service provider service 412 of the exchange platform, etc.) For example, the service provider platform 440 may return an authorization decision (eg, approved, denied, etc.).
[0318] At step / operation 828, the exchange platform (e.g., the exchange platform's service provider service 412, etc.) provides an exchange authorization response and / or data indicating one or more valid objects to the partner service 410. In some examples, the exchange platform (e.g., the exchange platform's service provider service 412, etc.) may provide a list of invalid object identifiers to the partner service 410. For example, the exchange platform (e.g., the exchange platform's service provider service 412, etc.) may return details of the authorization decision and object identifiers that are not eligible for acquisition (e.g., purchase, etc.) (e.g., object identifiers of one or more invalid objects).
[0319] At step / operation 830, the exchange platform (e.g., the exchange platform's partner service 410, etc.) provides an exchange response to the partner platform 420. The exchange response may indicate an exchange authorization response and / or data indicating one or more valid objects. In some examples, the exchange platform (e.g., the exchange platform's partner service 410, etc.) may provide a list of invalid object identifiers to the partner platform 420. For example, the partner service 410 may return details of the authorization decision and object identifiers (e.g., object identifiers of one or more invalid objects) that do not have access qualifications (e.g., approve $100, remove alcoholic beverages).
[0320] At step / operation 832, partner platform 420 provides an indication of the exchange response to user 802. For example, partner platform 420 may return an authorization decision to user 802.
[0321] VI. Conclusion
[0322] Many modifications and other embodiments will occur to those skilled in the art, with the benefit of the foregoing description and the teachings presented in the associated drawings. Therefore, it should be understood that the present disclosure is not limited to the specific embodiments disclosed, and modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a general and descriptive sense only and not for the purpose of limitation.
Claims
1. A computer-implemented method comprising: receiving, by one or more processors and using a partner interface, an exchange request for performing a value-based exchange, wherein the exchange request indicates a universally unique temporary key (UUEK) including an exchange identifier; identifying, by the one or more processors, an exchange data object based at least in part on the exchange identifier, wherein the exchange data object comprises a tool identifier of a service provider tool of a member platform; determining, by the one or more processors, one or more valid objects and one or more invalid objects for the exchange request based at least in part on a member policy corresponding to the member platform; providing, by the one or more processors and using a service provider interface, an exchange authorization request to the member platform, wherein the exchange authorization request indicates the instrument identifier and the one or more valid objects of the exchange request; receiving, by the one or more processors and using the service provider interface, an exchange authorization response indicating at least one of an exchange approval or an exchange denial; and An exchange response is provided, by the one or more processors and using the partner interface, based at least in part on the exchange authorization response, wherein the exchange response indicates (i) an exchange grant or an exchange denial and (ii) the one or more invalid objects of the exchange request.
2. The computer-implemented method of claim 1 , wherein: The exchange request includes one or more request resolution flags indicating a partial exchange authorization or a full exchange authorization, and wherein providing the exchange authorization request to the member platform includes: determining that the one or more request resolution flags indicate the partial exchange authorization; and In response to determining that the one or more request resolution flags indicate the partial exchange authorization, providing the exchange authorization request to the member platform.
3. The computer-implemented method of claim 1 , wherein: The exchange request includes a plurality of object identifiers corresponding to a plurality of objects associated with the value-based exchange.
4. The computer-implemented method of claim 3, wherein: The object identifier is the inventory unit of measure.
5. The computer-implemented method of claim 3, wherein: The member policy includes a plurality of authorized object identifiers, and determining the one or more valid objects and the one or more invalid objects of the exchange request includes: determining the one or more valid objects based at least in part on a comparison between the plurality of object identifiers and the plurality of authorized object identifiers; and The one or more invalid objects are determined based at least in part on a comparison between the one or more valid objects and the plurality of objects associated with the value-based exchange.
6. The computer-implemented method of claim 3, wherein: The member policy includes a plurality of authorized object attributes, and determining the one or more valid objects and the one or more invalid objects of the exchange request includes: identifying a plurality of record data objects corresponding to the plurality of object identifiers, wherein the record data objects include a plurality of object attributes of the objects; determining the one or more valid objects based at least in part on a comparison between the plurality of record data objects and the plurality of authorized object attributes; and The one or more invalid objects are determined based at least in part on a comparison between the one or more valid objects and the plurality of objects associated with the value-based exchange.
7. The computer-implemented method of claim 6, wherein: The plurality of object attributes include at least one of a spatial attribute, a count attribute, a value attribute, a source attribute, a component attribute, or a category attribute.
8. The computer-implemented method of claim 7, further comprising incrementing a count attribute of an object in response to the exchange request.
9. The computer-implemented method of claim 1 , wherein: The member policy is identified based at least in part on the member platform and a location associated with the exchange request.
10. The computer-implemented method of claim 9, wherein: The position includes a swap position, and the swap request indicates the swap position.
11. The computer-implemented method of claim 9, wherein: The location includes a user location, and the computer-implemented method further includes: determining a user identifier associated with the value-based exchange based at least in part on the UUEK; determining the user location based at least in part on a system user data object corresponding to the user identifier; and The member policy is identified based at least in part on the member platform and the user location.
12. The computer-implemented method of claim 11, wherein: The exchange request indicates an exchange location, and the member policy indicates one or more authorized locations, and wherein the computer-implemented method further comprises: The one or more valid objects and the one or more invalid objects of the exchange request are determined based at least in part on a comparison between the exchange location and the one or more authorized locations.
13. The computer-implemented method of claim 1, wherein: The exchange request includes a plurality of object values corresponding to a plurality of objects associated with the value-based exchange and an initial exchange value for the plurality of objects, and wherein the computer-implemented method further comprises: determining an exchange value for the value-based exchange by modifying the initial exchange value based at least in part on one or more object values of the plurality of object values corresponding to the one or more valid objects; and The exchange authorization request is provided to the member platform using the service provider interface, wherein the exchange authorization request indicates the exchange value.
14. A computing system comprising a memory and one or more processors communicatively coupled to the memory, the one or more processors configured to: An exchange request for performing a value-based exchange is received using a partner interface, wherein: The exchange request indicates a Universally Unique Temporary Key (UUEK) including an exchange identifier; identifying an exchange data object based at least in part on the exchange identifier, wherein the exchange data object comprises a tool identifier for a service provider tool of a member platform; determining one or more valid objects and one or more invalid objects for the exchange request based at least in part on a member policy corresponding to the member platform; providing an exchange authorization request to the member platform using a service provider interface, wherein the exchange authorization request indicates the tool identifier and the one or more valid objects of the exchange request; receiving, using the service provider interface, an exchange authorization response indicating at least one of an exchange approval or an exchange denial; and An exchange response is provided using the partner interface based at least in part on the exchange authorization response, wherein the exchange response indicates (i) an exchange grant or an exchange denial and (ii) the one or more invalid objects of the exchange request.
15. The computing system of claim 14, wherein: The exchange request includes one or more request resolution flags indicating a partial exchange authorization or a full exchange authorization, and wherein providing the exchange authorization request to the member platform includes: determining that the one or more request resolution flags indicate the partial exchange authorization; and In response to determining that the one or more request resolution flags indicate the partial exchange authorization, providing the exchange authorization request to the member platform.
16. The computing system of claim 14, wherein: The exchange request includes a plurality of object identifiers corresponding to a plurality of objects associated with the value-based exchange.
17. The computing system of claim 14, wherein: The object identifier is the inventory unit of measure.
18. The computing system of claim 17, wherein: The member policy includes a plurality of authorized object identifiers, and determining the one or more valid objects and the one or more invalid objects of the exchange request includes: determining the one or more valid objects based at least in part on a comparison between the plurality of object identifiers and the plurality of authorized object identifiers; and The one or more invalid objects are determined based at least in part on a comparison between the one or more valid objects and the plurality of objects associated with the value-based exchange.
19. One or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more processors, cause the one or more processors to: An exchange request for performing a value-based exchange is received using a partner interface, wherein: The exchange request indicates a Universally Unique Temporary Key (UUEK) including an exchange identifier; identifying an exchange data object based at least in part on the exchange identifier, wherein the exchange data object comprises a tool identifier for a service provider tool of a member platform; determining one or more valid objects and one or more invalid objects for the exchange request based at least in part on a member policy corresponding to the member platform; providing an exchange authorization request to the member platform using a service provider interface, wherein the exchange authorization request indicates the tool identifier and the one or more valid objects of the exchange request; receiving, using the service provider interface, an exchange authorization response indicating at least one of an exchange approval or an exchange denial; and An exchange response is provided using the partner interface based at least in part on the exchange authorization response, wherein the exchange response indicates (i) an exchange grant or an exchange denial and (ii) the one or more invalid objects of the exchange request.
20. The one or more non-transitory computer-readable storage media of claim 19, wherein: The exchange request includes a plurality of object values corresponding to a plurality of objects associated with the value-based exchange and an initial exchange value for the plurality of objects, and wherein the computer-implemented method further comprises: determining an exchange value for the value-based exchange by modifying the initial exchange value based at least in part on one or more object values of the plurality of object values corresponding to the one or more valid objects; and The exchange authorization request is provided to the member platform using the service provider interface, wherein the exchange authorization request indicates the exchange value.
Citation Information
Patent Citations
System and method for new execution and management of financial and data transactions
CN101506820A
Real-time payment authorization
CN107103469A
Systems and methods of real-time processing
CN113711258A
Adjudication method and system
US20020147678A1
Integration of WIC items and transactions into personal shopping devices
US20060149626A1