US 11,989,188 B2
Aggregating access to third party data sources and intelligently managing access through request quotas
Phillip Paul Scott, II, Charlotte, NC (US); Jonathan Currie, Charlotte, NC (US); Robert Nicholas D'Aveta, Charlotte, NC (US); Tracey King, Charlotte, NC (US); Daniel Serrano Munoz, Charlotte, NC (US); Alan Shields, Charlotte, NC (US); and Joshua Albert Styrcula, Charlotte, NC (US)
Assigned to BANK OF AMERICA CORPORATION, Charlotte, NC (US)
Filed by BANK OF AMERICA CORPORATION, Charlotte, NC (US)
Filed on Aug. 25, 2021, as Appl. No. 17/411,653.
Prior Publication US 2023/0069077 A1, Mar. 2, 2023
Int. Cl. G06F 16/24 (2019.01); G06F 16/2457 (2019.01); G06F 21/62 (2013.01)
CPC G06F 16/24575 (2019.01) [G06F 21/6218 (2013.01)] 10 Claims
OG exemplary drawing
 
1. A system for aggregating access to third-party data sources and intelligently managing access through request quotas, the system comprising:
a plurality of third-party data sources, wherein the third-party data sources are configured to receive queries from a plurality of users and, in response to receiving a query, return data that is responsive to the query;
a first computing platform including a first memory and one or more first processing devices in communication with the first memory, wherein the first memory stores gateway instructions, executable by the one or more first processing device and configured to:
receive a query request from one of the plurality of users, wherein the query request requests data that is responsive to a query,
identify the one of the plurality of third-party data sources that is configured to act on the query and provide the data, and
identify a route within the one of the third-party data sources that is configured to act on the query and provide the data, wherein the route includes a data path that the data encounters within the one of the third-party data sources, wherein the data path includes networked-devices,
a second computing platform including a second memory and one or more second processing devices in communication with the second memory, wherein the second memory stores query request proxy instructions, executable by the one or more second processing devices and configured to:
receive the query request,
determine that the user has access privileges for accessing (i) one of the plurality of third-party data sources, and (ii) the route that is configured to act on the query and provide the data,
in response to determining that the user has access privileges for accessing (i) and (ii), determine that the user has available queries from (a) a first query quota that is specific to the user and the one of the data sources, wherein the first query quota defines a volume of queries that the user is allowed to submit to the one of the data sources over a predetermined period of time and (b) a second query quota that is specific to the user and the route within the one of the third-party data sources, wherein the second query quota defines a volume of queries that the user is allowed to submit to the route over the predetermined period of time, and
determine whether the query request includes a cache bypass indicator that is configured to allow the query request to bypass a determination of whether the data responsive to the query is stored in a cache,
in response to determining that the query request does not include the cache bypass indicator, determine whether the data responsive to the query is stored in cache memory,
in response to determining that the user has available queries from the first and second query quotas and either (i) the query request includes the cache bypass indicator or (ii) the data responsive to the query is not stored in the cache memory, authorize the query for submission to the one of the plurality of third-party data sources and the route.