Enabling network-level policies for network-based replacement
The intermediary computing platform leverages UUEK for credential-free exchanges, addressing security and flexibility issues in network-based value systems, enhancing data security and network throughput.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-08-03
- Publication Date
- 2026-04-02
AI Technical Summary
Existing network-based value exchange systems rely on persistent credentials, exposing users to fraud, regulatory risks, and data security vulnerabilities, and are inflexible, leading to network congestion and inefficient transaction processing.
A secure intermediary computing platform uses Universally Unique Ephemeral Keys (UUEK) to facilitate credential-free exchanges, enabling flexible interfaces for contextual information transfer and real-time authorization without disclosing sensitive user or instrument information.
This approach enhances data security, reduces computing resource requirements, and increases network throughput by eliminating persistent credentials, allowing seamless and secure value-based exchanges.
Smart Images

Figure 0007839904000001 
Figure 0007839904000002 
Figure 0007839904000003
Abstract
Description
Technical Field
[0001] Cross - reference to Related Applications This application claims the benefit of U.S. Provisional Patent Application No. 63 / 370,275, filed on August 3, 2022, and U.S. Patent Application No. 18 / 343,433, filed on June 28, 2023, which are hereby incorporated by reference in their entirety, including any figures, tables, drawings, and appendices.
[0002] Embodiments of the present disclosure generally relate to credential - free exchange of value among a number of entities in a value system.
Background Art
[0003] Various embodiments of the present disclosure address technical problems related to network - based value exchange, taking into account the limitations of existing exchange processing technologies and architectures. Existing processes for performing exchanges via computing networks rely on the use of persistent credentials such as payment credentials (e.g., card numbers, usernames, passwords, bank branch codes, account numbers, etc.) and their warrants, which expose the recipients of the credentials to fraud, regulatory and compliance costs, and reputation risks. Moreover, due to the static nature of conventional credentials, users must accept the risk of financial losses, damaged credit scores, identity theft, and other consequences each time they provide their credentials to enable a transaction. The inherent risks of persistent credentials have conventionally been addressed using strict communication protocols, data governance procedures, and authentication schemes, each of which adds costs and complicates network - based transactions without solving the underlying technical problems regarding data security.
[0004] For example, a traditional service provider managing user accounts can restrict their disclosure by using disclaimers that prevent users from providing their credentials to specific third parties. This leads to network congestion, as a limited number of authorized parties become overloaded with requests from the entire population. Furthermore, authorized parties are required to enroll users by obtaining highly confidential persistent credentials (e.g., username, password, routing / transit credentials) from them, and then manage a robust number of persistent credentials across the entire number of registered users. This presents a single attack vector for a malicious party to obtain highly confidential user information about the user population. To counter such attacks, traditional transaction processing entities are required to employ imperfect, still vulnerable, expensive, resource-intensive, and robust data governance procedures and authentication schemes.
[0005] Other techniques to address data security include restricting exchange communications, such as those for financial transactions, to rigid messaging standards, such as ISO messaging standards, which are inflexible and, by design, unable to provide contextual data about transactions, such as object identifiers. By doing so, these techniques prevent the activation of object-level attributes involved in the exchange, among other functions that would otherwise provide seamless network-based exchange. For example, traditional exchange networks lack the ability to pass object-level details and, therefore, the ability to adjudicate individual objects involved in an exchange request in a way that is acceptable in the context of value-based exchange. Thus, traditional approaches to handling limitations on value-based exchange require that limitations be handled in point-of-sale management systems and rely on manual intervention, which can be unreliable, insecure, and a waste of time. Therefore, by using such communication standards, traditional exchange networks improve network security at the expense of exchange functionality.
[0006] Various embodiments of this disclosure make significant contributions to various existing network-based switching technologies by addressing each of these technical challenges. [Overview of the Initiative] [Means for solving the problem]
[0007] Various embodiments of this disclosure disclose a secure intermediary computing platform and computing services that facilitate credential-free execution of value-based exchanges by leveraging a Universally Unique Ephemeral Key (UUEK) to eliminate the use of persistent credentials. To do so, the intermediary computing platform can facilitate interaction between one or more member platforms for registering users and / or user instruments in a value exchange system enhanced by a new temporary data structure known herein as UUEK. Unlike conventional exchange systems, the intermediary computing platform does not receive or rely on persistent user or instrument credentials for registering users and / or user instruments. This elimination of credentials enables the use of new and more flexible interfaces, such as application programming interfaces (APIs) described herein, which are leveraged by the intermediary computing platform to communicate with different network members to register users, user instruments, and instrument policies without exposing user credentials at any step in the process. Upon registration, 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 highly confidential user or instrument information.The interface between the member platform and the intermediary platform can enable (i) a user to present an issued UUEK from the 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 for the same or another member platform and provide the instrument key to the member platform to authorize value-based exchange. In this way, network-based transactions can be authorized in a seamless process without disclosing highly sensitive user or instrument information that could be vulnerable to network attacks.
[0008] By doing so, some of the technologies of this disclosure enable the use of flexible interfaces, such as APIs, between entities in value-based exchanges. These interfaces can enable requests and / or responses between entities, allowing for the transfer of contextual information, such as object identifiers, during the execution of a value-based exchange. Thus, the execution of a value-based exchange can be determined at least in part on the arbitration of the object-level details of the value-based exchange. As described herein, this enables the enforcement of instrument-specific policies by the intermediary platform without the risk of disclosing sensitive user or financial information. Finally, the technologies of this disclosure enable additional flexibility (e.g., through the use of new interfaces) and security (e.g., through the elimination of persistent credentials) while reducing computing power requirements and enabling significantly greater network throughput for exchange processing compared to traditional technologies.
[0009] In some embodiments, a computer execution method receives an exchange request for performing a value-based exchange by one or more processors and using a partner interface, wherein the exchange request is a universally unique ephemeral key containing an exchange identifier. The process includes providing, receiving, a key (UUEK), identifying an exchange data object by one or more processors at least partially based on an exchange identifier, wherein the exchange data object includes an instrument identifier of a member platform's service provider instrument, determining, by one or more processors, at least partially based on a member policy corresponding to the member platform, one or more valid objects and one or more invalid objects for an exchange request, providing, by one or more processors and using a service provider interface, an exchange authorization request to a member platform, wherein the exchange authorization request provides, an instrument identifier and one or more valid objects for the exchange request, receiving, by one or more processors and using a service provider interface, an exchange authorization response providing, at least partially based on an exchange authorization response, wherein the exchange response provides, (i) an exchange authorization or an exchange denial, and (ii) one or more invalid objects for the exchange request.
[0010] In some embodiments, the computing system includes memory and one or more processors communicatively coupled to the memory. One or more processors receive exchange requests for performing value-based exchanges using a partner interface, wherein the exchange request is a universally unique ephemeral key containing an exchange identifier. The system is configured to: provide, indicate, a key (UUEK); identify an exchange data object at least partially based on an exchange identifier, wherein the exchange data object includes an instrument identifier of a member platform's service provider instrument; determine one or more valid objects and one or more invalid objects for an exchange request at least partially based on a member policy corresponding to the member platform; provide, using a service provider interface, an exchange authorization request, wherein the exchange authorization request indicates, provides an instrument identifier and one or more valid objects for the exchange request; receive, using a service provider interface, an exchange authorization response indicating at least one of exchange approval or exchange rejection; and provide, using a partner interface, an exchange response at least partially based on the exchange authorization response, wherein the exchange response indicates, provides (i) exchange approval or exchange rejection, and (ii) one or more invalid objects for the exchange request.
[0011] In some embodiments, one or more non-ephemeral computer-readable storage media, when executed by one or more processors, receive exchange requests for performing value-based exchanges using a partner interface, wherein the exchange request is a universally unique ephemeral key containing an exchange identifier. The instructions include: providing an exchange authorization request to a member platform using a service provider interface, wherein the exchange authorization request indicates, receives, a key (UUEK), identifies an exchange data object at least partially based on the exchange identifier, the exchange data object includes the instrument identifier of the member platform's service provider instrument, determines one or more valid objects and one or more invalid objects for an exchange request at least partially based on the member policy corresponding to the member platform, provides, a service provider interface, the exchange authorization request indicates, provides the instrument identifier and one or more valid objects for the exchange request, receives, a service provider interface, the exchange authorization response indicating at least one of exchange approval or exchange rejection, and provides, a partner interface, the exchange response indicating, provides (i) exchange approval or exchange rejection, and (ii) one or more invalid objects for the exchange request.
[0012] Having explained this disclosure in general terms, I will now refer to the attached drawings, but these drawings are not necessarily drawn to scale. [Brief explanation of the drawing]
[0013] [Figure 1] This is an illustrative diagram of a computing ecosystem according to one or more embodiments of the present disclosure. [Figure 2] This is an illustrative schematic diagram of a computing platform according to one or more embodiments of the present disclosure. [Figure 3] This is an illustrative schematic diagram of a client device according to one or more embodiments of the present disclosure. [Figure 4] This is an exemplary block diagram of an exemplary value credential-free exchange system according to one or more embodiments of the present disclosure. [Figure 5] This is an exemplary data diagram illustrating how to facilitate value credential-free exchange according to one or more embodiments of the present disclosure. [Figure 6] This is a process flow for facilitating the exchange of value without requiring credentials, according to one or more embodiments of the present disclosure. [Figure 7] This is a process flow for arbitraging objects in a value-based exchange, according to one or more embodiments of the present disclosure. [Figure 8] A messaging flow for enabling value-based exchange, according to one or more embodiments of the present disclosure. [Modes for carrying out the invention]
[0014] Various embodiments of this disclosure are described in more detail below with reference to the accompanying drawings, which illustrate some, but not all, embodiments of this disclosure. In practice, this disclosure may be embodied in many different forms and should not be construed as an limitation to the embodiments described herein, but rather these embodiments are provided so as to satisfy the applicable legal requirements of this disclosure. The term “or” is used herein in both an alternative and conjunctive sense unless otherwise indicated. The terms “exemplary” and “example” are used herein as examples without indication of a quality level. Terms such as “computing,” “determining,” “generating,” and / or similar words are used herein without distinction to refer to the creation, modification, or identification of data. Furthermore, “at least in part on,” “based on,” and / or similar words are used herein without distinction in a broadly interpretable manner, unless otherwise indicated, so as not necessarily to indicate that it is at least in part on or based on only one or more of the elements referenced. Similar numbers refer to similar elements throughout.
[0015] I. Summary and Technical Advantages Various embodiments of this disclosure provide technical solutions for managing network-based exchanges. In various embodiments, an exchange platform may be configured to facilitate credential-free exchanges of value between one or more member platforms. These exchanges can be facilitated in real time without persistent credentials that could expose members to financial, legal, reputational, or other risks. Thus, in various embodiments, client devices can buy, sell, and / or execute value-based exchanges in real time over any network without disclosing highly confidential information that is vulnerable to network-based attacks.
[0016] Embodiments of this disclosure provide an improved object-level exchange-enabling technology that leverages new interfaces and data transformation and policy matching technologies to enhance data security and communication flexibility while reducing computing resource expenditure requirements for protecting highly confidential data over network communications.
[0017] Some of the technologies in this disclosure, for example, extract data objects and convert them into unique data keys that are recognizable only to authorized entities. These data keys may be provided and / or established by leveraging exchange interfaces between the exchange platform and other member platforms in the exchange network. Once established, the data keys may be mapped to confidential credentials stored within the source platform (e.g., a service provider platform) without requiring the network transmission of confidential credentials. Future communications to facilitate value-based exchanges may replace traditional persistent credentials with data keys to enable the source platform to identify persistent credentials and / or perform one or more actions for specific instruments associated with those persistent credentials. Thus, exchange platforms can facilitate exchanges using keys (and / or other identifiers) that cannot be traced back to the underlying confidential information. This further enables exchange platforms to track, facilitate, and distribute network-based communications holistically without exposing members to network attacks.
[0018] Some embodiments of this disclosure present network-based exchange processing technology for facilitating credential-free exchanges. To do so, some of the technologies in this disclosure leverage a novel data structure called UUEK, which can replace persistent credentials traditionally used to authorize value-based exchanges. Using the technologies in this disclosure, UUEK can be securely issued across member platforms to enable users to perform value-based exchanges using identifiers recognizable by a single-party exchange platform. UUEK can be mapped to a unique identifier that can reference sensitive information without directly identifying (and thereby disclosing) the sensitive information. The unique identifier can, for example, reference a mapping that is interpretable only by the source platform, and therefore the identifier is unusable by a malicious party not associated with the exchange platform. In this way, the exchange platform can distribute, track, and facilitate exchanges without exposing member platforms to data security risks. Furthermore, the exchange platform can continuously update, modify, and / or redistribute UUEK to member platforms in order to continuously adapt UUEK in real time. Thus, exchange platforms can provide technical improvements to data and network security while reducing computing resource requirements (for example, for securely encrypting persistent credentials) to facilitate value-based exchange.
[0019] Some of the technologies in this disclosure can leverage credential-free exchange to enable the use of flexible exchange interfaces between members of an exchange network. Unlike conventional exchange interfaces, credential-free exchange enables the use of an interface capable of providing contextual information, such as object-level details, associated with the requested value-based exchange. In this way, the intermediary computing platform can receive the information necessary to activate individual objects of value-based exchange with respect to various exchange measures, such as member policies. Thus, the intermediary computing platform can register in real time different exchange measures tailored to specific members of the exchange network for implementing object activation, specifically tailored to each member of the exchange network. Exchange measures can be updated in real time (e.g., daily) to continuously refine the activation technology for value-based exchange in response to changing circumstances. Ultimately, this enables a network-operated solution in which an intermediary computing platform, a single computing entity, can enforce exchange measures in real time on behalf of multiple members. The network-operated solution eliminates computing inefficiencies and errors associated with maintaining the integrity of exchange measures across multiple heterogeneous computing entities. For example, using the technology of this disclosure, a single update from a member can be applied in real time at the network level, ensuring absolute compliance with constantly changing metrics. By handling exchange activation, the technology of this disclosure reduces the requirements for secondary computing entities in the exchange network, thereby enabling new entrants to support unique programs regardless of the sophistication of the computing solutions they use.
[0020] Exemplary inventive and technically advantageous embodiments of the present disclosure include: (i) data conversion, mapping, and processing schemes for facilitating network-based credential-free exchange; (ii) exchange interfaces and network-based communication schemes for improving network security for cross-platform communication; (iii) temporary data structures for facilitating real-time, secure, and dynamic value-based exchange, and data management techniques for distributing the temporary data structures; and (iv) real-time object enabling techniques for enabling individual objects of the exchange.
[0021] II. Exemplary Definitions In some embodiments, the term "exchange platform" refers to a computing entity configured to facilitate credential-free exchange of value for one or more members in an exchange network. The exchange platform can include one or more processing devices, memory devices, and / or the like, physically and / or wirelessly coupled and configured to collectively (and / or individually) perform one or more computing tasks for facilitating value-system-independent exchange. In some examples, the exchange platform can include, define, and / or otherwise utilize one or more APIs for facilitating communication (such as requests and responses) among multiple members. As described herein, the APIs can be utilized to facilitate secure exchange among one or more members in any value system.
[0022] In some embodiments, the term "member" refers to an entity that works with an exchange platform to participate in value exchange. By way of example, a member can include (i) a partner that uses the exchange platform to receive value, (ii) a service provider that uses the exchange platform to provide value, and / or (iii) both a partner and a service provider. As used herein, a member can be referred to as a partner when receiving value through value exchange and / or as a service provider when providing value through value exchange. Thus, depending on the role of the member in value exchange, the same member can be both a partner and a service provider. For example, a member can be a partner that receives value for value exchange. The same member can be a service provider that provides value in another value exchange. In some examples, the same member can be both a partner and a service provider in the same value exchange, and thus, the member uses the exchange platform to provide value and then receive value in the value exchange of only that member.
[0023] In some embodiments, a member is a partner when using a service provided by a service provider. A partner can include any value-seeking entity in any value system. By way of example, in a financial value system, a partner can include merchants (e.g., retailers, brick-and-mortar establishments, etc.) that can use a service provider such as a financial institution to access funds for financial transactions. Additionally or alternatively, in an information value system, a partner can include news publishers (e.g., newspapers, news agencies, etc.) that can use a service provider such as a communications company (e.g., wire service, news service, etc.) to access information for information transactions. Of course, the techniques of the present disclosure can be applied to any value system, and a partner can include any value seeker for any respective value system.
[0024] In some embodiments, a Member is a Service Provider when providing services to a Partner. A Service Provider can include a source of value in any value system. For example, in a financial value system, a Service Provider can include a financial institution (e.g., a bank, a foreign 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 can include a news agency (e.g., a wire service, a news service, etc.) from which news publishers can source information for publication. Naturally, the technology of this disclosure may be applied to any value system, and a Service Provider can include any source of value for any respective value system.
[0025] In some embodiments, the term “service provider instrument” refers to a mechanism utilized by a service provider to deliver value on behalf of a particular user. A service provider instrument may depend on the value system and / or the service provider. In some examples, a service provider instrument may include the service provider’s accounts. For example, in a financial value system, a service provider instrument may include bank accounts (e.g., checking accounts, savings accounts, etc.), securities accounts, credit limits, and / or similar. In an information value system, a service provider instrument may include subscriber accounts and / or similar. In some examples, a service provider instrument may include virtual instruments hosted by the service provider platform.
[0026] 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 to enable the use of service provider instruments maintained by the service provider.
[0027] For example, a service provider and / or its service provider instrument may be associated with an entity that governs the use of one or more services provided by the service provider. As an example, a service provider may facilitate electronic benefit transfer (EBT) systems such as Supplemental Nutrition Assistance Programs ("SNAP"), Temporary Assistance for Low-Income Families ("TANF"), Special Supplemental Nutrition Programs for Women, Infants, and Children ("WIC"), and / or similar, which provide financial assistance for approved food and household items. As another example, a service provider may facilitate, on behalf of a healthcare provider, healthcare plans that limit benefits by healthcare eligibility, procedure codes, procedure locations, and / or similar.
[0028] As an addition or alternative, a service provider may control the use of its own services. For example, a service provider may maintain the service provider instruments of its users. A service provider may restrict service provider instruments on behalf of users, on behalf of one or more internal policies, and / or similar. As an example, a service provider may include financial institutions that allow one or more users to restrict access to funds provided by those financial institutions. In this way, users may provide limited access to service provider instruments by establishing one or more member policies for those instruments.
[0029] In some embodiments, the term “member policy” refers to a data entity that defines one or more measures for enabling an object in a value-based exchange. A member policy may correspond to a member and / or a member’s service provider instrument. For example, a member policy may define one or more measures for enabling an object based at least in part on one or more member-specific standards. Additionally or alternatively, a member policy may define one or more measures for enabling an object based at least in part on one or more instrument-specific standards. Member-specific standards may apply to multiple service provider instruments associated with a member, while instrument-specific standards may apply to at least one of multiple service provider instruments associated with a member.
[0030] A member policy may specify multiple authoritative and / or unauthoritative policy attributes for value-based exchange. Authoritative policy attributes may specify one or more objects, object attributes, and / or value exchange attributes that are authorized for value-based exchange using service provider instruments in accordance with the member policy. Unauthoritative policy attributes may specify one or more objects, object attributes, and / or value exchange attributes that are restricted from using service provider instruments in accordance with the member policy. In some examples, a member policy may define multiple authoritative policy attributes, and multiple unauthoritative policy attributes may include multiple undefined attributes. In some examples, a member policy may define multiple unauthoritative policy attributes, and multiple authoritative policy attributes may include multiple undefined attributes.
[0031] In some examples, a policy attribute may include an object identifier, one or more object attributes, and / or one or more value exchange attributes that identify an object and / or one or more authorized / unauthorized quantities of an object.
[0032] For example, a member policy may include multiple object identifiers. These multiple object identifiers may indicate multiple objects that the service provider instrument is authorized / unauthorized to retrieve (e.g., purchase) and / or return. In some examples, the object identifier may also be a global object identifier. For example, a global object identifier may be a minimum stock management unit (SKU) code. Additionally or alternatively, a global object identifier may be a manufacturer part number (MPN), global trade item number (GTIN), product or service name, international standard book number (ISBN), unified product code (UPC), European product number (EAN), international product number (EIN), and / or similar. In some examples, the object identifier may also include a system object identifier. A system object identifier may include, for example, an identifier corresponding to a recorded data object representing an object within the exchange platform (e.g., a table identifier). In some embodiments, the system object identifier and the global object identifier are the same.
[0033] 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 (with, for example, one or more different object identifiers) that the service provider instrument is authorized to retrieve and / or unauthorized to return. For example, an object attribute may indicate an object category that the service provider instrument is not authorized to retrieve (e.g., regulated substances) and / or an object category that the service provider instrument is authorized to retrieve (e.g., food items). Furthermore, an object attribute may indicate an object category that the service provider instrument is not authorized to return (e.g., perishable items) and / or an object category that the service provider instrument is authorized to return (e.g., non-perishable items).
[0034] As yet another example, a policy attribute may include value exchange attributes corresponding to a particular value-based exchange and / or the objects included in the value-based exchange. A value exchange attribute may include, for example, the threshold exchange value of a value-based exchange in a service provider instrument. Additionally or alternatively, a value exchange attribute may include the threshold object exchange value, threshold object exchange quantity, and / or similar for the objects included in the value-based exchange. The threshold object exchange value may indicate the authoritative value for acquiring a particular object in a service provider instrument. The threshold object exchange quantity may indicate the authoritative quantity (e.g., weight, number of units, etc.) of a particular object that can be acquired (e.g., purchased) in a service provider instrument.
[0035] In some embodiments, the term “recorded data object” refers to a data object representing an object that may be involved in a value-based exchange. In some examples, a recorded data object may also be an internal representation of an object for an exchange platform. For example, an object may include an entirely different unit of value-based exchange in which value is being transferred. A recorded data object of an object may include a data object that records one or more aspects of the object (e.g., an object identifier, object attributes, etc.).
[0036] For example, a recorded 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 partially on a value system. For example, in a financial value system, an object may be a tangible or intangible item, product, and / or similar that can be purchased in exchange for a unit of currency. In a healthcare value system, an object may be a healthcare procedure and / or similar that can be covered by a healthcare policy.
[0037] In some examples, the exchange platform may maintain and / or access an object datastore containing multiple recorded data objects. As described herein, the object datastore may contain multiple recorded data objects obtained at least partially from one or more members of the exchange network.
[0038] In some embodiments, the term “object attribute” refers to a data entity that represents the characteristics of an object. Object attributes may include object-based attributes and / or exchange-based attributes.
[0039] 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 express object characteristics. Spatial attributes may indicate, for example, one or more dimensions of an object (e.g., height, width, weight); value attributes may indicate the value of an object (e.g., price); composition attributes may indicate one or more components, constituents, etc. of an object; category attributes may indicate one or more categories of an object (e.g., regulated substances); and / or similar. For example, one or more category attributes may indicate whether an object is associated with (i) one or more general merchandise categories such as vegetables, fruits, dairy products, meat, grains, seeds, alcohol, tobacco, store consumables, hot food, pharmacies, pet food, and non-food items; (ii) one or more medical categories such as dental, ophthalmology, and general health; or (iii) one or more information categories such as international sources and domestic sources, and / or similar. In some examples, compositional attributes may indicate one or more components of an object, such as the volume percentage of alcohol in the object, one or more ingredients, such as meat, dairy, peanuts, nuts, soy, and / or similar.
[0040] In some examples, object-based attributes can be based at least partially on a value system. For example, in a financial-based value system, at least, object-based attributes may include one or more line item attributes, one or more line item adjustments, and / or similar. Line item attributes may include sequence, line item group, product code, item name, item origin (e.g., provider, manufacturer, etc.), description, quantity, mass (e.g., grams, kilograms, etc.), one or more spatial dimensions (e.g., length, width, height, volume, etc.), unit quantity, unit tax amount, line quantity (e.g., quantity of line item), line tax amount, and / or similar. Line item adjustments may include adjustment type (e.g., manufacturing discount, store discount, profit, cash payment, gift card payment, other payment, and / or similar), item, product, or service code, item description, item quantity, unit item, item mass (e.g., grams, kilograms, etc.), unit quantity, unit tax amount, line quantity (e.g., line item quantity), line tax amount, and / or similar.
[0041] In some examples, one or more exchange-based attributes may indicate one or more aggregated exchange features. For example, an exchange-based attribute may include a count attribute that represents the number of value-based exchanges containing a particular object. The count attribute may indicate, for example, the number of units of a particular object acquired through multiple value-based exchanges. For example, as described herein, an exchange platform may increment the count attribute of an object each time the object is referenced in a value-based exchange. In some examples, an exchange platform may increment the count attribute of an object each time it is authorized to acquire the object, and / or decrement the count attribute of an object each time it is authorized to return the object. In some examples, a recorded data object may include multiple count attributes that identify the number of units of an object acquired, authorized to acquire, and / or requested to acquire, respectively.
[0042] In some examples, one or more exchange-based attributes may include exchange-specific features. For example, an exchange-based feature may include a source attribute that describes the location (e.g., a retailer, a physical store, a healthcare center, an information source, etc.) where an object is acquired (e.g., purchased) through a value-based exchange. The location may include, for example, a virtual and / or physical location. In some examples, the location may be value system-dependent. For example, in a financial value system, a source attribute may identify a retailer, a specific physical store of the retailer, an online platform, and / or similar. In a healthcare value system, a source attribute may be a virtual and / or physical healthcare center, and / or similar. In an information value system, a source attribute may be an information source and / or similar.
[0043] In some examples, recorded data objects and / or count attributes may be source-specific. For example, different recorded data objects and / or count attributes may be maintained for each source from which the object can be retrieved. Alternatively, recorded data objects and / or count attributes may be source-independent.
[0044] In some embodiments, the term “effective object” refers to an object of value-based exchange that is authorized according to a member policy. An effective object may correspond, for example, 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, an effective object may be a product or service eligible for purchase using a service provider instrument. For example, a product may be a gallon of milk, which may be associated with an SKU code and / or one or more object attributes such as “Category: Dairy Products,” “Quantity: 1 gallon,” and / or similar. A product can be an effective object for value-based exchange if the member policy corresponding to a service provider instrument for value-based exchange authorizes the SKU code and / or one or more object attributes such as “Category: Dairy Products,” “Quantity: 1 gallon,” and / or similar.
[0045] In some embodiments, the term “invalid object” refers to an object of value-based exchange that is not authorized according to the Member Policy. An invalid object may correspond, for example, to an object identifier and / or one or more object attributes that are not authorized by the Member Policy. For example, in a financial value system, an invalid object may be a product or service that is ineligible for purchase using a Service Provider Instrument. For example, a product may be one liter of alcohol, which may be associated with an SKU code and / or one or more object attributes such as “Category: Regulated Substance,” “Quantity: Liters,” and / or similar. A product may also be an invalid object for value-based exchange if the Member Policy corresponding to the Service Provider Instrument for value-based exchange restricts the SKU code and / or one or more object attributes such as “Category: Regulated Substance,” “Quantity: 1 liter,” and / or similar.
[0046] In some embodiments, the term “exchange request” refers to a data entity that defines a request to perform an exchange of value. An exchange request may be submitted to an exchange platform by a member of an exchange network. An exchange request may include one or more request attributes. One or more request attributes may include one or more object identifiers, object attributes, resolution flags, and / or similar.
[0047] For example, one or more request attributes may include multiple object identifiers corresponding to multiple objects associated with a value-based exchange. Additionally or alternatively, one or more request attributes may include one or more object attributes of multiple objects. For example, one or more object attributes may include one or more object-based attributes such as one or more line item attributes, one or more exchange-based attributes such as the quantity of an object, the location of an object, and / or similar. For example, an exchange request may indicate the exchange location where the object is being retrieved.
[0048] In some examples, the request attribute may indicate one or more request resolution flags. The request resolution flags may indicate one or more request member requirements for a value-based exchange (e.g., partner requirements). For example, one or more request resolution flags may be set by a member of the exchange network that provides an exchange request to the exchange platform. In some examples, the request resolution flags may indicate partial exchange authority or full exchange authority. Partial exchange authority can grant authority for partial completion of a value-based exchange, while full exchange authority can only grant authority for complete completion of a value-based exchange. For example, full exchange authority may request the activation of all objects referenced by the value-based exchange.
[0049] In some embodiments, the term “effective exchange data object” refers to a data object that represents one or more effective objects in a value-based exchange. In some examples, an effective exchange data object may be based at least in part on a comparison between an exchange request and the member policy corresponding to the exchange request. In some examples, an effective exchange data object may include multiple object identifiers and / or one or more object attributes of one or more effective objects in a value-based exchange.
[0050] In some examples, the valid exchange data object may represent the exchange value. The exchange value may also be the aggregate value of each of the valid data objects. In some examples, the exchange value may be modified from the initial exchange value using some of the techniques of this disclosure to match the exchange value of the valid object in a value-based exchange.
[0051] In some examples, a valid exchange data object may represent one or more object statuses of one or more valid objects.
[0052] In some embodiments, the term “invalid exchange data object” refers to a data object that represents one or more invalid objects of a value-based exchange. In some examples, an invalid exchange data object may be based at least in part on a comparison between an exchange request and the member policy corresponding to the exchange request. For example, an invalid exchange data object may represent multiple invalid objects of a value-based exchange. Additionally or alternatively, an invalid exchange data object may be based at least in part on an exchange request and a valid exchange data object. For example, an invalid exchange data object may represent multiple invalid objects of a value-based exchange. For example, an invalid exchange data object may represent multiple objects of a value-based exchange that are not included in a valid exchange data object.
[0053] An invalid exchange data object may contain multiple object identifiers and / or one or more object attributes of one or more invalid objects in a value-based exchange. In some examples, an invalid exchange data object may represent one or more object statuses of one or more invalid objects.
[0054] In some embodiments, the term “object status” refers to a data entity that indicates the determination and / or classification of an object for value-based exchange. For example, the object status of a valid object may include object eligible status and / or similar. As another example, the object status of an invalid object may include object ineligible status and / or similar. The object status of an object that was not evaluated with member policy in mind may include object unevaluated status. The object status of an object not addressed by member policy may include object unspecified status.
[0055] In some embodiments, the term “exchange authorization request” refers to a data entity that defines a request to a member for performing a value-based exchange. In some embodiments, an exchange authorization request is provided from an exchange platform to a member of an exchange network. An exchange authorization request may be provided, for example, to a service provider of an exchange network in response to an exchange request from a partner of the exchange network. In some examples, an exchange authorization request may indicate valid exchange data objects for the exchange request. For example, an exchange authorization request may indicate one or more valid data objects, a valid exchange value, one or more object statuses associated with one or more valid data objects, and / or similar. In some examples, an exchange authorization request may indicate invalid exchange data objects for the exchange request. For example, an exchange authorization request may indicate one or more invalid data objects, one or more object statuses associated with one or more invalid data objects, and / or similar.
[0056] 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, an exchange authorization response is provided to the exchange platform by a member of the exchange network. An exchange authorization response may be provided, for example, by a service provider of the exchange network in response to an exchange authorization request that indicates one or more valid objects from the exchange request.
[0057] In some embodiments, the exchange authorization response indicates at least one of either an exchange approval or an exchange rejection. The exchange authorization response may be at least partially based on a comparison between the exchange value (e.g., modified at least partially on the valid object) and the asset availability of the service provider instrument. For example, in response to receiving an exchange authorization request, a member may be configured to compare the exchange value to the asset availability of the identified service provider instrument. A value-based exchange may be authorized (e.g., an exchange approval) if asset availability exceeds the exchange value, or rejected (e.g., an exchange rejection) otherwise.
[0058] In some embodiments, the exchange authorization response may indicate one or more contextual response attributes. These one or more contextual response attributes may indicate, for example, one or more contributing factors to the exchange authorization response. Contributing factors may include, for example, bad actor risk and / or fraud checks, errors, full authorization, undisclosed instruments, instrument-based risk and / or fraud checks, insufficient values, invalid UUEKs, limit exceedances (e.g., exceeding UUEK or instrument usage limits), missing line items (e.g., in the case of value exchanges that do not include valid objects), missing instruments, missing accounts, requested PINs, partial authorization, unavailable members, transaction risk and / or fraud checks, unsupported behavior, user contact members (e.g., a user may need to contact a member such as a service provider to resolve an issue), user risk and / or fraud checks, and combinations thereof.
[0059] 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 who submitted the exchange request. The exchange response may indicate exchange approval and / or 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.
[0060] In some embodiments, the term “exchange record” refers to a data entity that provides contextual information for an exchange request. Contextual information may represent one or more forms of an exchange request, exchange response, exchange authorization request, and / or exchange authorization request. For example, an exchange record may represent one or more active objects, inactive objects, the object status of each active and / or inactive object, and / or any other information associated with a value-based exchange.
[0061] 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 that acts on behalf of a partner, a service provider computing platform that acts on behalf of a service provider, and / or both. In some examples, a member platform can be both a partner platform and a service provider platform. For example, the same member platform may be configured to act 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 act on behalf of 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, and in some examples, it may depend on the role of the member platform in the value exchange (e.g., and / or one or more APIs utilized by the member platform in the value exchange).
[0062] In some embodiments, the partner platform is a computing entity configured to perform one or more actions on behalf of the partner. The partner platform may include one or more processing devices, memory devices, and / or similar, physically and / or wirelessly coupled and configured to perform, for example, one or more computing tasks collectively (and / or individually) for requesting value in a value system-independent exchange. 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). In some examples, the partner platform may be configured to host one or more user-facing applications (e.g., partner applications) for communicating with one or more users.
[0063] In some embodiments, the service provider platform is a computing entity configured to perform one or more actions on behalf of a service provider. The service provider platform may include one or more processing devices, memory devices, and / or similar, physically and / or wirelessly coupled and configured to perform, for example, one or more computing tasks collectively (and / or individually) to deliver value in a value system-independent exchange. In some examples, the service provider platform may include, define, and / or otherwise leverage one or more APIs to facilitate communication (e.g., requests and responses) with the exchange platform. In some examples, the service provider platform may be configured to facilitate one or more service provider instruments. In some examples, the service provider platform may be configured to host one or more user-facing applications (e.g., service provider applications) for managing one or more service provider instruments.
[0064] 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 APIs, file-based interfaces, message queue-based interfaces, and / or similar. For example, an exchange interface may include APIs, such as 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 / or similar. In some embodiments, an exchange interface may include one or more RPC APIs, such as one or more gRPC APIs.
[0065] An exchange platform 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 platforms, service provider platforms, etc.). Each API may include multiple communication instructions, message definitions, and / or similar for exchanging requests and / or responses between the exchange platform and entities participating in value exchange. For example, an exchange interface may include a partner API to facilitate communication with a partner platform and / or a service provider API to facilitate communication with a service provider platform.
[0066] 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, and / or similar for facilitating one or more request messages and / or response messages between the Partner Platform and the Exchange Platform. The Partner Interface may include, for example, APIs that define (i) requests from a computing entity acting as a Partner Platform to the Exchange Platform, and / or (ii) requests from the Exchange Platform to the Partner Platform. For example, the Partner Interface may define one or more registration messages, session messages, transaction messages, and / or similar for facilitating value exchange for a Partner. In some embodiments, the Partner Interface defines one or more identifiers for securely identifying one or more parts of a value exchange.
[0067] 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. A service provider interface may define one or more communication instructions, message definitions, and / or similar for facilitating one or more request messages and / or response messages between the service provider platform and the exchange platform. A service provider interface may include, for example, APIs that define (i) requests from a computing entity acting as a service provider platform to the exchange platform, and / or (ii) requests from the exchange platform to the service provider platform. A service provider interface may define, for example, one or more registration messages, session messages, transaction messages, and / or similar for facilitating value exchange using a service provider instrument. In some embodiments, a service provider interface may define one or more identifiers for securely identifying one or more parts of a value exchange.
[0068] 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 character, and / or similar that represents a particular computing entity. Entity partitions may include, for example, member partitions representing member platforms, service provider partitions representing service provider platforms, partner partitions representing partner platforms, and / or similar.
[0069] In some embodiments, the term “service provider partition” refers to a unique identifier for a service provider and / or a service provider’s service provider platform. A service provider partition may include a series of numbers, alphanumeric characters, or any other characters or symbols representing a service provider associated with the exchange platform (e.g., onboard, registered, etc.). An exchange platform may include multiple service provider partitions, each identifying a service provider platform attached to the exchange platform (e.g., onboard, registered, etc.). Each service provider partition may represent a service provider platform comprising one or more exchange platform software development kits (SDKs) and / or similar for implementing the exchange platform’s service provider interface.
[0070] In some embodiments, “Partner Partition” refers to a unique identifier for a partner and / or a partner's partner platform. A Partner Partition may include a series of numbers, alphanumeric characters, or any / or other characters or symbols representing a partner associated with an exchange platform. An exchange platform may include multiple Partner Partitions, each identifying a Partner Platform associated with the exchange platform (e.g., installed, registered, etc.). Each Partner Partition may represent a Partner Platform comprising one or more Exchange SDKs and / or similar for implementing the exchange platform’s Partner Interface.
[0071] In some embodiments, the term “user application” refers to a computer program hosted by a computing entity for facilitating communication with one or more users. A user application may include software (e.g., computer-readable instructions) designed to perform one or more computing tasks for a computing entity, such as a member platform. For example, a user application can facilitate communication between a member and a user. As an example, a user application may be configured to present one or more user interfaces for communicating with a user on behalf of a member. In some examples, a user application may be configured to receive user input (e.g., via one or more user interfaces) for receiving information from a user.
[0072] In some embodiments, the user-facing application is a partner application hosted by a partner platform (e.g., a member platform that acts as a partner for a particular exchange) to facilitate functionality for the partner. The partner application may include software (e.g., computer-readable instructions) 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 communicating with (e.g., browsing, purchasing, scrutinizing, etc.) one or more products offered by a retail-based partner, one or more units of information offered by an information-based partner, and / or similar. 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 the user.
[0073] In some embodiments, the user-facing application is a service provider application hosted by a service provider platform (e.g., a member platform acting as a service provider for a particular exchange) to facilitate functionality for the service provider. The service provider application may include software (e.g., computer-readable instructions) 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 communicating information (e.g., scrutiny, management, inspection, registration, etc.) with one or more service provider instruments facilitated by the service provider. As an example, in a financial value system, the service provider application may enable access to bank accounts, securities accounts, credit limits, and / or similar for managing funds, assets, and / or similar handled by each account. 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, authorizations, and / or similar from the user.
[0074] In some embodiments, the term “instrument data object” refers to a data entity representing a service provider instrument. An instrument data object may include one or more instrument identifiers and / or one or more instrument attributes. In some examples, one or more instrument identifiers and / or one or more instrument attributes may be at least partially based on the type of instrument data object. For example, a service provider instrument may be represented as a member instrument data object in a member platform. Additionally or alternatively, a service provider instrument may be independently represented by a system instrument data object in an exchange platform. In some examples, member instrument data objects and system instrument data objects may include one or more of the same one or more instrument identifiers and / or one or more instrument attributes. For example, a member platform may register multiple service provider instruments with the exchange platform. During registration, member platforms may provide one or more instrument identifiers and / or instrument attributes, and in some cases, exchange platforms may return a different identifier.
[0075] In some embodiments, a member instrument data object is an internal representation of a service provider instrument within the member platform. A member instrument data object may include one or more instrument identifiers, such as a member instrument identifier, an instrument key from the exchange platform, and / or a user identifier. The user identifier may include, for example, a member user identifier. Additionally or alternatively, a member instrument data object may include one or more instrument attributes, such as an instrument type (e.g., credit-based instrument, debit-based instrument, information-based instrument), an instrument representation, and / or one or more contextual attributes. In some examples, the contextual attributes may depend on the value system. For example, in a financial value system, one or more contextual attributes may indicate (i) the currency associated with the service provider instrument, (ii) the asset availability of the service provider instrument (e.g., balance, coverage, etc.), or (iii) one or more previous transactions and / or similar transactions at the service provider instrument.
[0076] In some embodiments, a system instrument data object is an external representation of a service provider instrument within the exchange platform. A system instrument data object may include one or more instrument identifiers, such as a member platform instrument reference, a system instrument identifier, and / or a user identifier. The user identifier may include, for example, a system user identifier. Additionally or alternatively, a system instrument data object may include one or more instrument attributes, such as an instrument type (e.g., credit-based instrument, debit-based instrument, information-based instrument), an instrument representation, and / or one or more contextual attributes. In some examples, the contextual attributes may depend on a value system. For example, in a financial value system, one or more contextual attributes may indicate the currency associated with the service provider instrument.
[0077] In some embodiments, the term “instrument identifier” refers to any representation of a service provider instrument. An instrument identifier may include an instrument identifier, instrument reference, instrument key, and / or similar, as described herein.
[0078] In some embodiments, the term “member instrument identifier” refers to a unique identifier for representing a service provider instrument within a member platform. A member instrument identifier may include, for example, a series of numbers, alphanumeric characters, or any other characters or symbols representing a service provider instrument for a service provider platform.
[0079] In some embodiments, the term “instrument reference” refers to a unique identifier for referencing a member instrument identifier. An instrument reference may be generated and / or provided by a member platform to an exchange platform, for example, to enable the exchange platform to reference instruments maintained on the member platform. In some examples, the instrument reference is the same value as the member instrument identifier. In some examples, the instrument reference is a different value mapped to the member instrument identifier.
[0080] In some embodiments, the term “system instrument identifier” refers to a unique identifier used to represent a service provider instrument within the exchange platform. A system instrument identifier may include, for example, a series of numbers, alphanumeric characters, or any other characters or symbols that represent a service provider instrument for the exchange platform. In some examples, a system instrument identifier may include a UUID.
[0081] In some embodiments, the term “instrument key” refers to a unique identifier for referencing a system instrument identifier. An instrument key may be generated and / or provided by the exchange platform, for example, during the process of registering an instrument with the exchange platform. In some examples, the instrument key may include a wrapped system instrument identifier. For example, the instrument key may include a string of alphanumeric characters 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 50 or more. In some examples, the characters may be case-sensitive. A first part of the characters (e.g., the first six characters) may be reserved as a partition for identifying the entity associated with the key. In the case of an instrument key, the partition may include a service provider partition. A second part of the characters may identify the system instrument identifier. The key formats described herein may include one or more distinct parts, each of which may be arranged in any order.
[0082] In some embodiments, the term “instrument representation” refers to a unique identifier used to represent a service provider instrument for a user. An instrument representation may include, for example, a series of numbers, alphanumeric characters, or any other characters or symbols that visually represent a service provider instrument. The format and / or value of an instrument representation may be based at least in part on the type of service provider and / or service provider instrument. For example, in a financial value system, an instrument reference may include a portion of persistent credentials (e.g., the last four digits) such as an account number (e.g., a direct debit account, a credit account), a financial account name, and / or similar. Alternatively, in an information value system, an instrument reference may include a portion of persistent credentials (e.g., one or more digits, alphanumeric characters) such as a subscription account and / or similar. For example, an instrument representation may include derivatives of persistent credentials, allowing only entities with prior knowledge of the persistent credentials to use the instrument representation to identify the persistent credentials. As another example, an instrument representation may include a nickname for the instrument, which is assigned and subsequently recognized by the user.
[0083] In some embodiments, the term “user data object” refers to a data entity representing a user communicating with the Member Platform and / or Exchange Platform. A user may include, for example, entities (e.g., people, organizations, groups, etc.) engaged in value exchanges governed by the Exchange Platform. In some examples, a user may indirectly interact with the Exchange Platform by creating user accounts for registered service providers, registering (and / or granting permission to register) service provider instruments, and / or similar. In some examples, the Exchange Platform may function on behalf of a user without the user's direct interaction with the Exchange Platform. For example, the Exchange Platform may act as a hidden intermediary between a user-facing application and the user’s service provider instruments.
[0084] In some embodiments, a user data object includes one or more user identifiers and / or one or more user attributes. In some examples, one or more user identifiers and / or one or more user attributes may be at least partially based on the type of 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, member user data objects and system user data objects 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 registration, the member platform may provide one or more of the user identifiers and / or user attributes, and in some examples, the exchange platform may return a different identifier.
[0085] In some embodiments, a member user data object is an internal representation of a user within the member platform. A member user data object may include one or more user identifiers, such as a member user identifier, a user key from the exchange platform, and / or similar. Additionally or alternatively, a member user data object may include one or more user attributes. One or more user attributes may represent one or more contextual characteristics of the user. In some examples, a user attribute may represent one or more identifiable characteristics of the user. For example, a user attribute may represent the user's first name, last name, email, physical address (e.g., one or more of street, local, region, zip code, country, etc.), date of birth (e.g., birth date, age group, etc.), telephone number, and / or similar. In some examples, a user attribute may include encrypted, hashed, and / or otherwise secure representations of the user's identifiable characteristics. For example, a user attribute may include one or more hashed identifiers and / or similar of the user.
[0086] In some embodiments, a system user data object is an external representation of a member user within the exchange platform. A system user data object may include one or more user identifiers, such as a member platform user reference, a system user identifier, and / or similar. Additionally or alternatively, a 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 registration, the member platform may provide the user's user reference and / or one or more user attributes. In some examples, user attributes may include the user's hashed and / or encrypted identifier.
[0087] In some embodiments, the term “user identifier” refers to a unique identifier of a user involved in a value-based exchange. A user identifier may include a series of numbers, alphanumeric characters, or any other characters or symbols representing a user of the exchange platform and / or member platform. In some examples, a user identifier may include a user reference, user key, system user identifier, member user identifier, and / or similar.
[0088] In some embodiments, the term “system user identifier” refers to a unique identifier used to represent a user within the exchange platform. The system user identifier may include, for example, a series of numbers, alphanumeric characters, or any other characters or symbols that represent a user to the exchange platform. In some examples, the system user identifier may include a UUID unique to a particular user.
[0089] In some embodiments, the term “member user identifier” refers to a unique identifier used to represent a user within the member platform. A member user identifier may include, for example, a series of numbers, alphanumeric characters, or any other characters or symbols representing a user to a service provider platform.
[0090] In some embodiments, the term “user reference” refers to a unique identifier for referencing a member user identifier. User references may be generated and / or provided by a member platform to an exchange platform, for example, to allow the exchange platform to reference users 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 the member user identifier.
[0091] In some embodiments, the term “user key” refers to a unique identifier for referencing a system user identifier. A user key may be generated and / or provided by the exchange platform, for example, during the user registration process with the exchange platform. In some examples, a user key may include a packaged system user identifier. For example, a user key may include a string of alphanumeric characters formatted according to a key format established by the exchange platform (and / or one or more of its APIs). The key format may include, for example, a first part of the characters (e.g., the first six characters) which may be reserved as a partition for identifying entities associated with the key (e.g., members). For example, in the case of a user key, the partition may include a service provider partition and / or a partner partition. A second part of the characters may identify the system user identifier.
[0092] In some embodiments, the term “exchange data object” refers to a data entity that represents 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 at least in part based on the type of 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, member exchange data objects and system exchange data objects may include one or more of the same one or more identifiers and / or exchange attributes. For example, using some of the technology of this disclosure, an exchange platform may issue one or more unique identifiers to member platforms that may be used to authorize value exchanges.
[0093] In some embodiments, a system exchange data object is an internal representation of a value exchange mediated using an exchange platform. In some examples, a 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 a value-based exchange.
[0094] For example, a system exchange data object may include a service provider-specific exchange data object corresponding to a service provider platform. A service provider-specific exchange data object may include one or more identifiers, such as an exchange identifier, a system user identifier, a system instrument identifier, a UUEK, and / or similar. Additionally or alternatively, a service provider-specific exchange data object may include one or more exchange attributes, such as an expiration date, currency (e.g., for a financial value system), and / or similar.
[0095] Additionally or alternatively, a system exchange data object may include a partner-specific exchange data object corresponding to a partner platform. A partner-specific exchange data object may include one or more identifiers, such as an exchange identifier, instrument key, UUEK, member instrument reference (e.g., a partner-specific instrument reference), and / or similar. Additionally or alternatively, a partner-specific exchange data object may include one or more exchange attributes, such as an expiration date, currency (e.g., in the case of a financial value system), instrument type, previous UUEK identifier, and / or similar. In some embodiments, a member exchange data object is an external representation of a value exchange mediated using the exchange platform. A member exchange data object may include one or more identifiers, such as a member exchange identifier, member instrument identifier, UUEK from the exchange platform, and / or similar.
[0096] In some embodiments, the term “exchange identifier” refers to a unique identifier for value exchange using the exchange platform. An exchange identifier may include a set of numbers, alphanumeric characters, or any other character or symbol representing at least a user and / or service provider instrument. In some examples, a unique exchange identifier may include a universally unique identifier (UUID) that can be mapped (e.g., through a set of identifiers) to users, service provider instruments, and / or members registered on the exchange platform. In some examples, an exchange identifier may be randomly generated using one or more UUID generators. For example, an exchange identifier may include 16 bytes of random information generated according to one or more UUID format standards, such as UUID v4 and / or similar. Thus, an exchange identifier may be leveraged by the exchange platform and / or member platforms for one or more functions, but the same exchange identifier will be useless to external parties without a prior association between the exchange identifier and one or more other identifiers. In some examples, an exchange identifier may be represented externally by a UUEK.
[0097] In some embodiments, a “Universal Unique Temporary Key” or “UUEK” refers to an external representation of an exchange identifier that can be issued (e.g., instead of service provider exchange identifiers and / or partner exchange identifiers) to external entities, such as users, partners, and / or service providers, in order to initiate a transaction using the exchange platform. To do so, a UUEK can be generated and issued by the exchange platform to external entities. Each UUEK may contain multiple values (e.g., up to 50 case-sensitive characters and / or more) that represent one or more aspects of a transaction. For example, the multiple values may represent an exchange identifier, a partition (e.g., identifying the recipient of the UUEK), an identifier type, and / or one or more flags. As an example, a UUEK may include a partner-specific UUEK and / or a service provider-specific UUEK. A partner-specific UUEK may be correlated to a partner-specific exchange data object as described herein, while a service provider-specific UUEK may be correlated to a service provider-specific exchange data object.
[0098] For example, a UUEK may be generated according to a key format. The key format may include multiple characters, for example, more than 50 characters that are case-sensitive. The first part of the characters (e.g., the first six characters) may be reserved as a partition to identify the recipient of the UUEK. The partition may include, for example, 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, such as an attached partner and / or service provider.
[0099] As an addition or alternative, at least one character of the key format (e.g., the seventh character) may identify the format of the UUEK. At least another character (e.g., the eighth character) may identify the type of the UUEK. In some examples, the second part of the character may identify an exchange identifier (e.g., a group of 22 characters following the eighth character). The third part of the character may be reserved (e.g., a group of 20 characters following the first part of the character). Exemplary representations are provided below, ppppppFiGGGGGGGGGGGGGGGGGGGGrrrrrrrrrrrrrrrrrrrr Here, p represents the partition character, F represents the format character, i represents the identifier type character, G represents the exchange identifier, and r represents the reserved character. The key format allows for up to 9.8 × 10^84 unique sortings, which is more than the number of atoms in the known observable universe. This enables the generation and distribution of new UUEKs on demand without compromising the security of the underlying data to which the UUEK can be mapped, such as identifiers for users, instruments, and / or any other potentially confidential information. The key format described herein may contain one or more different parts, each of which may be arranged in any order.
[0100] In some embodiments, the term “session identifier” refers to a unique identifier for identifying a set of related message exchanges between an exchange platform and an external platform.
[0101] In some embodiments, the term “matching code” refers to a session-specific identifier for authorizing a registration session between one or more entities. A matching code may include, for example, a sequence of numbers, alphanumeric characters, and / or similar characters provided to multiple entities to ensure that each entity is involved in the same communication sequence. As an example, a matching code may include a sequence of eight characters, generated by the exchange platform, provided to the service provider platform, and then received from the partner platform, to ensure that the exchange platform, service provider platform, and partner platform are communicating with the same end user, respectively (for example, by comparing an received matching code with a generated matching code, as described herein).
[0102] III. Computer Program Products, Methods, and Computing Entities Embodiments of the present disclosure may be implemented in various ways, including as a computer program product comprising a product. Such a computer program product may include one or more software components, for example, software objects, methods, data structures, or the like. Software components may be encoded in any of various programming languages. An illustrative programming language may be a low-level programming language, such as an assembly language associated with a particular hardware architecture and / or operating system platform. A software component comprising assembly language instructions may require conversion to executable machine code by an assembler before execution by the hardware architecture and / or platform. Another illustrative programming language may be a high-level programming language that may be portable across multiple architectures. A software component comprising high-level programming language instructions may require conversion to an intermediary representation by an interpreter or compiler before execution.
[0103] 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 reporting languages. In one or more exemplary embodiments, a software component comprising instructions in one of the aforementioned examples of programming languages may be executed directly by an operating system or other software component without first being converted into another form. Software components may be stored as files or other data storage structures. Software components of similar types or functionally related types may be stored together, for example, in a particular directory, folder, or library. Software components may be static (e.g., pre-established or fixed) or dynamic (e.g., created or modified at runtime).
[0104] A computer program product may include non-temporary computer-readable storage media that store applications, programs, program modules, scripts, source code, program code, object code, byte code, compiled code, interpreted code, machine language, executable instructions, and / or similar terms used herein without distinction. Such non-temporary computer-readable storage media include all computer-readable media (including volatile and non-volatile media).
[0105] In one embodiment, the non-volatile computer-readable storage medium may include floppy disks, flexible disks, hard disks, solid-state storage (SSS) (e.g., solid-state drives (SSDs), solid-state cards (SSCs), solid-state modules (SSMs), enterprise flash drives, magnetic tape, or any other non-transient magnetic medium and / or similar). The non-volatile computer-readable storage medium may also include punch cards, paper tape, optical mark sheets (or any other physical medium with a pattern of holes or other optically recognizable markings), compact disk read-only memory (CD-ROM), compact disk rewritable (CD-RW), digital barcodes, etc. This may include non-volatile optical media such as DVDs, Blu-ray discs (BDs), any other non-volatile optical media, and / or similar. Such non-volatile computer-readable storage media may also include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory (e.g., Serial, NAND, NOR, and / or similar), multimedia memory cards (MMCs), secure digital (SD) memory cards, SmartMedia cards, CompactFlash® (CF) cards, Memory Sticks, and / or similar.Furthermore, non-volatile computer-readable memory media may also include conductive bridge 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 memory (SONOS), floating junction-gate random-access memory (FJG RAM), millipede memory, racetrack memory, and / or similar.
[0106] In one embodiment, the volatile computer-readable storage medium is 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-Out 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 Type 2 Synchronous Dynamic Random Access Memory (DDR2 SDRAM), Double Data Rate Type 3 Synchronous Dynamic Random Access Memory (DDR3 SDRAM). This may include SDRAM, Rambus Dynamic Random Access Memory (RDRAM), Twin Transistor RAM (TTRAM), Thyristor RAM (T-RAM), Zero Capacitor (Z-RAM), Rambus Inline Memory Module (RIMM), Dual Inline Memory Module (DIMM), Single Inline Memory Module (SIMM), Video Random Access Memory (VRAM), Cache Memory (including various levels), Flash Memory, Register Memory, and / or similar. When embodiments for using computer-readable storage media are described, it will be understood that other types of computer-readable storage media may be used in place of or in addition to the computer-readable storage media described above.
[0107] As recognized, various embodiments of the present disclosure may also be implemented as methods, apparatus, systems, computing devices, computing entities, and / or similar. Accordingly, embodiments of the present disclosure may take the form of data structures, apparatus, systems, computing devices, computing entities, and / or similar that execute instructions stored in a computer-readable storage medium for performing a particular step or operation. Accordingly, embodiments of the present disclosure may also take the form of entirely hardware embodiments, entirely computer program product embodiments, and / or embodiments comprising a combination of a computer program product and hardware for performing a particular step or operation.
[0108] Embodiments of the present disclosure are described below with reference to block diagrams, flowcharts, messaging flows, and other representations of data, operations, and messaging schemes. It should be understood that each block, arrow, and / or similar, such as in diagrams and flowcharts, may be implemented in the form of a computer program product, an entirely hardware embodiment, a combination of hardware and a computer program product, and / or a device, system, computing device, computing entity, and / or similar that execute instructions, operations, steps, and similar terms used indiscriminately on a computer-readable storage medium for execution (e.g., executable instruction, execution instruction, program code, and / or similar). For example, code retrieval, loading, and execution may be performed sequentially so that one instruction is retrieved, loaded, and executed at a time. In some exemplary embodiments, retrieval, loading, and / or execution may be performed in parallel so that multiple instructions are retrieved, loaded, and / or executed together. Thus, such embodiments can produce a specifically configured machine that performs the steps or operations specified in the representations of the present disclosure. Accordingly, the representations in this disclosure support various combinations of embodiments for carrying out the specified instructions, actions, or steps.
[0109] IV. Exemplary System Architecture Figure 1 provides an illustration of a computing ecosystem 100 that may be used with various embodiments of the present disclosure. As shown in Figure 1, the architecture may include a switching platform 102, one or more client devices 104, a network of member platforms 110, one or more networks 120, and / or similar. The network of member platforms 110 may include a first member platform 112a, a second member platform 112b, a third member platform 112c, and / or similar that are attached to (e.g., registered with) the switching platform 102. For example, as described herein, the network of member platforms 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 service provider platform may include a single member platform (e.g., a third member platform 112c). In some examples, the member platform's network 110 may be configured for one or more different services.
[0110] Each component of the computing ecosystem 100 may be electronically communicating with one another via the same or different wireless or wired networks 120, for example, including wired or wireless personal area networks (PANs), local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), or similar. Network 120 may include any network connectivity (e.g., international connectivity including one or more sovereign entities) that includes any of the types of networks and / or span any geographical boundaries. Additionally, while Figure 1 illustrates a particular system as a separate, independent entity, various embodiments are not limited to this particular architecture.
[0111] Although not explicitly illustrated, the exchange platform 102 may also be a client device 104 and / or part of the member platform network 110. Additionally or alternatively, member platforms 112a-c may also be a client device 104 and / or part of the exchange platform 102. In some embodiments, each of the exchange platform 102 and / or member platforms 112a-c may include the same computing platform.
[0112] a. Exemplary computing platform Figure 2 is an exemplary schematic diagram of a computing platform 200 according to one or more embodiments of the present disclosure. The computing platform 200, such as the exchange platform 102, member platforms 112a-c, and / or similar in Figure 1, may include, or be communicating with, one or more processing elements 202 (also called processors, processing circuitry, and / or similar terms used herein without distinction) that communicate with other elements within the computing platform 200, for example, via a bus. Naturally, the processing elements 202 may be embodied in several different ways.
[0113] For example, the processing element 202 may be embodied as one or more complex programmable logic devices (CPLDs), microprocessors, multicore processors, coprocessing entities, application-specific instruction set processors (ASIPs), microcontrollers, and / or controllers. Furthermore, the processing element 202 may be embodied as one or more other processing devices or circuit equipment. The term circuit equipment can refer entirely to a hardware embodiment or a combination of hardware and computer program products. Thus, the processing element 202 may be embodied 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 circuit equipment, and / or similar.
[0114] Therefore, naturally, the processing element 202 may be configured to execute instructions configured for a specific use, stored in a volatile or non-volatile medium, or otherwise accessible to the processing element 202. Thus, whether configured by hardware or computer program products, or a combination thereof, the processing element 202 may have the ability to perform steps or operations according to embodiments of the present disclosure as appropriate when configured.
[0115] In some embodiments, the computing platform 200 includes or communicates with non-volatile memory 204 (also known as non-volatile storage, media, memory storage, memory circuitry, and / or similar terms used herein without distinction). In some examples, the non-volatile memory 204 may include one or more non-volatile storage or memory media, including but not limited to hard disks, ROMs, PROMs, EPROMs, EEPROMs, flash memory, MMCs, SD memory cards, memory sticks, CBRAMs, PRAMs, FeRAMs, NVRAMs, MRAMs, RRAMs, SONOS, FJG RAMs, millipede memory, racetrack memory, and / or similar.
[0116] As recognized, non-volatile memory 204 can store data, databases, database instances, database management systems, files, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine language, executable instructions, and / or similar. The terms database, database instance, database management system, and / or similar terms used herein without distinction can refer to a collection of records or data stored on a computer-readable storage medium using one or more database models, such as a hierarchical database model, a network model, a relational model, an entity-relationship model, an object model, a document model, a semantic model, a graph model, and / or similar.
[0117] In some embodiments, the computing platform 200 includes or communicates with volatile memory 206 (also referred to as volatile storage, media, memory storage, memory circuitry, and / or similar terms used herein without distinction). In some examples, the volatile memory 206 may also include, 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 memory, register memory, and / or similar.
[0118] As recognized, volatile memory 206 may be used to store at least a portion of databases, database instances, database management systems, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and / or similar items, which are executed, for example, by processing element 202. Thus, databases, database instances, database management systems, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and / or similar items may be used, with the assistance of processing element 202 and the operating system, to control specific aspects of the steps / operations of the computing platform 200.
[0119] 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., one or more components in Figure 1) by transmitting, receiving, operating, processing, displaying, storing, and / or similar data, content, information, and / or similar terms used herein without distinction. Such communication may be performed using wired data transmission protocols 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 may also use General-Purpose Packet Radio Services (GPRS), Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), and CDMA2000 It can be configured to communicate over a wireless external communication network using any of the following protocols: 1X (1xRTT), Wideband Code Division Multiple Access (WCDMA®), Global System for Mobile Communications (GSM), GSM Evolution High Speed Data Rate (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.
[0120] Although not shown, the computing platform 200 may include or be communicating with one or more input elements, such as keyboard input, mouse input, touchscreen / display input, motion input, motion input, audio input, pointing device input, joystick input, keypad input, and / or similar. The computing platform 200 may also include or be communicating with one or more output elements (not shown), such as audio output, video output, screen / display output, motion output, motion output, and / or similar.
[0121] As shown, the computing platform 200 may be one or more examples of the components in Figure 1, such as the exchange platform 102 and / or member platforms 112a-c.
[0122] b. Exemplary client devices Figure 3 is an exemplary 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 exemplary computing ecosystem may include one or more client devices 104. For example, the client device 104 may be associated with one or more end users, owned by one or more end users, operated by one or more end users, and / or similarly performed by one or more end users. In various embodiments, the end user of the client device 104 may want to engage in a value exchange between a partner and a service provider. As described herein, the user can do so by mutually leveraging one or more functionalities provided by the exchange platform through user input using the client device 104.
[0123] For example, the client device 104 may be a personal computing device, smartphone, tablet, laptop, personal digital assistant, and / or similar. In various embodiments, the computing platform 200 can communicate with one or more client devices 104 and manage value exchanges with one or more client devices 104. As shown in Figure 3, the client device 104 may include an antenna 312, a transmitter 304 (e.g., wireless), a receiver 306 (e.g., wireless), and a processing element 308 (e.g., a CPLD, microprocessor, multicore processor, coprocessing entity, ASIP, microcontroller, and / or controller), respectively, which provide signals to and receive signals from the transmitter 304 and receiver 306.
[0124] The signals provided to and received by the transmitter 304 and receiver 306 may each contain signaling information / data according to the applicable wireless system air interface standard. In this regard, the client device 104 may have the ability to operate with one or more air interface standards, communication protocols, modulation types, and access types. More specifically, the client device 104 may operate according to any of several wireless communication standards and protocols, such as those described above with respect to the computing platform 200. In certain embodiments, the client device 104 may operate according to a number 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, and / or similar. Similarly, the client device 104 can operate via the network interface 320 in accordance with numerous wired communication standards and protocols, such as those described above with respect to the computing platform 200.
[0125] Through these communication standards and protocols, the client device 104 can communicate with the computing platform 200 using concepts such as Unstructured Supplementary Service Data (USSD), Short Message Service (SMS), Multimedia Messaging Service (MMS), Dual-Tone Multi-Frequency Signaling (DTMF), and / or Subscriber Identification Module Dialer (SIM Dialer). The client device 104 can also download changes, add-ons, and updates to, for example, its firmware, software (including, for example, executable instructions, applications, and program modules), and operating system.
[0126] In some embodiments, the client device 104 includes location determination modes, devices, modules, functions, and / or similar terms used herein without distinction. For example, the client device 104 may include outdoor positioning modes, such as a location module adapted to acquire, for example, latitude, longitude, altitude, geocode, course, direction, orientation, speed, Universal Time (UTC), date, and / or various other information / data. In one embodiment, the location module may acquire data, sometimes known as ephemeris data, by identifying the number of satellites in the field of view and the relative positions of these satellites (for example, using a Global Positioning System (GPS)). The satellites may be various different satellites, including Low Earth Orbit (LEO) satellite systems, Department of Defense (DOD) satellite systems, European Union Galileo Positioning Systems, China Compass Navigation System, Indian Regional Navigational Satellite Systems, and / or similar. This data can be collected using various coordinate systems, such as Decimal Angle (DD), Degrees, Minutes, Seconds (DMS), Universal Transverse Mercator (UTM), Universal Polar Centered Protenor (UPS) coordinate system, and / or similar. Alternatively, location information / data may be determined by triangulating the position of the client device 104 relative to various other systems, including cellular towers, Wi-Fi access points, and / or similar. Similarly, the client device 104 may include indoor positioning configurations, such as location modules adapted to acquire, for example, latitude, longitude, altitude, geocode, course, direction, orientation, speed, time, date, and / or various other information / data. Part of the indoor system may use various positioning or location technologies, including RFID tags, indoor beacons or transmitters, Wi-Fi access points, cellular towers, nearby computing devices (e.g., smartphones, laptops), and / or similar.For example, such technologies may include iBeacons®, Gimbal proximity beacons, Bluetooth Low Energy (BLE) transmitters, NFC transmitters, and / or similar. These indoor positioning methods can be used in a variety of environments to determine the location of someone or something to the nearest inch or centimeter.
[0127] In some embodiments, the client device 104 may include a user interface 316 (e.g., a display screen, speaker, tactile mechanization, etc., coupled to the processing element 308) and / or a user input interface 318 (e.g., a touch screen, microphone, etc., coupled to the processing element 308). For example, the user interface 316 may be one or more current application screens presented by one or more computing platforms as described herein. The user input interface 318 may include any of several devices or interfaces that enable the client device 104 to receive data, such as a keypad (hard or soft), a touch display, a voice / speech or motion interface, or other input devices. In an example including a keypad, the keypad may include (or trigger the display of) conventional numerals (0-9) and associated keys (#, *), as well as other keys used to operate the client device 104, and may include a set of keys that can be activated to provide a complete set of alphabet keys or a complete set of alphanumeric keys. In addition to providing input, user input interfaces can be used to activate or deactivate specific functions, such as screen savers and / or sleep modes.
[0128] The client device 104 may also include volatile memory 322 and / or non-volatile memory 324, which may be built-in and / or removable. For example, 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, FJG RAM, millipede memory, racetrack memory, and / or similar. 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 memory, register memory, and / or similar. Volatile and non-volatile storage or memory can 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, executable instructions, and / or similar items in order to perform the functions of the client device 104. As shown, this may include partner applications, service provider applications, and / or similar items that reside on the client device 104 and / or are accessible through a browser or other user interface to communicate with the computing platform 200.
[0129] In some embodiments, the client device 104 may include one or more components or functions that are the same as or similar to those of the computing platform 200, as described in more detail above. As recognized, these architectures and descriptions are provided for illustrative purposes only and are not limited to various embodiments.
[0130] In various embodiments, the client device 104 may be embodied as an artificial intelligence (AI) computing entity, such as an Amazon Echo, Amazon Echo Dot, Amazon Show, Google Home, and / or similar. Thus, the client device 104 may be configured to provide and / or receive information / data from an end user via input / output mechanisms, such as a display, camera, speaker, voice-activated input, and / or similar. In certain embodiments, the AI computing entity may comprise 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 of the predefined program algorithms upon the occurrence of a predefined trigger event.
[0131] c. Exemplary Network In some embodiments, two or more of the illustrative components of the computing ecosystem 100 in Figure 1 may be configured to communicate with one another via their respective communicable connections to one or more networks 120. Network 120 may include, but is not limited to, one or a combination of different types of suitable communication networks, such as cable networks, public networks (e.g., the Internet), private networks (e.g., Frame Relay networks), wireless networks, cellular networks, telephone networks (e.g., public switched telephone networks), or any other suitable private and / or public networks. Furthermore, network 120 may have any suitable communication range associated with network 120, which may include, for example, a global network (e.g., the Internet), a MAN, WAN, LAN, or PAN. In addition, network 120 may include any type of medium on which network traffic can be carried, including but not limited to coaxial cables, twisted pair wires, optical fibers, hybrid fiber coaxial (HFC) media, microwave telescopic transceivers, radio frequency communication media, satellite communication media, or any combination thereof, as well as various network devices and computing platforms provided by network providers or other entities.
[0132] d. Exemplary Value Exchange Systems Figure 4 is an exemplary block diagram of an exemplary 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 computing platform that provides an end-to-end value exchange solution for replacing conventional exchange processing systems. As described herein, the network-based exchange system 400 may be value system independent and can be applied to any value-based exchange, including, for example, information-based exchange, finance-based exchange, reputation-based exchange, healthcare-based exchange, profit-based exchange, and / or similar. In any value system, the network-based exchange system 400 can leverage intermediary entities and one or more predefined communication interfaces to facilitate network-based exchange between value-seeking entities (e.g., partners) and value-providing entities (e.g., service providers), which may be associated with one or more member platforms of the network-based exchange system 400.
[0133] As described, the network-based switching system 400 may include a switching platform 102, a partner platform 420, and / or a service provider platform 440, which may be configured to communicate through one or more switching interfaces. The partner platform 420 and / or service provider platform 440 may include one or more member platforms 112a-c from the network 110 of member platforms. For example, the partner platform 420 and service provider platform 440 may include a single member platform (e.g., member platform 112c). In addition or alternatively, the partner platform 420 and service provider platform 440 may include one or more different member platforms (e.g., member platforms 112a and 112b). In some examples, a user may communicate with one or more of the platforms through a client device 104.
[0134] In some embodiments, the exchange platform 102 is a computing entity configured to facilitate credential-free exchange of value for one or more members in a network. The exchange platform 102 may include one or more processing devices, memory devices, and / or similar, physically and / or wirelessly coupled and configured to perform one or more computing tasks collectively (and / or individually) to facilitate exchanges independent of the value system. In some examples, the exchange platform 102 may include, define, and / or otherwise utilize one or more exchange interfaces to facilitate communication (e.g., requests, responses, etc.) between multiple members. As described herein, interfaces may be utilized to facilitate secure exchanges between one or more members in any value system.
[0135] In some embodiments, a member is an entity that collaborates with the exchange platform 102 to participate in a value exchange. For example, a member may include (i) a partner that utilizes the exchange platform 102 to receive value, (ii) a service provider that utilizes the exchange platform 102 to provide value, and / or (iii) both a partner and a service provider. As used herein, a member may be called a partner when receiving value through a value exchange, and / or a service provider when providing value through a value exchange. Thus, depending on the member's role in the value exchange, the same member may be both a partner and a service provider. For example, a member may be a partner that receives value for 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, and thus the member utilizes the exchange platform 102 to provide value in a single member value exchange and then receive value.
[0136] In some embodiments, a member is a partner when using services provided by a service provider. A partner can include any value-seeking entity in any value system. For example, in a financial value system, a partner can include a merchant (e.g., a retailer, a physical store, etc.) who may use a service provider, such as a financial institution, to access funds for financial transactions. Additionally or alternatively, in an information value system, a partner can include a news publisher (e.g., a newspaper, a press, etc.) who may use a service provider, such as a news agency (e.g., a wire service, a news service, etc.), to access information for information transactions. In a healthcare value system, a partner can include a healthcare provider who may have access to a healthcare benefit administrator to access medical benefits to fund medical surgery. Naturally, the technology of this disclosure may be applied to any value system, and a partner can include any value-seeking entity for any respective value system.
[0137] In some embodiments, a Member is a service provider when providing services to a Partner. A service provider can include a source of value in any value system. For example, in a financial value system, a service provider can include a financial institution (e.g., a bank, foreign exchange, 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 can include a news agency (e.g., a wire service, news service, etc.) from which news publishers can provide information for publication. In a healthcare value system, a service provider can include a healthcare benefit administrator that can provide the healthcare provider with access to medical benefits. Naturally, the technology of this disclosure may be applied to any value system, and a service provider can include any source of value for any respective value system.
[0138] In some embodiments, a service provider instrument is a mechanism utilized by a service provider to deliver value on behalf of a particular user. The service provider instrument may depend on the value system and / or the service provider. In some examples, the service provider instrument may include the service provider's accounts. For example, in a financial value system, the service provider instrument may include bank accounts (e.g., checking accounts, savings accounts, etc.), securities accounts, credit limits, and / or similar. In an information value system, the service provider instrument may include subscriber accounts and / or similar. In a healthcare value system, the service provider instrument may include healthcare benefit accounts and / or similar.
[0139] 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 to enable the use of service provider instruments maintained by the service provider.
[0140] For example, a service provider and / or its service provider instrument may be associated with an entity that governs the use of one or more services provided by the service provider. As an example, a service provider may facilitate electronic benefit transfer (EBT) systems such as Supplemental Nutrition Assistance Programs ("SNAP"), Temporary Assistance for Low-Income Families ("TANF"), Special Supplemental Nutrition Programs for Women, Infants, and Children ("WIC"), and / or similar, which provide financial assistance for approved food and household items. As another example, a service provider may facilitate, on behalf of a healthcare provider, healthcare plans that limit benefits by healthcare eligibility, procedure codes, procedure locations, and / or similar.
[0141] As an addition or alternative, a service provider may control the use of its own services. For example, a service provider may maintain the service provider instruments of its users. A service provider may restrict service provider instruments on behalf of users, on behalf of one or more internal policies, and / or similar. As an example, a service provider may include financial institutions that allow one or more users to restrict access to funds provided by those financial institutions. In this way, users may provide limited access to service provider instruments by establishing one or more member policies for those instruments.
[0142] Service providers and partners can communicate through one or more member platforms associated with the entity, respectively. For example, a service provider may be associated with service provider platform 440, and a partner may be associated with partner platform 420.
[0143] In some embodiments, the 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 acts on behalf of a partner, a service provider platform 440 that acts on behalf of a service provider, and / or both. In some examples, the member platform may be both the partner platform 420 and the service provider platform 440. For example, the same member platform may be configured to act on behalf of a partner for one value exchange and a service provider for another value exchange. In some examples, the same member platform may be configured to act on behalf of both a partner and a service provider in a single value exchange. It should be noted that the term member platform may refer to the partner platform 420, the service provider platform 440, or both, and in some examples, it may depend on the role of the member platform in the value exchange (e.g., and / or one or more interfaces utilized by the member platform in the value exchange).
[0144] In some embodiments, the partner platform 420 is a computing entity configured to perform one or more operations on behalf of the partner. The partner platform 420 may include one or more processing devices, memory devices, and / or similar, physically and / or wirelessly coupled and configured to perform, for example, one or more computing tasks collectively (and / or individually) for requesting value in a value system-independent exchange. 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-facing applications (e.g., partner applications, etc.) for communicating with one or more users.
[0145] The Partner Platform 420 can host an online marketplace for Partners, for example in a financial value system, enabling users to communicate (e.g., search, browse, buy, return, etc.) with one or more products or services offered by Partners. In the case of product purchases, the Partner Platform 420 can work with one or more service providers to access funds for the purchase. Traditionally, access to funds from service providers is facilitated using card numbers, account numbers, and / or other financial credentials, which could expose users to malicious parties. To address network security and data privacy concerns for traditional financial systems (and / or other value-based systems), the Partner Platform 420 can register with the Exchange Platform 102 by configuring one or more software development kits (SDKs), APIs, and / or similar to facilitate communication with the Exchange Platform 102. For example, the partner platform 420 may include, define, and / or otherwise utilize one or more partner interfaces 402 to facilitate communication (e.g., requests, responses, etc.) with the exchange platform 102.
[0146] In some embodiments, the service provider platform 440 is a computing entity configured to perform one or more operations on behalf of the service provider. The service provider platform 440 may include one or more processing devices, memory devices, and / or similar, physically and / or wirelessly coupled and configured to perform one or more computing tasks collectively (and / or individually) to deliver value in a value system-independent exchange. 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, 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 instruments. In some examples, the service provider platform 440 may be configured to host one or more user-facing applications (e.g., service provider applications, etc.) for managing one or more service provider instruments.
[0147] In some examples, the service provider platform 440 may maintain one or more financial assets (e.g., credit limits, bank accounts, etc.) that enable users to fund exchanges for purchasing products from a partner, for example, in a financial value system. In the case of product purchases, the service provider platform 440 may work with the partner platform 420 to authorize the exchange and / or otherwise provide access to funds for the purchase. Traditionally, access to funds from a service provider is facilitated by presenting card numbers, account numbers, and / or other financial credentials to the service provider platform 440, which can expose users, service providers, or partners to malicious parties, especially when provided over insecure networks (e.g., public networks, and / or similar). To address network security and data privacy concerns with respect to conventional financial systems (and / or other value-based systems), the service provider platform 440 may register with the exchange platform 102 by configuring one or more software development kits (SDKs), APIs, and / or similar to facilitate communication 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.
[0148] As described herein, the service provider interface 404 can enable the exchange platform 102 to identify and request the use of service provider instruments to facilitate transactions. For example, the service provider platform 440 may be configured to facilitate one or more service provider instruments. In some examples, the service provider instruments may include virtual instruments (e.g., virtual accounts, credit limits, etc.) hosted by the service provider platform 440. For example, the service provider platform 440 may be configured to maintain multiple instrument data objects that represent multiple service provider instruments for multiple associated entities.
[0149] In some embodiments, an instrument data object is a data entity representing a service provider instrument. An instrument data object may include one or more instrument identifiers and / or one or more instrument attributes. In some examples, one or more instrument identifiers and / or one or more instrument attributes may be at least partially based on the type of instrument data object. For example, a service provider instrument may be represented as a member instrument data object in a member platform (e.g., service provider platform 440). Alternatively, a service provider instrument may be independently represented by a system instrument data object in exchange platform 102. In some examples, member instrument data objects and system instrument data objects may include one or more of the same one or more instrument identifiers and / or one or more instrument attributes. For example, a member platform can register multiple service provider instruments with the exchange platform 102 (for example, using the service provider interface 404). During registration, the member platform (for example, the service provider platform 440) can provide one or more instrument identifiers and / or instrument attributes, and in some examples, the exchange platform 102 can return a different identifier.
[0150] In some embodiments, the Member Instrument Data Object is an internal representation of a Service Provider Instrument within a Member Platform, such as the Service Provider Platform 440. The Member Instrument Data Object may include one or more instrument identifiers, such as a Member Instrument Identifier, an Instrument Key from the Exchange Platform 102, and / or a User Identifier. The User Identifier may include, for example, a Member User Identifier, as described herein. Additionally or alternatively, the Member Instrument Data Object may include one or more instrument attributes, such as an Instrument Type (e.g., a Credit-Based Instrument, a Debit-Based Instrument, an Information-Based Instrument), an Instrument Representation, and / or one or more contextual attributes. In some examples, the contextual attributes may depend on the Value System. For example, in a financial value system, one or more contextual attributes may indicate (i) the currency associated with the service provider instrument, (ii) the asset availability of the service provider instrument (e.g., balance, coverage, etc.), or (iii) one or more previous transactions and / or similar transactions at the service provider instrument.
[0151] In some embodiments, a system instrument data object is an external representation of a service provider instrument within the exchange platform 102. The system instrument data object may include one or more instrument identifiers, such as a member platform instrument reference, a system instrument identifier, and / or a user identifier. The user identifier may include, for example, a system user identifier, as described herein. Additionally or alternatively, the system instrument data object may include one or more instrument attributes, such as an instrument type (e.g., credit-based instrument, debit-based instrument, information-based instrument), an instrument representation, and / or one or more contextual attributes. In some examples, the contextual attributes may depend on a value system. For example, in a financial value system, one or more contextual attributes may indicate the currency associated with the service provider instrument.
[0152] In some embodiments, a service provider instrument is associated with one or more usage restrictions. These usage restrictions may be represented by a member policy 422, which may correspond to a service provider and / or be specific to a service provider instrument. In some examples, the exchange platform 102 may include an enablement service 408 configured to adjudicate exchange requests on at least partially the basis of a member policy corresponding to a service provider instrument referenced by the exchange request. To do so, the exchange platform 102 (and / or its enablement service 408) may have access to the member policy 422 of the service provider instrument. As an example, a member platform may register the member policy 422 with the exchange platform 102 (e.g., using a service provider interface 404). During registration, a member platform (e.g., service provider platform 440) may provide one or more policy attributes, attribute updates, and / or similar to enable a replacement request that references one or more service provider instruments maintained and / or similarly maintained by the member platform. In some examples, the member platform may continuously update member policy 422 as one or more policy attributes are modified, added, and / or removed.
[0153] In some embodiments, Member Policy 422 is managed by a management entity configured to add, modify, and / or remove policy attributes from Member Policy 422. The management entity may include a Member Platform, such as a Service Provider Platform 440 that maintains service provider instruments conditioned on Member Policy 422. In some examples, the Member Platform can continuously update Member Policy 422 via the Service Provider Interface 404, as one or more policy attributes are modified, added, and / or removed. Alternatively, the management entity may include a third-party regulatory entity, such as a governing body, that maintains one or more rules, guidelines, and / or similar that may be enforced through Member Policy 422. In some examples, the management entity can continuously update Member Policy 422 to enforce different rules, guidelines, and / or similar. The management entity can update Member Policy 422 by communicating directly with the exchange platform and / or through an intermediary Member Platform.
[0154] In some embodiments, Member Policy 422 is a data entity that defines one or more measures for enabling an object in a value-based exchange. Member Policy 422 may correspond to a member and / or a member's service provider instrument. For example, Member Policy 422 may define one or more measures for enabling an object based at least partially on one or more member-specific standards. Additionally or alternatively, Member Policy 422 may define one or more measures for enabling an object based at least partially on one or more instrument-specific standards. Member-specific standards may apply to multiple service provider instruments associated with a member, while instrument-specific standards may apply to a subset of multiple service provider instruments associated with a member.
[0155] Member Policy 422 may specify multiple authoritative and / or unauthoritative policy attributes for value-based exchange. Authoritative policy attributes may specify one or more objects, object attributes, and / or value exchange attributes that are authorized for value-based exchange using service provider instruments in accordance with Member Policy 422. Unauthoritative policy attributes may specify one or more objects, object attributes, and / or value exchange attributes that are restricted from using service provider instruments in accordance with Member Policy 422. In some examples, Member Policy 422 may define multiple authoritative policy attributes, and multiple unauthoritative policy attributes may include multiple undefined attributes. In some examples, Member Policy 422 may define multiple unauthoritative policy attributes, and multiple authoritative policy attributes may include multiple undefined attributes.
[0156] In some examples, a policy attribute may include an object identifier, one or more object attributes, and / or one or more value exchange attributes that identify an object and / or one or more authorized / unauthorized quantities of an object.
[0157] For example, Member Policy 422 may include multiple object identifiers. These multiple object identifiers may indicate multiple objects that the Service Provider Instrument is authorized / unauthorized to retrieve and / or return. In some examples, the object identifier may also be a global object identifier. For example, a global object identifier may be an SKU code. Additionally or alternatively, a global object identifier may be an MPN, GTIN, product or service name, ISBN, UPC, EAN, EIN, and / or similar. In some examples, the object identifier may also include a system object identifier. A system object identifier may include, for example, an identifier corresponding to a recorded data object representing an object within the exchange platform (e.g., a table identifier). In some embodiments, the system object identifier and the global object identifier are the same.
[0158] 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 (with, for example, one or more different object identifiers) that the service provider instrument is authorized to retrieve and / or unauthorized to return. For example, an object attribute may indicate object categories that the service provider instrument is not authorized to retrieve (e.g., alcohol, tobacco, etc.) and / or object categories that the service provider instrument is authorized to retrieve (e.g., food items, etc.). Furthermore, an object attribute may indicate object categories that the service provider instrument is not authorized to return (e.g., perishable items, etc.) and / or object categories that the service provider instrument is authorized to return (e.g., non-perishable items, etc.).
[0159] As yet another example, a policy attribute may include value exchange attributes corresponding to a particular value-based exchange and / or the objects included in the value-based exchange. The value exchange attribute may include, for example, the threshold exchange value of a value-based exchange in the service provider instrument. Additionally or alternatively, a policy attribute may include the threshold object exchange value, threshold object exchange quantity, and / or similar for the objects included in the value-based exchange. The threshold object exchange value may indicate the authoritative value for acquiring a particular object in the service provider instrument. The threshold object exchange quantity may indicate the authoritative quantity (e.g., weight, number of units, etc.) of a particular object that can be acquired (e.g., purchased) in the service provider instrument.
[0160] As described herein, the exchange platform 102 (e.g., the activation service 408) can use the member policy 422 and one or more recorded data objects to activate and / or deactivate the objects referenced by the exchange request.
[0161] In some embodiments, the recorded data object 424 is a data object representing an object. In some examples, the recorded data object may also be an internal representation of an object for the exchange platform 102. For example, an object may include a completely different unit of value-based exchange in which value is being transferred. The recorded data object 424 of an object may include a data object that records one or more aspects of the object (e.g., an object identifier, object attributes, etc.).
[0162] For example, a recorded data object 424 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 at least partially based on a value system. For example, in a financial value system, an object may be a tangible or intangible item, product, and / or similar that can be purchased in exchange for a unit of currency. In a healthcare value system, an object may be a healthcare procedure and / or similar that can be covered by a healthcare policy.
[0163] In some examples, the exchange platform 102 may maintain and / or access an object data store containing multiple recorded data objects 424. As described herein, the object data store may contain multiple recorded data objects 424 obtained at least partially from one or more members of the exchange network and / or one or more third parties.
[0164] In some embodiments, the object datastore 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 catalogs. Each object catalog may include multiple object identifiers and / or object attributes for each object identifier. For example, an object catalog may include 10, 20, 40, or more data points for each of the multiple object identifiers. Each data point may represent an object attribute of an object. Object attributes may be obtained by the external data source from a manufacturer, supplier, and / or any other entity associated with a particular object. In some examples, the object datastore may aggregate from each of one or more different external data sources to aggregate, validate, and / or expand multiple recorded data objects associated with multiple different entities.
[0165] In some embodiments, object attributes are data entities that represent the characteristics of an object. Object attributes can include object-based attributes and / or exchange-based attributes.
[0166] 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 express object characteristics. Spatial attributes may indicate, for example, one or more dimensions of an object (e.g., height, width, weight); value attributes may indicate the value of an object (e.g., price); composition attributes may indicate one or more components, constituents, etc. of an object; category attributes may indicate one or more categories of an object (e.g., alcohol, tobacco); and / or similar. For example, one or more category attributes may indicate whether an object is associated with (i) one or more general merchandise categories such as vegetables, fruits, dairy products, meat, grains, seeds, alcohol, tobacco, store consumables, hot food, pharmacies, pet food, and non-food items; (ii) one or more medical categories such as dental, ophthalmology, and general health; or (iii) one or more information categories such as international sources and domestic sources, and / or similar. In some examples, compositional attributes may indicate one or more components of an object, such as the volume percentage of alcohol in the object, one or more ingredients, such as meat, dairy, peanuts, nuts, soy, and / or similar.
[0167] In some examples, object-based attributes can be based at least partially on a value system. For example, in a financial-based value system, at least, object-based attributes may include one or more line item attributes, one or more line item adjustments, and / or similar. Line item attributes may include sequence, line item group, product code, item name, item origin (e.g., provider, manufacturer, etc.), description, quantity, mass (e.g., grams, kilograms, etc.), one or more spatial dimensions (e.g., length, width, height, volume, etc.), unit quantity, unit tax amount, line quantity (e.g., quantity of line item), line tax amount, and / or similar. Line item adjustments may include adjustment type (e.g., manufacturing discount, store discount, profit, cash payment, gift card payment, other payment, and / or similar), item, product, or service code, item description, item quantity, unit item, item mass (e.g., grams, kilograms, etc.), unit quantity, unit tax amount, line quantity (e.g., line item quantity), line tax amount, and / or similar.
[0168] In some examples, one or more exchange-based attributes may indicate one or more aggregated exchange features. For example, an exchange-based attribute may include a count attribute that represents the number of value-based exchanges containing a particular object. The count attribute may indicate, for example, the number of units of a particular object acquired through multiple value-based exchanges. For example, as described herein, an exchange platform may increment the count attribute of an object each time the object is referenced in a value-based exchange. In some examples, an exchange platform may increment the count attribute of an object each time it is authorized to acquire the object, and / or decrement the count attribute of an object each time it is authorized to return the object. In some examples, a recorded data object may include multiple count attributes that identify the number of units of an object acquired (e.g., acquired count), the number of units of an object authorized to acquire (e.g., authorized count), and / or the number of units of an object requested to acquire (e.g., requested count), respectively.
[0169] In some examples, one or more exchange-based attributes may include exchange-specific features. For example, an exchange-based feature may include a source attribute that describes the location (e.g., a retailer, a physical store, a healthcare center, an information source, etc.) where an object is acquired (e.g., purchased) through a value-based exchange. The location may include, for example, a virtual and / or physical location. In some examples, the location may be value system-dependent. For example, in a financial value system, a source attribute may identify a retailer, a specific physical store of the retailer, an online platform, and / or similar. In a healthcare value system, a source attribute may be a virtual and / or physical healthcare center, and / or similar. In an information value system, a source attribute may be an information source and / or similar.
[0170] In some examples, recorded data objects and / or count attributes may be source-specific. For example, different recorded data objects and / or count attributes may be maintained for each source from which the object can be retrieved. Alternatively, recorded data objects and / or count attributes may be source-independent.
[0171] In some examples, member platforms, such as the partner platform 420 and / or the service provider platform 440, may be associated with user-facing applications to facilitate the exchange of one or more information with users and / or other associated entities (e.g., through client devices 104).
[0172] In some embodiments, a user application is a computer program hosted by a computing entity to facilitate the transmission of one or more user information. The user application may include software (e.g., computer-readable instructions) designed to perform one or more computing tasks for a computing entity, such as a member platform. For example, the user application can facilitate communication between a member and a user. As an example, the user application may be configured to present one or more user interfaces 406 (e.g., via a client device 104) for communicating with the user on behalf of the member. In some examples, the user application may be configured to receive user input (e.g., via one or more user interfaces 406) for receiving information from the user.
[0173] In some embodiments, the user application is a partner application 416 hosted by a partner platform (e.g., a member platform that acts as a partner for a particular exchange) to facilitate functionality for the partner. The partner application may include software (e.g., computer-readable instructions) designed to perform one or more computing tasks for the partner. In some examples, the partner application 416 may consist of one or more devices (e.g., point-of-sale terminals) from a standalone partner facility (e.g., a bank with a physical store). For example, the partner application 416 may be configured to present one or more user interfaces 406 for communicating with (e.g., browsing, purchasing, scrutinizing, etc.) one or more products offered by a retail-based partner, one or more units of information offered by an information-based partner, and / or similar. 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.
[0174] In some embodiments, the service provider platform 440 is configured to host one or more service provider applications 418 for managing one or more service provider instruments. For example, the user-facing application may also be a service provider application 418 hosted by the service provider platform 440 (e.g., a member platform acting as a service provider for a particular exchange) to facilitate functionality for the service provider. In some examples, the service provider application 418 may consist of one or more devices from a standalone service provider facility (e.g., a bank with a physical branch). The service provider application 418 may include software (e.g., computer-readable instructions) designed to perform one or more computing tasks for the service provider. For example, the service provider application 418 may be configured to present one or more user interfaces for communicating with one or more service provider instruments (e.g., scrutiny, management, inspection, registration, etc.) facilitated by the service provider. For example, in a financial value system, the service provider application 418 may enable access to bank accounts, securities accounts, credit limits, and / or similar entities to manage funds, assets, and / or similar entities handled by each account. In some examples, the service provider application 418 may be configured to receive user input (e.g., via one or more user interfaces 406) to receive information, permissions, and / or similar entities from the user.
[0175] In some embodiments, the service provider application 418 is configured to maintain, update, and / or register member policies 422 of the service provider instrument. For example, the service provider platform 112 may enable users, organizations, and / or any other entity to configure member policies 422 to govern the use of the service provider instrument. Member policies 422, for example, may be configured by an organization (e.g., a national benefit program) and / or a user to direct the use of the service provider instrument. In some examples, an organization and / or a user may communicate 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.
[0176] In some embodiments, the exchange platform 102 facilitates communication between the partner platform 420 and the service provider platform 440 using one or more exchange interfaces.
[0177] 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 APIs, file-based interfaces, message queue-based interfaces, and / or similar. For example, the exchange interface may include APIs, such as 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 / or similar. In some embodiments, the exchange interface may include one or more RPC APIs, such as one or more gRPC APIs.
[0178] 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 multiple communication instructions, message definitions, and / or similar for exchanging requests and / or responses between the exchange platform 102 and entities participating in value exchange. For example, an exchange interface may include a partner interface 402 to facilitate communication with partner platform 420, and / or a service provider interface 404 to facilitate communication with service provider platform 440.
[0179] In some embodiments, the partner interface 402 is an exchange interface for facilitating one or more communications between the partner platform 420 and the exchange platform 102. The partner interface 402 may define one or more communication instructions, message definitions, and / or similar for facilitating one or more request messages and / or response messages between the partner platform 420 and the exchange platform 102. The partner interface 402 may include, for example, APIs that define (i) requests from a computing entity acting as the partner platform 420 to the exchange platform 102, and / or (ii) requests from the exchange platform 102 to the partner platform 420. For example, the partner interface 402 may define one or more registration messages, session messages, transaction messages, and / or similar for facilitating value exchange for partners. In some embodiments, the partner interface 402 defines one or more identifiers for securely identifying one or more parts of a value exchange.
[0180] 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 404 may define one or more communication instructions, message definitions, and / or similar for facilitating one or more request messages and / or response messages between the service provider platform 440 and the exchange platform 102. The service provider interface 404 may include, for example, APIs that define (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 44. The service provider interface 404 may define one or more registration messages, session messages, transaction messages, and / or similar for facilitating value exchange using the service provider instrument. In some embodiments, the service provider interface 404 defines one or more identifiers for securely identifying one or more parts of a value exchange.
[0181] The exchange platform 102 can facilitate communication between member platform networks. For example, a member network may include multiple entities on which the exchange platform 102 is installed, for example, by registering with the exchange platform 102, configuring their respective interfaces for communicating with the exchange platform 102, and / or similar means. In some examples, the exchange platform 102 may perform one or more individual services for communicating information with each installed entity. Individual services may include, for example, one or more partner services 410 and / or service provider services 412.
[0182] In some embodiments, the exchange platform 102 exemplified a partner service 410, which is a separate partner-specific service for each of the member networks. Additional or alternative, for example in a multi-tenant environment, the partner service 410 may be exemplified for one or more partners from the member networks. The partner service 410 may be configured to perform one or more exchange operations to resolve exchange requests from the partner platform 420. In some embodiments, the exchange platform 102 exemplified a service provider service 412, which is a separate service provider-specific service for each of the member networks. Additional or alternative, for example in a multi-tenant environment, the service provider service 412 may be exemplified for one or more service providers from the member networks. The service provider service 412 may be configured to perform one or more exchange operations to acquire and resolve exchange requests from the partner platform 420. Exchange operations may include any of the steps and / or operations described herein.
[0183] In some embodiments, the partner service 410 and / or the service provider service 412 communicate information with each other and / or with one or more other components of the exchange platform 102 through one or more local communication mechanisms in order to perform exchange operations. For example, the exchange platform 102 may include an enablement service 408. The enablement service 408 may be configured to perform one or more enablement operations of the Disclosure in order to enable one or more objects of an exchange request. In this way, the exchange platform 102 can pre-process objects of an exchange request on behalf of a member platform in order to implement the member policy 422 of the member platform.
[0184] Through the performance of one or more exchange operations, Partner Service 410 and / or Service Provider Service 412 may generate and utilize a number of unconventional identifiers for referring to users, service provider instruments, and / or one or more aspects of value exchange. At least some of these identifiers may include universally unique identifiers, such as UUEKs, which may be utilized to provide value credential-free exchanges. Each identifier may be stored at least temporarily in the platform data vault 414. The platform data vault 414 may include any type of memory device as described herein. In some examples, each service, and / or one or more sets of services, may be associated with individual parts of the platform data vault 414.
[0185] As described herein, one or more identifiers may be stored in association with each other to form an identifier mapping that can be utilized by the exchange platform 102 (and / or one or more of its services) to refer to users, service provider instruments, and / or any other aspect of value exchange from communications between the partner platform 420, the service provider platform 440, and / or any other member platform that does not include user credentials. Examples of unconventional identifiers will be described further herewith reference to Figure 5.
[0186] e. Exemplary data structure Figure 5 is an exemplary data diagram 500 for facilitating value credential-free exchange according to one or more embodiments of the present disclosure. Data diagram 500 illustrates several related identifiers of different types. As depicted, each identifier may be associated with at least one related identifier to form an identifier mapping within one or more platforms, such as exchange platform 102 and / or service provider platform 440. The identifier mapping enables communication between exchange platform 102 and service provider platform 440 that references service provider instrument 518 without disclosing persistent credentials 514 (e.g., username, password, card number, etc.) associated with the service provider instrument 518, which are susceptible to fraud, abuse, and exploitation by malicious parties. Using some of the technology of the present disclosure as illustrated, persistent credentials 514 may not need to be communicated outside of service provider platform 440. Data Figure 500 illustrates only a fraction of the identifiers that may be generated, stored, and / or utilized by various embodiments of this disclosure. It will be understood that the exemplified identifiers are not exhaustive and may include other identifiers not exemplified. Each identifier may be labeled as an identifier, reference, key, and / or other similar term. These terms are used herein without distinction to refer to units of information for identifying data structures, entities, and / or any other components described herein.
[0187] As illustrated, some of the multiple related identifiers in various embodiments of the present disclosure may, for example, be: (i) one or more user references 502 which can be mapped to member user identifiers 522 of the service provider platform 440; (ii) one or more service provider partitions 504 corresponding to the network of an installed service provider platform, such as the service provider platform 440; (iii) one or more partner partitions 506 corresponding to the network of an installed partner platform; and (iv) member instrumentation of the service provider platform 440. (v) one or more instrument references 520 which can be mapped to instrument identifier 508, (v) one or more keys 516 and / or system identifiers 512 which can be associated with user reference 502 and / or instrument reference 520, (vi) one or more exchange identifiers 510 which can be mapped to either system identifier 512 and / or key 516, and / or (vii) one or more UUEKs 524 which can be mapped to at least one of exchange identifiers 510 and / or partner partitions 506 and / or service provider partitions 504.
[0188] In some examples, the service provider platform 440 may store one or more identifiers that can be mapped to the service provider instrument 518, and / or one or more identifiers of the exchange platform 102, to enable the service provider platform 440 to refer to the service provider instrument 518, at least in part on identifiers that do not indicate any aspect of the service provider instrument 518, including the persistent credentials 514, by themselves.
[0189] For example, the service provider platform 440 may 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., copies, derivatives, etc., of one or more system identifiers 512). A key 516 may, for example, include a system identifier 512 as part of the key 516. A key 516 may be mapped to a member instrument identifier 508 and / or a member user identifier 522 that may internally reference users and / or service provider instruments 518 of the service provider platform. A key 516 may be provided, for example, during a registration process between the service provider platform 440 and / or the exchange platform 102.
[0190] As another example, exchange platform 102 may store, maintain, and / or otherwise access one or more references, such as instrument reference 520 and / or user reference 502, which are mapped to one or more member identifiers (e.g., duplicates, derivatives, etc.) such as member instrument identifier 508 and / or member user identifier 522 of service provider platform 440. The references may be provided, for example, during the registration process between service provider platform 440 and / or exchange platform 102.
[0191] In some embodiments, the exchange platform 102 uses one or more entity partitions to refer to each member platform in the network of member platforms. In some embodiments, the entity partition is a unique identifier for a computing entity. The entity partition may include a unique number, alphanumeric character, and / or similar that represents a particular computing entity. The entity partition may include, for example, 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, and / or similar.
[0192] In some embodiments, the service provider partition 504 is a unique identifier for the service provider and / or the service provider's service provider platform 440. The service provider partition 504 may include a series of numbers, alphanumeric characters, or any other characters or symbols representing a service provider associated with (e.g., installed, registered, etc.) the exchange platform 102. The exchange platform 102 may include multiple service provider partitions, each identifying a service provider platform 440 that is attached to (e.g., installed, registered, etc.) the exchange platform 102. Each service provider partition 504 may represent a service provider platform 440 comprising one or more exchange platform software development kits (SDKs) and / or similar for implementing the service provider interface of the exchange platform 102.
[0193] In some embodiments, the partner partition 506 is a unique identifier for the partner and / or the partner's partner platform. The partner partition 506 may include a series of numbers, alphanumeric characters, or any / or other characters or symbols representing the partner associated with the exchange platform 102. The exchange platform 102 may include multiple partner partitions, each identifying a partner platform that is attached to the exchange platform 102 (e.g., mounted, registered, etc.). Each partner partition 506 may represent a partner platform that constitutes one or more exchange SDKs and / or similar for implementing the partner interface of the exchange platform 102.
[0194] In some embodiments, entity partitions are generated to identify members when member platforms are installed on exchange platform 102. In some examples, after being installed on the exchange platform, member platforms can leverage one or more exchange interfaces to register one or more service provider instruments with exchange platform 102. Service provider instruments 518 may register with exchange platform 102 by exchanging one or more instrument identifiers with exchange platform 102.
[0195] In some embodiments, the instrument identifier includes any representation of the service provider instrument 518 that identifies the service provider instrument without disclosing the service provider instrument's persistent credentials 514. The instrument identifier may include a member instrument identifier 508, a system instrument identifier, an instrument reference 520, an instrument key, and / or similar, as described herein.
[0196] In some embodiments, the member instrument identifier 508 is a unique identifier for representing the service provider instrument 518 within a member platform, such as the service provider platform 440. The member instrument identifier 508 may include, for example, a series of numbers, alphanumeric characters, or any other characters or symbols that represent the service provider instrument 518 for the service provider platform 440. In some examples, the member instrument identifier 508 may include a table identifier for a member instrument data object.
[0197] In some embodiments, the instrument reference 520 is a unique identifier for referencing the member instrument identifier 508. The instrument reference 520 may be generated and / or provided to the exchange platform 102 by the member platform, for example, to allow the exchange platform 102 to reference a service provider instrument 518 maintained on the member platform. In some examples, the instrument reference 520 is the same value as the member instrument identifier 508. In some examples, the instrument reference 520 is a different value mapped to the member instrument identifier 508.
[0198] In some embodiments, the system instrument identifier is a unique identifier for representing the service provider instrument 518 within the exchange platform 102. The system instrument identifier may include a series of numbers, alphanumeric characters, or any other characters or symbols that represent the service provider instrument 518 to the exchange platform 102 without disclosing the service provider instrument 518's persistent credentials 514. In some examples, the system instrument identifier may include a UUID. In some examples, the system instrument identifier may include at least one of the system identifiers 512.
[0199] In some embodiments, the instrument key is a unique identifier for referencing a system instrument identifier. The instrument key may be generated and / or provided by the exchange platform 102, for example, during the registration process of a service provider instrument 518 to the exchange platform 102. In some examples, the instrument key may include a packaged system instrument identifier. For example, the instrument key may include a string of alphanumeric characters formatted according to a key format established by the exchange platform 102 (and / or one or more of its APIs). The key format may include any number of characters, such as 50 or more. In some examples, the characters may be case-sensitive. A first part of the characters (e.g., the first six characters) may be reserved as a partition for identifying the entity associated with the key. In the case of an instrument key, for example, the partition may include a service provider partition 504. A second part of the characters may identify the system instrument identifier. In some examples, the instrument key may include at least one of the keys 516. The key formats described herein may include one or more different parts, each of which may be arranged in any order.
[0200] In some embodiments, after being deployed on 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. Users may register with the exchange platform 102 by exchanging one or more user identifiers with the exchange platform 102. User identifiers may be used, for example, to generate, maintain, and / or update one or more user data objects that reflect users of the member platform and / or the exchange platform 102.
[0201] In some embodiments, a user data object is a data entity representing a user communicating with the member platform and / or exchange platform 102. The user may include entities (e.g., people, organizations, groups, etc.) engaged in value exchanges governed by the exchange platform 102. In some examples, the user may indirectly interact with the exchange platform 102 by creating user accounts for registered service providers, registering (and / or granting permission to register) service provider instruments 518, and / or similar actions. In some examples, the exchange platform 102 may function on behalf of the user without the user directly interacting with the exchange platform 102. For example, the exchange platform 102 may act as a hidden intermediary between a user application and the user's service provider instrument 518.
[0202] In some embodiments, a user data object includes one or more user identifiers and / or one or more user attributes. In some examples, one or more user identifiers and / or one or more user attributes may be at least partially based on the type of 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, member user data objects and system user data objects 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 exchange platform 102. During registration, 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 a different identifier.
[0203] In some embodiments, a member user data object is an internal representation of a user within a member platform, such as the service provider platform 440. A member instrument data object may include one or more user identifiers, such as a member user identifier 522, a user key from the exchange platform 102, and / or similar. Additionally or alternatively, a member user data object may include one or more user attributes. One or more user attributes may represent one or more contextual characteristics of the user. In some examples, a user attribute may represent one or more identifiable characteristics of the user. For example, a user attribute may represent the user's first name, last name, email, actual address (e.g., one or more of street, local, region, zip code, country, etc.), date of birth (e.g., birth date, age group, etc.), telephone number, and / or similar. In some examples, a user attribute may include encrypted, hashed, and / or otherwise secure representations of the user's identifiable characteristics. For example, a user attribute may include one or more hashed identifiers and / or similar of the user.
[0204] In some embodiments, a system user data object is an external representation of a member user within the exchange platform 102. The system user data object may include one or more user identifiers, such as a member platform user reference 502, a system user identifier, and / or similar. 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 102. During registration, the member platform may provide the user's user reference 502 and / or one or more user attributes. In some examples, the user attributes may include the user's hashed and / or encrypted identifier.
[0205] In some embodiments, the user identifier includes a unique identifier for a user involved in value-based exchange. The user identifier may include a series of numbers, alphanumeric characters, or any other characters or symbols representing a user of the exchange platform 102 and / or a member platform. In some examples, the user identifier may include a user reference 502, a user key, a system user identifier, a member user identifier, and / or similar.
[0206] In some embodiments, the system user identifier is a unique identifier for representing a user within the exchange platform 102. The system user identifier may include, for example, a series of numbers, alphanumeric characters, or any / or other characters or symbols that represent a user to the exchange platform 102. In some examples, the system user identifier may include a UUID specific to a particular user. In some examples, the system user identifier may include at least one of the system identifiers 512.
[0207] In some embodiments, the member user identifier 522 is a unique identifier for representing a user within the member platform. The member user identifier may include, for example, a series of numbers, alphanumeric characters, any / or any other characters or symbols that represent a user to the service provider platform 440.
[0208] In some embodiments, the user reference 502 may also be a unique identifier for referring to the member user identifier 522. The user reference 502 may be generated and / or provided to the exchange platform 102 by the member platform, for example, so that the exchange platform 102 can refer to users associated with the member platform. In some examples, the user reference 502 is the same value as the member user identifier 522. In some examples, the user reference 502 is a different value mapped to the member user identifier 522.
[0209] In some embodiments, the user key is a unique identifier for referencing a system user identifier. The user key may be generated and / or provided by the exchange platform 102, for example, during the user registration process with the exchange platform 102. In some examples, the user key may include a packaged system user identifier. For example, the user key may include a string of alphanumeric characters formatted according to a key format established by the exchange platform (and / or one or more of its APIs). The key format may include, for example, a first part of the characters (e.g., the first six characters) which may be reserved as a partition for identifying entities associated with the key (e.g., members). For example, in the case of a user key, the partition may include a service provider partition 504 and / or a partner partition. The second part of the characters may identify the system user identifier.
[0210] As illustrated by Figure 5, keys 516, such as user and instrument keys described herein, may be shared across the exchange platform 102 and the service provider platform 440. In addition, in some examples, references, such as instrument references 520 and user references 502, may be shared across entities. These identifiers and the mapping scheme described herein enable the exchange platform 102 to refer to the service provider instrument 518 without knowledge of the service provider instrument 518's persistent credentials 514 (e.g., card number). As described herein, one or more of the keys 516 and / or references may be provided to the service provider platform 440 individually or in any combination. In some examples, each of the key 516 and the reference may be provided to the service provider platform 440 in a redundant process that allows the service provider platform to verify that communication is provided by the exchange platform 102 (for example, an entity with access rights to a specific set of keys and references).
[0211] In some embodiments, the persistent credentials 514 for the service provider instrument 518 include highly confidential user and / or instrument credentials, such as card numbers, account numbers, subscription numbers, and / or similar, which could expose users, members, and / or intermediary entities to risk. The persistent credentials 514 may be generated, accessed, and / or otherwise provided to the user by the service provider platform 440 when the user applies for a new service provider instrument 518, is authorized to use the new service provider instrument 518, and / or is otherwise enabled to open the new service provider instrument 518. Conventionally, the persistent credentials 514 are then used by the user to initiate a value exchange using the service provider instrument. By doing so, the user is compelled to disclose highly confidential credentials directly linked to the service provider instrument 518 each time the service provider instrument 518 is used. The key 516, reference, and identifier mapping scheme of this disclosure overcomes these technical shortcomings.
[0212] In some examples, each identifier is interpretable not by the user, but by a computing platform such as the exchange platform 102 and / or the service provider platform 440. To allow the user to select the service provider instrument 518 while maintaining the enhanced security features of this disclosure, in some examples, the identifiers in Figure 5 may be further enhanced by instrument representations.
[0213] In some embodiments, the instrument representation (not depicted in Figure 5) is a unique identifier for representing the service provider instrument 518 to a user without exposing the persistent credentials 514 of the service provider instrument 518. The instrument representation may include a series of numbers, alphanumeric characters, or any other characters or symbols that visually represent the service provider instrument 518 only to entities that have prior knowledge of the service provider instrument 518. The format and / or value of the instrument representation may be based at least in part on the type of service provider and / or service provider instrument 518. For example, in a financial value system, the instrument representation may include a portion of the persistent credentials 514 (e.g., the last four digits), such as a card number (e.g., debit card, credit card, etc.), a financial account number, and / or similar. As another example, in an information value system, an instrument representation may include a portion of a persistent credential 514 (e.g., one or more digits, alphanumeric characters, etc.), such as a subscription account and / or similar. For example, an instrument representation may include a derivative of a persistent credential 514, which may allow only entities with prior knowledge of the persistent credential 514 to use the instrument representation to identify the persistent credential 514. As yet another example, an instrument representation may include a nickname for the instrument, which is assigned and subsequently recognized by the user.
[0214] In some embodiments, the instrument representation may be provided to the exchange platform 102 (for example, during the registration process) instead of the persistent credentials 514. Thus, the exchange platform 102 can use the instrument representation to represent the service provider instrument 518 without knowledge of the persistent credentials 514 from which the instrument representation may be derived. For example, unlike conventional network-based exchange platforms, the exchange platform 102 does not need to require the persistent credentials 514 corresponding to the service provider instrument 518 to implement the various computing tasks of this disclosure. This further allows the exchange platform 102 to operate more flexibly while storing previously unrecorded contextual data, reducing the computing cost of operations, and improving user and platform protection from intrusion attacks by malicious computing entities.
[0215] In some embodiments, the identifier mapping scheme is supplemented by unique ephemeral keys issued to member platforms to facilitate secure real-time value exchange. For example, exchange platform 102 can facilitate an additional layer of network and data security by implementing exchange identifiers 510 to represent aspects of value-based exchange. Some examples of exchange identifiers 510 may include service provider-specific exchange identifiers and / or partner-specific exchange identifiers. A service provider-specific exchange identifier may include an ephemeral unique exchange identifier that ephemerally represents a service provider instrument 518 and a service provider platform 440. A service provider-specific exchange identifier may, for example, be mapped to a system identifier 512 of a service provider instrument 518. A partner-specific exchange identifier may include an ephemeral unique exchange identifier that ephemerally represents a service provider instrument 518 and a partner platform. A partner-specific exchange identifier may, for example, be mapped to a key 516 of a service provider instrument 518 that can be used to identify a service provider platform 440. In some cases, such mappings can be defined by exchange data objects.
[0216] In some embodiments, an exchange data object is a data entity that represents an authorized value exchange between one or more members associated with the exchange platform 102. 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 at least in part based on the type of 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, member exchange data objects and system exchange data objects may include one or more of the same one or more identifiers and / or exchange attributes. For example, using some of the technology of this disclosure, the exchange platform 102 may issue one or more unique identifiers to member platforms that may be used to authorize value exchanges.
[0217] In some embodiments, a system exchange data object is an internal representation of a value exchange mediated using the exchange platform 102. In some examples, a 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 a value-based exchange.
[0218] For example, a system exchange data object may include a service provider-specific exchange data object corresponding to a 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 instrument identifier), UUEK 524, and / or similar identifiers. Additionally or alternatively, the service provider-specific exchange data object may include one or more exchange attributes, such as an expiration date, currency (e.g., for a financial value system), and / or similar identifiers.
[0219] Additionally or alternatively, a system exchange data object may include a partner-specific exchange data object corresponding to a partner platform. A partner-specific exchange data object may include one or more identifiers, such as an exchange identifier 510, one or more keys 516 (e.g., an instrument key), UUEK 524, a member instrument reference (e.g., a partner-specific instrument reference), and / or similar. Additionally or alternatively, a partner-specific exchange data object may include one or more exchange attributes, such as an expiration date, currency (e.g., in the case of a financial value system), instrument type, and / or similar.
[0220] In some embodiments, the member exchange data object is an external representation of a value exchange mediated using the exchange platform 102. The member exchange data object may include one or more identifiers, such as a member exchange identifier, a member instrument identifier 508, a UUEK 524 from the exchange platform 102, and / or similar.
[0221] In some embodiments, the exchange identifier 510 is a unique identifier for value exchange using the exchange platform 102. The exchange identifier 510 may include a series of numbers, alphanumeric characters, or any other characters or symbols that represent at least a user and / or a service provider instrument 518. In some examples, the exchange identifier 510 may include a universally unique identifier (UUID) that is registered with the exchange platform 102 and can be mapped (e.g., through a series of identifiers) to a user, a service provider instrument 518, and / or a member. In some examples, the exchange identifier 510 may be generated using one or more UUID generators. For example, the exchange identifier 510 may include 16 bytes of information generated according to one or more UUID format standards, such as UUID v4, and / or similar. Therefore, while the exchange identifier 510 can be leveraged by the exchange platform 102 and / or member platforms for one or more functions, the same exchange identifier 510 becomes useless to an external party without a prior association between the exchange identifier 510 and one or more other identifiers. In addition to the prior identifier association, the exchange identifier 510 can be associated with the exchange platform 102. Therefore, even if the exchange identifier 510 is identified by a malicious party, the malicious party should still be required to impersonate the exchange platform 102 in order to use the exchange identifier 510. Moreover, the malicious party should have to update the settlement account to an account owned by the malicious party, among several other tasks, before the exchange identifier 510 can be used to their advantage. Each of these tasks increases the amount of work required to overcome the enhanced layer of security added by the exchange identifier 510. When paired with the transient nature of the exchange identifier 510, these tasks can become incredibly uneconomical.
[0222] In some examples, the exchange identifier 510 may be represented by a UUEK 524. For example, to facilitate credential-free exchanges, the exchange platform 102 may issue one or more UUEK 524s to one or more member platforms. As described herein, the UUEK 524 can eliminate the reliance on traditional persistent credentials 514 by identifying the mode of value exchange through previously mapped data entities.
[0223] In some embodiments, UUEK524 is an external representation of the exchange identifier 510, which can be issued (for example, instead of the exchange identifier 510) to external entities such as users, partner platforms, and / or service provider platforms, and / or similar, in order to initiate a value-based exchange using the exchange platform 102. To do so, UUEK524 can be generated and issued by the exchange platform 102 to external entities. Each UUEK524 may contain multiple values (e.g., up to 50 characters and / or more, case-insensitive or insensitive) that represent one or more aspects of a value-based exchange. For example, the multiple values may represent the exchange identifier 510, a partition (e.g., identifying the recipient of the UUEK524), an identifier type, and / or one or more flags. As an example, UUEK524 may contain a partner-specific UUEK and / or a service provider-specific UUEK. A partner-specific UUEK may be correlated with a partner-specific exchange data object, as described herein, and may include a partner partition 506, while a service provider-specific UUEK may be correlated with a service provider-specific exchange data object, and may include a service provider partition 504.
[0224] For example, a UUEK524 may be generated according to a key format. The key format may contain multiple characters, including, for example, more than 50 characters, and may be case-insensitive. The first part of the characters (for example, the first six characters) may be reserved as a partition to identify the recipient of the UUEK524. The partition may include, for example, a partner partition 506, a service provider partition 504, and / or any other member partition. For example, a UUEK524 may be issued in response to a request from an authorized member, such as an attached partner and / or service provider.
[0225] As an addition or alternative, at least one character of the key format (e.g., the seventh character) may identify the format of UUEK524. At least another character (e.g., the eighth character) may identify the type of UUEK524. In some examples, the second part of the character may identify the exchange identifier 510 (e.g., a group of 22 characters following the eighth character). The third part of the character may be reserved (e.g., a group of 20 characters following the first part of the character). Exemplary representations are provided below: ppppppFiGGGGGGGGGGGGGGGGGGGGrrrrrrrrrrrrrrrrrrrr Here, p represents the partition character, F represents the format character, i represents the identifier type character, G represents the exchange identifier 510, and r represents the reserved character. The key format allows for up to 9.8 × 10^84 unique sortings, which is more than the number of atoms in the known observable universe. This enables the on-demand generation and distribution of new UUEK524s without compromising the security of the underlying data to which the UUEK524 can be mapped, such as identifiers for users, instruments, and / or any other potentially confidential information.
[0226] As described herein, unique sequences of identifiers and mapping schemes between identifiers can facilitate a value credential-free exchange system for registered and / or unregistered entities. In some examples, one or more identifiers may be generated through a registration or registration process configured to establish cross-entity relationships between user, partner, and service provider entities. The identifiers in Figure 5 may be used to enable a communication interface that functions as a means of carrying object-level attributes. Object-level attributes may be leveraged to perform the activation operations described with reference to Figures 6 and 7.
[0227] V. Exemplary System Operation Figure 6 provides a process flow for facilitating value credential-free exchange according to one or more embodiments of the present disclosure. The process flow depicts a network-based process 600 for leveraging some of the communication technologies of the present disclosure to securely arbitrate value-based exchanges at a coarse object level. Process 600 can be leveraged to overcome various limitations of conventional exchange systems, such as the lack of flexibility, security, and / or similar, which expose confidential and persistent credentials to numerous third parties, as described herein. Process 600 may be implemented by one or more computing devices, entities, and / or systems as described herein. For example, through various steps / operations of Process 600, an exchange platform can leverage communication technologies to overcome various limitations of conventional exchange mechanisms by eliminating reliance on static confidential credentials in order to provide greater flexibility and control over value-based exchanges.
[0228] Figure 6 illustrates an exemplary process 600 for illustrative purposes. While the exemplary process 600 depicts a particular sequence of steps / actions, the sequence may be modified without departing from the scope of this disclosure. For example, some of the steps / actions described may be performed in parallel or in different sequences that do not substantially affect the functionality of process 600. In other examples, different components of an exemplary device or system performing process 600 may perform their functions substantially simultaneously or in their own sequences.
[0229] In some examples, process 600 begins after a registration and / or registration process, where user and / or member platforms can receive a UUEK to facilitate value credential-free exchanges. For example, as described herein, one or more registration processes may be carried out in advance between one or more service provider platforms and the exchange platform to register multiple service provider instruments with the exchange platform. The exchange platform can then generate and issue a UUEK to the registered service provider platforms to initiate value-based exchanges using the registered service provider instruments without referring to the service provider instruments' permanent credentials. Additionally or alternatively, a registration process may be carried out to register registered service provider instruments maintained by the service provider platforms with the partner platform. In some examples, the exchange platform can generate and issue a UUEK to the partner platform to facilitate the registration process and, in response to successful registration, to initiate future value-based exchanges.
[0230] When a user wishes to conduct a value-based exchange with a partner platform in which they have a registered partner account, the partner platform can search for the registered partner account and identify the user's issued UUEK from that partner account to use when granting authorization for the value-based exchange. If a user wishes to conduct a value-based exchange with a partner platform in which they do not have a registered partner account, the user can present a previously issued UUEK (for example, issued to a service provider platform) to the partner platform (for example, through a partner application), and the partner platform can use the UUEK to grant authorization for the value-based exchange. For example, the partner platform can issue an exchange request with the exchange platform, accompanied by the UUEK, to initiate a value-based exchange.
[0231] Using some of the communication technologies of this disclosure, a member platform can issue an exchange request with object-level details that can be adjudicated by the exchange platform. For example, by replacing the persistent credentials of a service provider instrument with a UUEK, the communication technologies of this disclosure can provide a mechanism for transporting object-level details without compromising the security of the user, the service provider instrument, or the member platform. This enables the exchange platform to function as an adjudication engine for determining object-level insights for an exchange request. Following the steps / operations of Process 600, these insights can be leveraged by the exchange platform to enforce member policies on behalf of the member platform without ongoing involvement from the member platform.
[0232] In some embodiments, process 600 includes receiving an exchange request accompanied by a UUEK in step / operation 602. For example, an exchange platform (e.g., its partner service) may receive an exchange request to perform a value-based exchange using its partner interface. The exchange request may indicate a UUEK that includes an exchange identifier. In addition or alternatively, the exchange request may include one or more request attributes. One or more request attributes may include one or more object identifiers, object attributes, resolution flags, and / or similar.
[0233] For example, one or more request attributes may include multiple object identifiers corresponding to multiple objects associated with a value-based exchange. Additionally or alternatively, one or more request attributes may include one or more object attributes of multiple objects. For example, one or more object attributes may include one or more object-based attributes such as one or more line item attributes, one or more exchange-based attributes such as the quantity of an object, the location of an object, and / or similar. For example, an exchange request may indicate the exchange location where the object is being retrieved.
[0234] In some embodiments, one or more object identifiers and / or object attributes correspond to one or more recorded data objects maintained by the exchange platform. For example, the object identifier of an exchange request may correspond to the object identifier of a recorded data object. Additionally or alternatively, one or more object attributes of an exchange request may correspond to one or more object attributes of a recorded data object. In some examples, the exchange platform can identify one or more recorded data objects based at least partially on one or more object identifiers and / or one or more object attributes. In response to identifying a recorded data object, the exchange platform may increment the object's count attribute. For example, the count attribute of each recorded data object may be incremented in response to each exchange request that references an object represented by the recorded data object. In some examples, the count attribute may be one of several count attributes of an object, enabling the exchange platform to aggregate object-level insights across multiple different member platforms, locations, and / or similar.
[0235] In some examples, the request attribute may indicate one or more request resolution flags. The request resolution flags may indicate one or more request member requirements for a value-based exchange (e.g., partner requirements). For example, one or more request resolution flags may be set by a member of the exchange network that provides an exchange request to the exchange platform. In some examples, the request resolution flags may indicate partial exchange authority or full exchange authority. Partial exchange authority can grant authority for partial completion of a value-based exchange, while full exchange authority can only grant authority for complete completion of a value-based exchange. For example, full exchange authority may request the activation of all objects referenced by the value-based exchange so that it may be performed by the exchange platform.
[0236] In some examples, request attributes may include a member exchange reference (e.g., a member platform reference for value-based exchange), a channel (e.g., the type of exchange in the case of a financial value system, such as push or pull value transfer, real-time payment, etc.), a currency (e.g., in the case of a financial value system, etc.), an organization key (e.g., a platform identifier for a member organization), an organization category (e.g., an airline, clothing, etc.), a facility key (e.g., a platform identifier for a retail location, etc.), a staff identifier, and / or any other traceable information for value-based exchange.
[0237] In some embodiments, process 600 includes identifying exchange data objects in step / operation 604. For example, an exchange platform (e.g., its partner service) can identify exchange data objects at least in part based on an exchange identifier in the UUEK. For example, an exchange identifier may correspond to an exchange data object.
[0238] For example, as described herein, a UUEK may correspond to a partner platform and / or a service provider platform. For instance, a UUEK may include a partner partition that identifies the partner platform when the UUEK is issued to a partner platform. In such a case, the UUEK includes an exchange identifier corresponding to a partner exchange data object. Alternatively, a UUEK may include a service provider partition that identifies the service provider platform when the UUEK is issued to a service provider platform. In such a case, the UUEK includes an exchange identifier corresponding to a service provider exchange data object. In some examples, an exchange platform may process a UUEK based at least partially on a member partition.
[0239] In some embodiments, an exchange platform (e.g., its partner service) receives a UUEK containing a partner partition that identifies the partner platform. The exchange platform can use the exchange identifier to identify partner-specific exchange data objects. Partner-specific exchange data objects may include instrument keys corresponding to the service provider instruments of member platforms. The exchange platform can identify system instrument data objects based at least partially on the instrument keys. For example, the exchange platform can identify a member platform based at least partially on the member partition of the instrument key and provide the instrument key to a service corresponding to the member platform (e.g., a service provider service). The service can identify system instrument data objects based at least partially on the instrument key. The system instrument data object can then be used to identify one or more identifiers (e.g., a user identifier, an instrument identifier, etc.) for processing exchange requests.
[0240] In some embodiments, an exchange platform (e.g., its partner service) receives a UUEK that includes a service provider partition identifying a service provider platform. The exchange platform (e.g., its partner service) may determine that a partner-specific exchange data object is unavailable. In response to this determination, the exchange platform may identify a member platform based at least partially on the service provider partition and provide the UUEK to the service corresponding to the member platform (e.g., a service provider service). The service may identify a service provider-specific exchange data object based at least partially on the exchange identifier in the UUEK. The service provider-specific exchange data object may be used to identify a system instrument data object based at least partially on the member platform and the exchange identifier. The system instrument data object may then be used to identify one or more identifiers (e.g., a user identifier, an instrument identifier, etc.) for processing the exchange request.
[0241] In some embodiments, process 600 includes determining one or more valid and / or invalid objects for an exchange request in step / operation 606. For example, an exchange platform (e.g., its activation service) may determine one or more valid objects and / or one or more invalid objects for an exchange request based at least in part on a member policy associated with a service provider instrument. In some examples, an exchange platform (e.g., its activation service) may generate valid data objects and / or invalid data objects for an exchange request. A valid exchange data object may represent one or more valid objects for an exchange request, and / or one or more contextual attributes of one or more valid objects. An invalid exchange data object may represent one or more invalid objects for an exchange request, and / or one or more contextual attributes of one or more invalid objects.
[0242] In some embodiments, the exchange platform performs one or more screening operations to determine whether to enable and / or invalidate one or more objects of an exchange request. For example, the screening operations may be configured to invalidate exchange requests that violate one or more request restrictions. Request restrictions may indicate, for example, one or more parameters (e.g., geographic parameters, timing parameters, etc.) on which the service provider instrument is restricted. As an example, a member policy may indicate one or more authoritative locations on which the service provider instrument can be used. In some examples, the service provider instrument may be completely restricted outside of authoritative locations.
[0243] For example, as described herein, an exchange request may indicate an exchange location. The exchange platform can determine one or more valid objects and one or more invalid objects for an exchange request, at least in part, based on a comparison between the exchange location and one or more authorized locations.
[0244] If 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 an exchange denial. In some examples, the exchange platform may provide an exchange response without providing communication to the member platform associated with the service provider instrument. In some examples, the exchange platform may provide an alert communication to the member platform to notify it of the exchange denial.
[0245] If the exchange location corresponds to an authorized location, the exchange platform can determine one or more valid and / or invalid objects of the exchange request according to step / operation 608. In this way, process 600 can conserve computing resources by continuously screening invalid exchange requests before processing the object-level characteristics of invalid exchange requests. Furthermore, process 600 enables the exchange platform to pre-arrange exchange requests, thereby reducing the computing resource requirements for member platforms maintaining the service provider instrument.
[0246] In some embodiments, process 600 includes determining in step / operation 608 whether the exchange request contains invalid objects. For example, an exchange platform (e.g., its activation service) may determine whether the exchange request contains invalid objects. If the exchange request does not contain invalid objects, process 600 proceeds to step / operation 612. If the exchange request contains invalid objects, process 600 proceeds to step / operation 610.
[0247] In some embodiments, process 600 includes determining in 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 indicating partial exchange authority and / or full exchange authority. The exchange platform can determine whether one or more request resolution flags indicate partial exchange authority. If partial exchange authority exists and at least one valid object is identified, the exchange platform can proceed to step / operation 612, in which step / operation 612, an exchange authority request is provided to the member platform. For example, if at least one valid object is identified, the exchange platform can provide an exchange authority request to the member platform in response to the determination that one or more request resolution flags indicate partial exchange authority. If full exchange authority exists and / or at least one valid object is not identified for the exchange request, the exchange platform can proceed to step / operation 616, in which step / operation 616, an exchange response indicating exchange denial is provided to the member platform. In this way, process 600 can conserve computing resources by continuously screening exchange requests based at least partially on the object-level characteristics of the exchange requests. Thus, process 600 enables the exchange platform to pre-arrange exchange requests, thereby reducing the computing resource requirements for member platforms that maintain the service provider instrument.
[0248] In some embodiments, the exchange platform generates an exchange record for a value-based exchange, at least partially based on one or more active and / or inactive 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 data vault. The exchange record may be stored associated with, for example, a system instrument identifier, a system user identifier, and / or similar. The exchange record may show one or more active objects, inactive objects, the object status of each of the active and / or inactive objects, and / or any other information associated with the value-based exchange.
[0249] For example, an exchange platform can record an object status for each object in an exchange request. An object status is a data entity that indicates the determination and / or classification of an object for a value-based exchange. For instance, the object status of a valid object may include an object eligible status and / or similar. Alternatively, the object status of an invalid object may include an object ineligible status and / or similar. An object status of an object not evaluated considering a member policy may include an object unevaluated status. An object status of an object not addressed by a member policy may include an object unspecified status.
[0250] In some cases, the exchange platform can identify objects in an exchange request that do not correspond to recorded data objects. In such cases, the exchange platform can use one or more object attributes of the object from the exchange request and / or similar sources, such as an object identifier, to generate recorded data objects for the object.
[0251] In some embodiments, process 600 includes providing an exchange authorization request to a member platform in step / operation 612. For example, an exchange platform (e.g., its service provider service) may use a service provider interface to provide an exchange authorization request to a member platform corresponding to a service provider instrument. The exchange authorization request may indicate an instrument identifier and / or one or more valid objects for the exchange request. As an example, an exchange platform may generate an exchange authorization request based at least in part on a system instrument data object identified from one or more aspects of the UUEK. The exchange authorization request may include an instrument key and / or instrument reference from the system instrument data object.
[0252] In some examples, an exchange authorization request may indicate a user identifier associated with a service provider instrument. For example, an exchange platform may generate an exchange authorization request based at least in part on a system user data object identified from one or more aspects of the UUEK. In some examples, a system user data object may be identified at least in part on the user identifier of an exchange data object (e.g., a system user identifier). Additionally or alternatively, a system user data object may be identified at least in part on the user identifier of a system instrument data object (e.g., a system user identifier). In some examples, an exchange authorization request may include a user key and / or user reference from a system user data object.
[0253] In some embodiments, an exchange authorization request defines a request to a member to perform a value-based exchange. In some embodiments, an exchange authorization request is provided from an exchange platform to a member of an exchange network. An exchange authorization request may be provided, for example, to a service provider of an exchange network in response to an exchange request from a partner of the exchange network. In some examples, an exchange authorization request may indicate valid exchange data objects for the exchange request. For example, an exchange authorization request may indicate one or more valid data objects, a valid exchange value, one or more object statuses associated with one or more valid data objects, and / or similar. In some examples, an exchange authorization request may indicate invalid exchange data objects for the exchange request. For example, an exchange authorization request may indicate one or more invalid data objects, one or more object statuses associated with one or more invalid data objects, and / or similar. For example, an exchange authorization request may indicate an exchange record for a value-based exchange.
[0254] In some embodiments, an exchange authorization request includes an exchange value modified on at least part of one or more valid objects in the exchange request. For example, an exchange request may include multiple object values corresponding to multiple objects associated with a value-based exchange, and the initial exchange value of multiple objects. The exchange platform can determine the exchange value of a value-based exchange by modifying the initial exchange value on at least part of one or more of the multiple object values corresponding to one or more valid objects. For example, the initial exchange value may be modified to include an aggregated value of one or more object values corresponding to one or more valid objects. The aggregated value may, for example, exclude object values corresponding to one or more invalid objects in the exchange request. For example, the aggregated value may aggregate multiple object values of valid objects from an exchange request while removing all object values from invalid objects. Thus, the aggregated value may represent the exchange value of valid objects authorized to be retrieved by a particular service provider instrument, and a portion of the initial exchange value corresponding to invalid objects. In some examples, the exchange platform can provide an exchange authorization request to a member platform using a service provider interface. The exchange authorization request represents the exchange value modified on one or more valid objects.
[0255] In this way, process 600 can conserve computing resources by continuously screening exchange requests based at least partially on the object-level characteristics of the exchange requests. Thus, process 600 enables the exchange platform to pre-arrange exchange requests at a coarse object level in order to pre-activate objects on behalf of the member platform, thereby reducing the computing resource requirements for the member platform that maintains the service provider instrument.
[0256] In some embodiments, process 600 includes receiving an exchange authorization response in step / operation 614. For example, an exchange platform (e.g., its service provider service) may use a service provider interface to receive an exchange authorization response indicating at least one of exchange approval or exchange denial.
[0257] In some embodiments, an exchange authorization response defines a response to an exchange authorization request. In some embodiments, an exchange authorization response is provided to the exchange platform by a member of the exchange network. An exchange authorization response may be provided, for example, by a service provider of the exchange network in response to an exchange authorization request that indicates one or more valid objects from the exchange request.
[0258] In some embodiments, the exchange authorization response indicates at least one of either an exchange approval or an exchange rejection. The exchange authorization response may be at least partially based on a comparison between the exchange value (e.g., modified at least partially on the valid object) and the asset availability of the service provider instrument. For example, in response to receiving an exchange authorization request, a member may be configured to compare the exchange value to the asset availability of the identified service provider instrument. A value-based exchange may be authorized (e.g., an exchange approval) if asset availability exceeds the exchange value, or rejected (e.g., an exchange rejection) otherwise.
[0259] In some embodiments, the exchange authorization response may indicate one or more contextual response attributes. These one or more contextual response attributes may indicate, for example, one or more contributing factors to the exchange authorization response. Contributing factors may include, for example, bad actor risk and / or fraud checks, errors, full authorization, undisclosed instruments, instrument-based risk and / or fraud checks, insufficient values, invalid UUEKs, limit exceedances (e.g., exceeding UUEK or instrument usage limits), missing line items (e.g., in the case of value exchanges that do not include valid objects), missing instruments, missing accounts, requested PINs, partial authorization, unavailable members, transaction risk and / or fraud checks, unsupported behavior, user contact members (e.g., a user may need to contact a member such as a service provider to resolve an issue), user risk and / or fraud checks, and combinations thereof.
[0260] In some embodiments, the exchange platform may increment the count attribute of each recorded data object corresponding to the authorized value-based exchange valid object. For example, the count attribute of each recorded data object may be incremented in response to the authorization of the object represented by the recorded data object. In some examples, the count attribute may be one of several count attributes of an object, enabling the exchange platform to aggregate object-level insights across multiple different member platforms, locations, and / or similar.
[0261] In some embodiments, process 600 includes providing an exchange response in step / operation 616. For example, an exchange platform (e.g., its partner service) may use a partner interface to provide an exchange response that is at least partially based on an exchange authorization response. The exchange response may indicate, for example, an exchange approval, an exchange rejection, one or more valid objects, and / or one or more invalid objects for an exchange request.
[0262] In some embodiments, the exchange response defines the response to the exchange request. In some embodiments, the exchange response is provided from the exchange platform to the member who provided the exchange request. The exchange response may indicate exchange approval and / or 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.
[0263] In some embodiments, the exchange platform updates the exchange record based at least partially on the exchange response. For example, the exchange record may provide contextual information for the exchange request. The contextual information may represent one or more aspects of the exchange request, exchange response, exchange authorization request, and / or exchange authorization request.
[0264] Figure 7 provides a process flow for arbitrating objects in a value-based exchange according to one or more embodiments of the present disclosure. The process flow depicts a network-based process 700 for arbitrating objects in a value-based exchange by leveraging UUEK, member policies, and / or recorded data objects. Process 700 can be leveraged to overcome various limitations of conventional exchange systems that are unable to arbitrate individual objects in a value-based exchange over a network, as described herein. Process 700 can be implemented by one or more computing devices, entities, and / or systems, as described herein. For example, through various steps / operations of Process 700, an exchange platform can leverage arbitration techniques to overcome various limitations associated with conventional mechanisms of exchange by enabling more flexible inter-entity network communication.
[0265] Figure 7 illustrates an exemplary process 700 for illustrative purposes. While the exemplary process 700 depicts a particular sequence of steps / actions, the sequence may be modified without departing from the scope of this disclosure. For example, some of the steps / actions depicted may be performed in parallel or different sequences that do not substantially affect the functionality of process 700. In other examples, different components of an exemplary device or system performing process 700 may perform their functions substantially simultaneously or in a particular sequence.
[0266] In some examples, process 700 may include one or more sub-operations of step / operation 606 of process 600, in which process 600 is configured to determine one or more valid and / or invalid objects of an exchange request. For example, process 700 may begin at step / operation 606 and end at step / operation 608.
[0267] In some embodiments, process 700 includes identifying a service provider instrument in step / operation 702. For example, a switching platform (e.g., its partner services) may identify a service provider instrument at least in part based on UUEK, as described herein.
[0268] In some embodiments, process 700 includes determining in step / operation 704 whether activation is required. For example, an exchange platform (e.g., its activation service) may determine whether object activation is required for a value-based exchange based at least in part on a service provider instrument and / or one or more objects of a value-based exchange. For example, object activation may be required for age-restricted objects (e.g., alcohol, tobacco, etc.). Additionally or alternatively, object activation may be required if one or more member policies correspond to a service provider instrument (e.g., for electronic benefit transfers, healthcare benefits, etc.).
[0269] If object activation is not required (for example, none of the objects in the exchange request are age-restricted, the member policy does not support the service provider instrument, etc.), process 700 may proceed to step / operation 608 in Figure 6.
[0270] If object activation is required (for example, if the object in the exchange request is age-restricted, or if the member policy corresponds to the service provider instrument), process 700 may proceed to step / operation 706 in Figure 7.
[0271] In some embodiments, process 700 includes identifying a member policy of a service provider instrument in step / operation 706. For example, an exchange platform (e.g., its partner services) can identify a member policy of a service provider instrument. In some examples, the exchange platform can maintain and / or access multiple member policies. Each member policy may correspond to a member platform and / or a service provider instrument of a member platform. In some examples, the exchange platform can identify a member policy based at least partially on a service provider instrument. Additional or alternative, the exchange platform can identify a member platform corresponding to a service provider instrument (e.g., at least partially on a member partition, etc.) and identify a member policy based at least partially on a member platform.
[0272] In some embodiments, the member policy is based at least partially on the location associated with the exchange request. For example, the member policy may be identified at least partially on the member platform and the location associated with the exchange request. In some examples, the location may include the user location. The user location may include, for example, the permanent location of the user associated with the service provider instrument (e.g., home address, residence). In some examples, the member policy may be based at least partially on the permanent location of the user (e.g., residency status). In some examples, the exchange platform may determine the user identifier associated with the value-based exchange at least partially on the UUEK. The exchange platform may determine the user location at least partially on the system user data object corresponding to the user identifier. In such cases, the exchange platform may identify the member policy at least partially on the member platform and the user location.
[0273] In some embodiments, the location is an exchange location that identifies the location from which an object is retrieved. The exchange location may, for example, represent a store address and / or similar. In some examples, the exchange location may be identified by an exchange request, as described herein. In such cases, the exchange platform can identify a member policy based at least in part on the member platform, the service provider instrument, and / or the exchange location.
[0274] In some embodiments, process 700 includes determining one or more valid objects for an exchange request in step / operation 708. For example, the exchange platform may determine one or more valid objects based at least in part on a comparison between a member policy and multiple objects of the exchange request.
[0275] In some embodiments, an active object is an object of value-based exchange authorized according to a member policy. An active object may correspond, for example, to an object identifier and / or one or more object attributes authorized by a member policy. For example, in a financial value system, an active object may be a product or service eligible for purchase using a service provider instrument. For example, a product may be one gallon of milk, which may be associated with an SKU code and / or one or more object attributes such as "Category: Dairy Products," "Quantity: 1 gallon," and / or similar. A product can be an active object for value-based exchange if the member policy corresponding to the service provider instrument for value-based exchange authorizes the SKU code and / or one or more object attributes such as "Category: Dairy Products," "Quantity: 1 gallon," and / or similar.
[0276] In some cases, a member policy may contain multiple authorized object identifiers. The exchange platform can determine one or more valid objects based at least partially on a comparison between multiple object identifiers in the exchange request and multiple authorized object identifiers in the member policy. For example, one or more valid objects may include each of the objects from the exchange request with an object identifier that matches an authorized object identifier from the member policy.
[0277] As an addition or alternative, a member policy may include multiple authorized object attributes. The exchange platform may identify multiple recorded data objects corresponding to multiple object identifiers in an exchange request. Each recorded data object may include multiple object attributes for each object. The exchange platform may determine one or more valid objects based at least in part on a comparison between multiple recorded data objects and multiple authorized object attributes. In some examples, for instance, if an exchange request includes object attributes, the exchange platform may determine one or more valid objects by comparing the object attributes of the exchange request with a member policy.
[0278] In some embodiments, the exchange platform may increment a count attribute for each recorded data object corresponding to an active object. For example, the count attribute of each recorded data object may be incremented in response to the activation of the object represented by the recorded data object. In some examples, the count attribute may be one of several count attributes of an object, enabling the exchange platform to aggregate object-level insights across multiple different member platforms, locations, and / or similar.
[0279] In some embodiments, process 700 includes determining one or more invalid objects for an exchange request in step / operation 710. For example, an exchange platform (e.g., its activation service) may determine 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 a value-based exchange. For example, one or more invalid objects may include each object from an exchange request that is not activated due to a member policy. Additional or alternative, for example, if a member policy indicates a plurality of restrictive objects, an exchange platform (e.g., its activation service) may determine one or more invalid objects based at least in part on a comparison between the member policy and a plurality of objects in an exchange request, as described with reference to step / operation 708.
[0280] In some embodiments, an invalid object is an object for value-based exchange that is not authorized according to the member policy. An invalid object may correspond, for example, to an object identifier and / or one or more object attributes that are not authorized by the member policy. For example, in a financial value system, an invalid object may be a product or service that is ineligible for purchase using a service provider instrument. For example, a product may be one liter of alcohol, which may be associated with an SKU code and / or one or more object attributes such as "Category: Alcohol," "Quantity: Liters," and / or similar. A product may also be an invalid object for value-based exchange if the member policy corresponding to the service provider instrument for value-based exchange restricts the SKU code and / or one or more object attributes such as "Category: Alcohol," "Quantity: 1 liter," and / or similar.
[0281] In some embodiments, an effective exchange data object is a data object that represents one or more effective objects of a value-based exchange. In some examples, an effective exchange data object may be at least partially based on a comparison between an exchange request and the member policy corresponding to the exchange request. In some examples, an effective exchange data object may contain multiple object identifiers and / or one or more object attributes of one or more effective objects of a value-based exchange.
[0282] In some examples, an effective exchange data object may represent an exchange value. The exchange value may also be the aggregate value of each effective data object. In some examples, the exchange value may be modified from the initial exchange value using some of the techniques of this disclosure to match the exchange value of the effective objects in a value-based exchange. In some examples, an effective exchange data object may represent one or more object statuses of one or more effective objects.
[0283] In some embodiments, the exchange platform generates an invalid exchange data object for an exchange request. The invalid exchange data object may also be a data object that represents 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 represent 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 the valid exchange data object. For example, the invalid exchange data object may represent multiple invalid objects of a value-based exchange. For example, the invalid exchange data object may represent multiple objects of a value-based exchange that are not included in the valid exchange data object.
[0284] An invalid exchange data object can include multiple object identifiers and / or one or more object attributes of one or more invalid objects of value-based exchange. In some examples, the invalid exchange data object may indicate the object status of one or more invalid objects.
[0285] FIG. 8 provides a message flow diagram illustrating steps / operations for adjudicating a value-based exchange coupled with a service provider instrument. As will be appreciated, the steps / operations of the message flow diagram can be executed and performed by the corresponding steps / operations of FIGS. 6 and 7.
[0286] In step / operation 804, user 802 initiates a value-based exchange to obtain a plurality of objects from partner platform 420 using a service provider instrument maintained by service provider platform 440.
[0287] In step / operation 806, partner platform 420 provides an exchange request to an exchange platform (e.g., its partner service 410, etc.) to execute the value-based exchange. The exchange request includes a UUEK and indicates a plurality of objects. For example, partner platform 420 can send the exchange request to the exchange platform (e.g., its partner service 410, etc.) along with the UUEK and a plurality of object identifiers.
[0288] In step / operation 808, the exchange platform (e.g., its partner service 410, etc.) provides the UUEK and data indicating a plurality of objects to service provider service 412 corresponding to the UUEK. For example, the exchange platform (e.g., its partner service 410, etc.) can call service provider service 412 with the UUEK of the exchange request and a plurality of object identifiers.
[0289] In step / operation 810, the exchange platform (e.g., its service provider service 412, etc.) identifies the service provider instrument and / or user corresponding to the UUEK. For example, the exchange platform (e.g., its service provider service 412, etc.) can search for system user data objects and system instrument data objects associated with the UUEK.
[0290] In step / operation 812, the exchange platform (e.g., its service provider service 412, etc.) determines whether object activation is required for value-based exchange, at least partially based on the user and / or service provider instrument. For example, the exchange platform (e.g., its service provider service 412, etc.) can determine whether object activation is required for an exchange request, at least partially based on the UUEK, user, service provider instrument, and / or object identifier of the exchange request.
[0291] In response to the determination that object activation is required, in step / operation 814, the exchange platform (e.g., its service provider service 412, etc.) provides data indicating the user and / or multiple objects to the activation service 408. For example, the exchange platform (e.g., its service provider service 412, etc.) can call the activation service 408 with multiple object identifiers of the exchange request and system user data objects.
[0292] In step / operation 816, the exchange platform (e.g., its activation service 408) compares multiple objects with the member policies corresponding to the service provider instruments. For example, the exchange platform (e.g., its activation service 408) can look up the object identifier of the exchange request.
[0293] In step / operation 818, the exchange platform (e.g., its activation service 408) activates one or more of several objects based at least partially on the comparison. For example, the exchange platform (e.g., its activation service 408) may activate one or more of several object identifiers for an object identifier found in the member policy corresponding to the service provider instrument.
[0294] In step / operation 820, the exchange platform (e.g., its activation service 408) provides the service provider service 412 with data indicating multiple valid objects. In some examples, the exchange platform (e.g., its activation service 408) may provide the service provider service 412 with a list of invalid object identifiers to identify valid objects (e.g., by distinguishing invalid objects from valid objects). For example, the exchange platform (e.g., its activation service 408) may return a list of ineligible object identifiers for value-based exchange.
[0295] In step / operation 822, the exchange platform (e.g., its service provider service 412) modifies the exchange value based at least partially on one or more valid objects. For example, the exchange platform (e.g., its service provider service 412) may adjust the amount of authority of the service provider platform 440 if applicable (e.g., one or more valid objects), or, where appropriate, decline the value-based exchange (e.g., no valid objects).
[0296] In step / operation 824, the exchange platform (e.g., its service provider service 412) submits an exchange authorization request to the service provider platform 440. The exchange platform (e.g., its service provider service 412) may initiate a call (e.g., an API call) to the service provider platform 440 to request authorization for the sum of eligible objects from multiple objects in the exchange request.
[0297] In step / operation 826, the service provider platform 440 provides an exchange authorization response to the exchange platform (e.g., its service provider service 412). The service provider platform 440 may return, for example, an authorization decision (e.g., approved, denied).
[0298] In step / operation 828, the exchange platform (e.g., its service provider service 412) provides the partner service 410 with an exchange authorization response and / or data indicating one or more valid objects. In some examples, the exchange platform (e.g., its service provider service 412) may provide the partner service 410 with a list of invalid object identifiers. The exchange platform (e.g., its service provider service 412) may return authorization determinations and details for object identifiers (e.g., one or more invalid objects) that are ineligible to acquire (e.g., purchase).
[0299] In step / operation 830, the exchange platform (e.g., its partner service 410) provides an exchange response to the partner platform 420. The exchange response may contain an exchange authorization response and / or data indicating one or more valid objects. In some examples, the exchange platform (e.g., its partner service 410) may provide the partner platform 420 with a list of invalid object identifiers. For example, partner service 410 may return authorization decisions and details for object identifiers that are ineligible to acquire (e.g., $100 authorized, remove alcoholic beverages) (e.g., one or more invalid objects).
[0300] In step / operation 832, the partner platform 420 provides the user 802 with an indication of the exchange response. For example, the partner platform 420 may return an authorization decision to the user 802.
[0301] VI. Conclusion Those skilled in the art will likely envision numerous modifications and other embodiments that benefit from the teachings presented in the foregoing description and accompanying drawings. Therefore, it should be understood that this disclosure is not limited to the specific embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Certain terms are used herein, but these terms are used only in a general and descriptive sense and not for limitation.
Claims
1. A step of receiving an exchange request for performing a value-based exchange by one or more processors and using a partner interface, wherein the exchange request indicates a universally unique ephemeral key (UUEK) comprising an exchange identifier, A step of identifying an exchange data object based at least partially on the exchange identifier by one or more processors, wherein the exchange data object comprises an instrument identifier of a service provider instrument of a member platform; The steps include determining, by one or more processors, one or more valid objects and one or more invalid objects for the exchange request, at least in part, based on a member policy corresponding to the member platform, A step of providing an exchange authorization request to the member platform by one or more processors and using a service provider interface, wherein the exchange authorization request indicates the instrument identifier and one or more valid objects for the exchange request. The steps include receiving an exchange authorization response indicating at least one of exchange approval or exchange rejection by one or more processors and using the service provider interface, A step of providing an exchange response based at least in part on the exchange authorization response by one or more processors and using the partner interface, wherein the exchange response indicates (i) the exchange authorization or the exchange denial, and (ii) the one or more invalid objects for the exchange request. A computer execution method, including...
2. The exchange request includes one or more request resolution flags indicating partial or full exchange authority, and the exchange authority request is provided to the member platform. The step of determining that one or more of the aforementioned request resolution flags indicate the partial exchange authority, In response to the determination that one or more of the request resolution flags indicate the partial exchange authority, the steps include providing the exchange authority request to the member platform. A computer execution method according to claim 1, including the method described in claim 1.
3. The computer execution method according to claim 1, wherein the exchange request comprises a plurality of object identifiers corresponding to a plurality of objects associated with the value-based exchange.
4. The computer execution method according to claim 3, wherein the object identifier is the smallest inventory management unit.
5. The member policy comprises a plurality of authorized object identifiers, and the step of determining the one or more valid objects and the one or more invalid objects for the exchange request is: A step of determining 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, The steps include determining the one or more invalid objects 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, and The computer execution method according to claim 3, including the method described in claim 3.
6. The member policy comprises multiple authorized object attributes, and the step of determining one or more valid objects and one or more invalid objects for the exchange request is: A step of identifying a plurality of recorded data objects corresponding to the plurality of object identifiers, wherein the recorded data object comprises a plurality of object attributes of the object, The steps include determining one or more valid objects based at least in part on a comparison between the plurality of recorded data objects and the plurality of authorized object attributes, The steps include determining the one or more invalid objects 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, and The computer execution method according to claim 3, including the method described in claim 3.
7. The computer execution method according to claim 6, wherein the plurality of object attributes include at least one of spatial attributes, count attributes, value attributes, source attributes, composition attributes, or category attributes.
8. The computer execution method according to claim 7, further comprising the step of incrementing the count attribute of the object in response to the exchange request.
9. The computer execution method according to claim 1, wherein the member policy is identified at least in part on the member platform and the location associated with the exchange request.
10. The computer execution method according to claim 9, wherein the location comprises an exchange location, and the exchange request indicates the exchange location.
11. The aforementioned location includes a user location, and the computer execution method is A step of determining a user identifier associated with the value-based exchange, at least in part, based on the UUEK; The steps include determining the user location based at least partially on the system user data object corresponding to the user identifier, The steps of identifying the member policy based at least partially on the member platform and the user location, and The computer execution method according to claim 9, further comprising:
12. The exchange request indicates an exchange location, the member policy indicates one or more authorized locations, and the computer execution method is The step of determining the one or more valid objects and the one or more invalid objects for the exchange request, at least in part, based on a comparison between the exchange location and the one or more authorized locations. The computer execution method according to claim 11, further comprising:
13. The exchange request comprises a plurality of object values corresponding to a plurality of objects associated with the value-based exchange, and the initial exchange value of the plurality of objects, and the computer execution method A step of determining the exchange value of the value-based exchange by modifying the initial exchange value based at least partially on one or more of the multiple object values corresponding to the one or more valid objects, A step of providing the exchange authorization request to the member platform using the service provider interface, wherein the exchange authorization request indicates the exchange value. The computer execution method according to claim 1, further comprising:
14. A computing system comprising memory and one or more processors communicatively coupled to the memory, wherein the one or more processors Receiving an exchange request for performing a value-based exchange using a partner interface, wherein the exchange request indicates a universally unique ephemeral key (UUEK) comprising an exchange identifier, Identifying an exchange data object based at least in part on the exchange identifier, wherein the exchange data object comprises an instrument identifier of a member platform's service provider instrument, Determining one or more valid objects and one or more invalid objects for the exchange request based at least in part on the 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 instrument identifier and one or more valid objects for the exchange request. Using the aforementioned service provider interface, receive an exchange authorization response indicating at least one of exchange approval or exchange rejection, Using the partner interface, provide an exchange response that is at least partially based on the exchange authorization response, wherein the exchange response indicates (i) the exchange approval or the exchange rejection, and (ii) the one or more invalid objects for the exchange request. A computing system configured to perform the following actions.
15. The exchange request includes one or more request resolution flags indicating partial or full exchange authority, and the exchange authority request is provided to the member platform. It is determined that one or more of the aforementioned request resolution flags indicate the partial exchange authority, In response to the determination that one or more of the aforementioned request resolution flags indicate the partial exchange authority, the exchange authority request is provided to the member platform. The computing system according to claim 14, including the following:
16. The computing system according to claim 14, wherein the exchange request comprises a plurality of object identifiers corresponding to a plurality of objects associated with the value-based exchange.
17. The computing system according to claim 16, wherein the object identifier is the smallest inventory management unit.
18. The member policy comprises a plurality of authorized object identifiers, and determines the one or more valid objects and the one or more invalid objects for the exchange request, Determining 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, Determining the one or more invalid objects 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. The computing system according to claim 17, including the following:
19. When executed by one or more processors, Receiving an exchange request for performing a value-based exchange using a partner interface, wherein the exchange request indicates a universally unique ephemeral key (UUEK) comprising an exchange identifier, Identifying an exchange data object based at least in part on the exchange identifier, wherein the exchange data object comprises an instrument identifier of a member platform's service provider instrument, Determining one or more valid objects and one or more invalid objects for the exchange request based at least in part on the 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 instrument identifier and one or more valid objects for the exchange request. Using the aforementioned service provider interface, receive an exchange authorization response indicating at least one of exchange approval or exchange rejection, Using the partner interface, provide an exchange response that is at least partially based on the exchange authorization response, wherein the exchange response indicates (i) the exchange approval or the exchange rejection, and (ii) the one or more invalid objects for the exchange request. One or more non-temporary computer-readable storage media, each containing instructions for causing one or more processors to perform the following actions.
20. The exchange request comprises a plurality of object values corresponding to a plurality of objects associated with the value-based exchange, and the initial exchange value of the plurality of objects, When the instruction is executed by one or more processors, Determining the exchange value of the value-based exchange by modifying the initial exchange value based at least partially on one or more of the multiple object values corresponding to the one or more valid objects, Providing the exchange authorization request to the member platform using the service provider interface, wherein the exchange authorization request represents and provides the exchange value. The one or more non-temporary computer-readable storage media according to claim 19, wherein the one or more processors further perform the following.
Citation Information
Patent Citations
Temporary settling number system, managing device of temporary settling number and computer-readable recording medium
JP2001067396A
Authentication processing method, authentication processing system, settlement method, user device, and storage medium in which program to perform authentication processing is stored
JP2002074223A
Method for electric commerce, settlement proxy method, information issuing method of disposable and post-paying system and settlement requesting method
JP2002342688A
Method and System for Partial Approval of Virtual Card Transactions
US20160335634A1
Real-time merchandising system
US20210295367A1