IP Library Granted Patent US 12,475,466
Granted Patent B2
US 12,475,466 · App. 18/376,384 · Granted Nov 18, 2025

Systems and methods for secure provisioning of access to tiered databases

Inventors: Safwan Shah (Saratoga, CA); Sohail Aslam (Milpitas, CA); Ijaz Anwar (San Jose, CA)
Assignee: PAYACTIV, INC.
G06Q20/4015G06Q10/105G06Q20/3223G06Q20/3674G06Q40/03G06Q40/125
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,475,466
App. No.
18/376,384
Granted
Nov 18, 2025
Kind
B2
Abstract

Implementations are disclosed herein to provide tiered access to databases. In some implementations, a method includes an enrollment processor, generating, at the enrollment processor, an encryption key specific to a computing device associated with the tiered data; providing the encryption key to the computing device; receiving, at the enrollment processor, the tiered data that includes at least first tier data and second tier data, storing the tiered data, receiving, at the enrollment processor, an access request from a second computing device associated with a user, determining, using the in-memory cache, whether there is a match between the data elements and the stored second tier data, based on determination that there is the match, performing a decryption of a portion of the first tier data using the encryption key, and storing the decrypted portion of the first tier data in a third database connected to the enrollment processor.

Claims (48)

1 . A computer-implemented method to provide access to tiered data comprising:

providing an enrollment processor, wherein the enrollment processor is connected to a network via a firewall, and wherein the enrollment processor is communicatively coupled to a bastion host and a load balancer;

generating, at the enrollment processor, an encryption key specific to a computing device associated with the tiered data;

providing the encryption key to the computing device;

receiving, at the enrollment processor, the tiered data that includes at least first tier data and second tier data, wherein the first tier data comprises encrypted data that has been encrypted using the provided encryption key and the second tier data comprises unencrypted data;

storing the tiered data, wherein the first tier data is stored at a first database connected to the enrollment processor, and the second tier data is stored in an in-memory cache connected to the enrollment processor;

receiving, at the enrollment processor, an access request from a second computing device associated with a user, wherein the access request includes data elements from the second tier data, and wherein the data elements are associated with the user;

determining, using the in-memory cache, whether there is a match between the data elements and the stored second tier data;

based on determination that there is the match, performing a decryption of a portion of the first tier data using the encryption key; and

storing the decrypted portion of the first tier data in a third database connected to the enrollment processor.

2 . The computer-implemented method of claim 1 , further comprising based on a determination that there is no match between the data elements and the stored second tier data, retrieving additional data elements from the first database.

3 . The computer-implemented method of claim 1 , wherein receiving the tiered data comprises receiving the tiered data via one of: a web interface and a file exchange.

4 . The computer-implemented method of claim 1 , wherein receiving the tiered data comprises receiving the tiered data as a batch-wise addition to the first database.

5 . The computer-implemented method of claim 1 , wherein determining whether there is a match between the data elements and the stored second tier data comprises performing a cache hit of the in-memory cache.

6 . The computer-implemented method of claim 1 , further comprising preloading the first tier data and the second tier data into a grid, and wherein determining whether there is the match comprises determining whether a threshold number of data elements in the access request match data elements in the first tier data and the second tier data.

7 . The computer-implemented method of claim 1 , wherein receiving the access request from a second computing device associated with a user comprises receiving the access request via a short messaging service (SMS) message and wherein the method further comprises parsing the access request to determine a language of the access request.

8 . A system, comprising:

a user device configured to transmit an access request; and

an enrollment processor, coupled to a data cache memory and to a first database, an in-memory cache, and a third database, wherein the enrollment processor is connected to a network via a firewall, and wherein the enrollment processor is communicatively coupled to a bastion host and a load balancer, and wherein the enrollment processor is configured to:

generating an encryption key specific to a computing device associated with tiered data;

providing the encryption key to the computing device;

receiving the tiered data that includes at least first tier data and second tier data, wherein the first tier data comprises encrypted data that has been encrypted using the provided encryption key and the second tier data comprises unencrypted data;

storing the tiered data, wherein the first tier data is stored at a first database connected to the enrollment processor, and the second tier data is stored in an in-memory cache connected to the enrollment processor;

receiving an access request from a second computing device associated with a user, wherein the access request includes data elements from the second tier data, and wherein the data elements are associated with the user;

determining, using the in-memory cache, whether there is a match between the data elements and the stored second tier data;

based on determination that there is the match, performing a decryption of a portion of the first tier data using the encryption key; and

storing the decrypted portion of the first tier data in a third database connected to the enrollment processor.

9 . The system of claim 8 , wherein the enrollment processor is further configured to based on a determination that there is no match between the data elements and the stored second tier data, retrieving additional data elements from the first database.

10 . The system of claim 8 , wherein receiving the tiered data comprises receiving the tiered data via one of: a web interface and a file exchange.

11 . The system of claim 8 , wherein receiving the tiered data comprises receiving the tiered data as a batch-wise addition to the first database.

12 . The system of claim 8 , wherein determining whether there is a match between the data elements and the stored second tier data comprises performing a cache hit of the in-memory cache.

13 . The system of claim 8 , wherein the enrollment processor is further configured to preloading the first tier data and the second tier data into a grid, and wherein determining whether there is the match comprises determining whether a threshold number of data elements in the access request match data elements in the first tier data and the second tier data.

14 . The system of claim 8 , wherein receiving the access request from a second computing device associated with a user comprises receiving the access request via a short messaging service (SMS) message and wherein the enrollment processor is further configured to parsing the access request to determine a language of the access request.

15 . A non-transitory computer-readable medium comprising instructions that, responsive to execution by a processing device, cause the processing device to perform operations comprising:

providing an enrollment processor, wherein the enrollment processor is connected to a network via a firewall, and wherein the enrollment processor is communicatively coupled to a bastion host and a load balancer;

generating, at the enrollment processor, an encryption key specific to a computing device associated with tiered data;

providing the encryption key to the computing device;

receiving, at the enrollment processor, the tiered data that includes at least first tier data and second tier data, wherein the first tier data comprises encrypted data that has been encrypted using the provided encryption key and the second tier data comprises unencrypted data;

storing the tiered data, wherein the first tier data is stored at a first database connected to the enrollment processor, and the second tier data is stored in an in-memory cache connected to the enrollment processor;

receiving, at the enrollment processor, an access request from a second computing device associated with a user, wherein the access request includes data elements from the second tier data, and wherein the data elements are associated with the user;

determining, using the in-memory cache, whether there is a match between the data elements and the stored second tier data;

based on determination that there is the match, performing a decryption of a portion of the first tier data using the encryption key; and

storing the decrypted portion of the first tier data in a third database connected to the enrollment processor.

16 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise based on a determination that there is no match between the data elements and the stored second tier data, retrieving additional data elements from the first database.

17 . The non-transitory computer-readable medium of claim 15 , wherein receiving the tiered data comprises receiving the tiered data via one of: a web interface and a file exchange.

18 . The non-transitory computer-readable medium of claim 15 , wherein receiving the tiered data comprises receiving the tiered data as a batch-wise addition to the first database.

19 . The non-transitory computer-readable medium of claim 15 , wherein determining whether there is a match between the data elements and the stored second tier data comprises performing a cache hit of the in-memory cache.

20 . The non-transitory computer-readable medium of claim 15 , wherein receiving the access request from a second computing device associated with a user comprises receiving the access request via a short messaging service (SMS) message and wherein the operations further comprise parsing the access request to determine a language of the access request.

Assignments (2)
SECURITY INTEREST Recorded Apr 2, 2026
From: PAYACTIV, INC.
To: TORONTO DOMINION (TEXAS) LLC
Reel/Frame 074263/0497 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2023
From: SHAH, SAFWAN; ASLAM, SOHAIL; ANWAR, IJAZ
To: PAYACTIV INC.
Reel/Frame 065449/0419 →
Continuity (10)
Continuation 16846368 · Apr 12, 2020
Continuation 16394807 · Apr 25, 2019
Continuation 15256746 · Sep 6, 2016
Continuation In Part 14849851 · Sep 10, 2015
Provisional Application 62268501 · Dec 17, 2015
Provisional Application 62253150 · Nov 10, 2015
Provisional Application 62238622 · Oct 7, 2015
Provisional Application 62214179 · Sep 3, 2015
Provisional Application 62053658 · Sep 22, 2014
Related Publication 20240029067A1 · Jan 25, 2024
References Cited (1)
US 20210090077A1 · Barraza Enciso · 2021 [cited by examiner]