Customizable intermediary platform for connecting entities
In an example embodiment, a system is provided that allows for multiple service partners to be accessible simultaneously via a single API. The system ensures that requests to collect payment information are sent only to a service partner that is active and operating, ensuring that a request to collect payment information that would normally have been sent to a service partner that is down or otherwise unavailable will be rerouted to an alternative service partner. Furthermore, the system also allows for a dynamic selection of a service partner to utilize among multiple service providers, based on factors such as how well the service provider's system integrates with the underlying institution from which the payment will be made, and the estimated speed of the processing of the transaction by the service provider. This latter aspect can be technically challenging because the same institution may be known by multiple different names on the different service providers.
1 . A method for dynamic selection of systems when routing electronic requests to reduce latencies, the method comprising:
receiving, by at least one processor, an electronic request from a device of a first entity, the electronic request corresponding to a request for information stored by a first institution;
identifying, by the at least one processor, a routing context associated with the electronic request, the routing context corresponding to aspects of the request that are involved in determining routing choices;
determining, by the at least one processor, a plurality of service provider devices that have an association with the first institution based on the routing context;
identifying, by the at least one processor, a plurality of network operation events generated within a period of time in response to a plurality of electronic requests processed by the plurality of devices during the period of time;
aggregating, by the at least one processor, the plurality of events into a plurality of time windows associated with the period of time, where each network operation event is aggregated with a respective time window of the plurality of time windows based on a time of occurrence of each network operation;
executing, by the at least one processor, a machine learning model to determine a data protection attribute by providing profile data associated with a user profile to the machine learning model to cause the machine learning model to generate an output indicating the the data protection attribute and an importance level of data protection associated with the user profile;
calculating, by the at least one processor, a performance metric for each device of the plurality of devices corresponding to the service providers in each of the plurality of time windows, the performance metric representing a weighted sum that is based on at least one weighted performance factor, the weighted performance factor representing data of the service providers communicated by the plurality of service provider devices when executing the plurality of electronic requests within the plurality of time windows, and at least one weighted preference factor, the at least one weighted preference factor representing the data protection attribute weighted according to the importance level of data protection;
determining, by the at least one processor, one time window of the plurality of time windows associated with the electronic request based on a time of receipt associated with the electronic request; and
responsive to determining, by the at least one processor, a routing choice that optimizes execution of the electronic request within the one time window of the plurality of time windows based at least on the performance metric, the routing choice indicating a device of a first service provider of the plurality of service providers that satisfies the at least one weighted performance factor and the data protection attribute weighted according to the importance level of data protection, routing, by the at least one processor, the electronic request to the device of the first service provider based on a current time, the routing context, and the routing choice.
2 . The method of claim 1 , wherein the calculating the performance metric for each device of the plurality of devices corresponding to the service provider includes determining an entity category corresponding to the first entity.
3 . The method of claim 1 , wherein the routing is further based on preferences set by an entity sending the electronic request, the entity having received the electronic request from an end user.
4 . The method of claim 1 , further comprising:
determining one or more preferences corresponding to an end user of the first entity; and
in response to receiving the information requested by the electronic request from the first service provider, abstracting a first portion of the information and providing the information including the abstracted first portion to the first entity.
5 . The method of claim 4 , further comprising training the machine learning model to be used in the routing process by:
obtaining historical electronic request processing information;
transforming the historical electronic request processing information into training data by modifying one or more fields of data in the historical electronic request processing information;
using a machine learning algorithm to train the machine learning model using the training data, the training including:
setting values for a plurality of weights to be applied to fields of the training data;
applying the plurality of weights with set values to corresponding values of fields in the training data;
measuring results of the applying against a loss function; and
altering the values for the plurality of weights based on the measuring.
6 . The method of claim 1 , wherein generating the output indicating the data protection attribute further comprises executing the machine learning model based on an electronic request history included in the profile data.
7 . The method of claim 1 , wherein the data protection attribute is generated based on at least one of an explicit preference included the profile data and a jurisdiction indicated by the profile data.
8 . A system for dynamic selection of systems when routing electronic requests to reduce latencies, the system comprising:
one or more processors;
a non-transitory computer-readable medium storing instructions that, when executed by at least one processor among the one or more processors, cause the at least one processor to perform operations comprising:
receiving, from a first entity, an electronic request corresponding to a request for information stored by a first institution;
identifying a routing context associated with the electronic request, the routing context corresponding to aspects of the request that are involved in determining routing choices;
determining a plurality of service provider devices that have an association with the first institution based on the routing context;
identifying a plurality of network operation events generated within a period of time in response to a plurality of electronic requests processed by the plurality of devices during the period of time;
aggregating the plurality of events into a plurality of time windows associated with the period of time, where each network operation event is aggregated with a respective time window of the plurality of time windows based on a time of occurrence of each network operation;
executing a machine learning model to determine a data protection attribute by providing profile data associated with a user profile to the machine learning model to cause the machine learning model to generate an output indicating the data protection attribute and an importance level of data protection associated with the user profile;
calculating a performance metric for each device of the plurality of devices corresponding to the service providers in each of the plurality of time windows, the performance metric representing a weighted sum that is based on at least one weighted performance factor, the weighted performance factor representing data of the service providers communicated by the plurality of service provider devices when executing the plurality of electronic requests within the plurality of time windows, and at least one weighted preference factor, the weighted preference factor representing the data protection attribute weighted according to the importance level of data protection;
determining one time window of the plurality of time windows associated with the electronic request based on a time of receipt associated with the electronic request; and
responsive to determining a routing choice that optimizes execution of the electronic request within the one time window of the plurality of time windows, based at least on the performance metric, the routing choice indicating a device of a first service provider of the plurality of service providers that satisfies the at least one weighted performance factor and the data protection attribute weighted according to the importance level of data protection, routing the electronic request to the device of a first service provider based on a current time, the routing context, and the routing choice.
9 . The system of claim 8 , wherein the routing context includes one or more preferences corresponding to the first entity.
10 . The system of claim 8 , wherein the routing context includes a transaction location.
11 . The system of claim 8 , wherein the calculating the performance metric for each service providers includes determining an entity category corresponding to the first entity.
12 . The system of claim 8 , wherein the routing is further based on preferences set by an entity sending an authorization request, the entity having received the authorization request from an end user.
13 . The system of claim 8 , wherein the operations further comprise:
determining one or more preferences corresponding to an end user of the first entity; and
in response to receiving the information requested by the electronic request from the first service provider, abstracting a first portion of the information and providing the information including the abstracted first portion to the first entity.
14 . The system of claim 13 , further comprising training a machine learning model to be used in the routing process by:
obtaining historical electronic request processing information;
transforming the historical electronic request processing information into training data by modifying one or more fields of data in the historical electronic request processing information;
using a machine learning algorithm to train the machine learning model using the training data, the training including:
setting values for a plurality of weights to be applied to fields of the training data;
applying the plurality of weights with set values to corresponding values of fields in the training data;
measuring results of the applying against a loss function; and
altering the values for the plurality of weights based on the measuring.
15 . A non-transitory machine-readable medium comprising instructions which, when read by a machine, cause the machine to perform operations for dynamic selection of systems when routing electronic requests to reduce latencies, the operations comprising:
receiving, from a first entity, an electronic request from a device of a first entity, the electronic request corresponding to a request for information stored by a first institution;
identifying a routing context associated with the electronic request, the routing context corresponding to aspects of the request that are involved in determining routing choices;
determining a plurality of service provider devices that have an association with the first institution based on the routing context;
identifying a plurality of network operation events generated within a period of time in response to a plurality of electronic requests processed by the plurality of devices during the period of time;
aggregating the plurality of events into a plurality of time windows associated with the period of time, where each network operation event is aggregated with a respective time window of the plurality of time windows based on a time of occurrence of each network operation;
executing a machine learning model to determine a data protection attribute by providing profile data associated with a user profile to the machine learning model to cause the machine learning model to generate an output indicating the data protection attribute and an importance level of data protection associated with the user profile;
calculating a performance metric for each service provider in each of the plurality of time windows, the performance metric representing a weighted sum that is based on at least one weighted performance factor, the weighted performance factor representing data of the service providers communicated by the plurality of service provider devices when executing the plurality of electronic requests within the plurality of time windows, and at least one weighted preference factor, the weighted preference factor representing the data protection attribute weighted according to the importance level of data protection;
determining one time window of the plurality of time windows associated with the electronic request based on a time of receipt associated with the electronic request; and
responsive to determining a routing choice that optimizes execution of the electronic request within the one time window of the plurality of time windows based at least on the performance metric, the routing choice indicating a device of a first service provider of the plurality of service providers that satisfies the at least one weighted performance factor and the data protection attribute weighted according to the importance level of data protection, routing the electronic request to the device of the first service provider based on a current time, the routing context, and the routing choice.
16 . The non-transitory machine-readable medium of claim 15 , wherein the routing context includes one or more preferences corresponding to the first entity.
17 . The non-transitory machine-readable medium of claim 15 , wherein the routing context includes a transaction location.
18 . The non-transitory machine-readable medium of claim 15 , wherein the calculating the performance metric for each device of the plurality of devices corresponding to the service providers includes determining an entity category corresponding to the first entity.
19 . The non-transitory machine-readable medium of claim 15 , wherein the routing is further based on preferences set by an entity sending an authorization request, the entity having received the authorization request from an end user.
20 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:
determining one or more preferences corresponding to an end user of the first entity; and
in response to receiving the information requested by the electronic request from the first service provider, abstracting a first portion of the information and providing the information including the abstracted first portion to the first entity.