IP Library › Granted Patent US 12,450,222
Granted Patent B2
US 12,450,222 · App. 18/603,837 · Granted Oct 21, 2025

Methods and apparatus for data and data request management

Inventors: Sivakumar Subramanian (Karnataka, IN); Deekkan Kannan (Tamil Nadu, IN); Hari Sai Gangadhar V (Bangalore, IN); Joyan Sil (Bangalore, IN)
Assignee: Walmart Apollo, LLC
G06F16/235G06F16/2282G06F16/2456
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,450,222
App. No.
18/603,837
Filed
Mar 13, 2024
Granted
Oct 21, 2025
Kind
B2
Art Unit
2164
USPC
707/748
Abstract

This application relates to automatic processes that service data requests for information related to an item during varying temporal periods. For example, a computing device receives first attributes for an item, and generates a first surrogate key and a first super surrogate key based on the first attributes. Further, the computing device generates a first entry within a first table that includes the first surrogate key and the first super surrogate key. The computing device joins the first table to a second table based on natural keys. The computing device also receives second attributes for the item, and generates a second surrogate key for the item based on the second attributes. Further, the computing device generates a second entry within the first table that includes the second surrogate key and the first super surrogate key. The computing device also adjusts the first super surrogate key within the first entry.

Claims (64)

1. A system comprising:

a database;

a processor; and

a non-transitory memory storing instructions that, when executed, cause the processor to:

receive a first set of attributes for an item;

generate a first surrogate key by concatenating a first plurality of the first set of attributes and a first non-attribute value;

generate a first super surrogate key by concatenating a second plurality of the first set of attributes and a current indicator;

generate a first record in the database comprising the first surrogate key and the first super surrogate key;

receive a second set of attributes for the item;

generate a second surrogate key by concatenating a first plurality of the second set of attributes and a second non-attribute value;

generate a second record in the database comprising the second surrogate key and the first super surrogate key;

in response to generating the second record, overwrite the first super surrogate key of the first record with a value other than the first super surrogate key, wherein the first super surrogate key is overwritten by setting the first super surrogate key to a different value; and

receive a data request comprising a key;

wherein when the key is the first super surrogate key, retrieve either the first record or the second record based on when the data request is received, wherein:

the first record is retrieved when the data request is received before the second record is generated and when a current indicator value of the first record indicates the first record is a current record; and

the second record is retrieved when the data request is received after the second record is generated, and after the first super surrogate key is overwritten, and when a current indicator value of the second record indicates the second record is a current record.

2. The system of claim 1 , wherein the instructions cause the processor to:

when the key is the first surrogate key, retrieve the first record from the database; and

transmit, in response to the data request, at least a portion of the first record.

3. The system of claim 2 , wherein the instructions cause the processor to:

when the key is the second surrogate key, retrieve the second record from the database; and

transmit, in response to the data request, at least a portion of the second entry.

4. The system of claim 1 , wherein the instructions cause the processor to adjust the first super surrogate key value of the first record to a default value.

5. A computer-implemented method, comprising:

receiving a first set of attributes for an item;

generating a first surrogate key by concatenating a first plurality of the first set of attributes and a first non-attribute value;

generating a first super surrogate key by concatenating a second plurality of the first set of attributes and a current indicator;

generating a first record in a database comprising the first surrogate key and the first super surrogate key;

receiving second set of attributes for the item;

generating a second surrogate key by concatenating a first plurality of the second set of attributes and a second non-attribute value;

generating a second record in the database comprising the second surrogate key and the first super surrogate key;

in response to generating the second record, overwriting the first super surrogate key of the first record with a value other than the first super surrogate key, wherein the first super surrogate key is overwritten by setting the first super surrogate key to a different value; and

receiving a data request comprising a key;

wherein when the key is the first super surrogate key, retrieve either the first record or the second record based on when the data request is received, wherein:

the first record is retrieved when the data request is received before the second record is generated and when a current indicator value of the first record indicates the first record is a current record; and

the second record is retrieved when the data request is received after the second record is generated, and after the first super surrogate key is overwritten, and when a current indicator value of the second record indicates the second record is a current record.

6. The computer-implemented method of claim 5 , comprising:

when the key is the first surrogate key, retrieving a first entry associated with the first record from the database; and

transmitting, in response to the data request, at least a portion of the first record.

7. The computer-implemented method of claim 6 , comprising:

when the key is the second surrogate key, retrieving the second record from the database; and

transmitting, in response to the data request, at least a portion of the second record.

8. The computer-implemented method of claim 5 , comprising adjusting the first super surrogate key value of the first record to a default value.

9. A non-transitory computer readable medium having instructions stored thereon that, when executed by at least one processor, cause at least one device to perform operations comprising:

receiving a first set of attributes for an item;

generating a first surrogate key by concatenating a first plurality of the first set of attributes and a first non-attribute value;

generating a first super surrogate key by concatenating a second plurality of the first set of attributes and a current indicator;

generating a first record in a database comprising the first surrogate key and the first super surrogate key;

receiving second set of attributes for the item;

generating a second surrogate key by concatenating a first plurality of the second set of attributes and a second non-attribute value;

generating a second record in the database comprising the second surrogate key and the first super surrogate key;

in response to generating the second record, overwriting the first super surrogate key of the first record with a value other than the first super surrogate key, wherein the first super surrogate key is overwritten by setting the first super surrogate key to a different value; and

receiving a data request comprising a key;

wherein when the key is the first super surrogate key, retrieve either the first record or the second record based on when the data request is received, wherein:

the first record is retrieved when the data request is received before the second record is generated and when a current indicator value of the first record indicates the first record is a current record; and

the second record is retrieved when the data request is received after the second record is generated, and after the first super surrogate key is overwritten, and when a current indicator value of the second record indicates the second record is a current record.

10. The non-transitory computer readable medium of claim 9 , wherein the instructions cause the device to perform operations comprising:

when the key is the first surrogate key:

retrieving the first record from the database; and

transmitting, in response to the data request, at least a portion of the first record; and

when the key is the second surrogate key:

retrieving the second record from the database; and

transmitting, in response to the data request, at least a portion of the second record.

11. The non-transitory computer readable medium of claim 9 , wherein the instructions cause the device to perform operations comprising adjusting the first super surrogate key value of the first record to a default value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2024
From: SUBRAMANIAN, SIVAKUMAR; KANNAN, DEEKKAN; SAI GANGADHAR V, HARI; SIL, JOYAN
To: WM GLOBAL TECHNOLOGY SERVICES INDIA PRIVATE LIMITED
Reel/Frame 066753/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2024
From: WM GLOBAL TECHNOLOGY SERVICES INDIA PRIVATE LIMITED
To: WALMART APOLLO, LLC
Reel/Frame 066754/0029 →
Priority Claims (1)
IN 202241035743 · Jun 22, 2022 · national
Continuity (2)
Continuation 17815683 · Jul 28, 2022
Related Publication 20240220477A1 · Jul 4, 2024
References Cited (20)
US 7779042B1 · Bland et al. · 2010 [cited by applicant]
US 7801844B2 · Farmer · 2010 [cited by examiner]
US 8180748B2 · Farmer · 2012 [cited by applicant]
US 9237011B2 · Tepper · 2016 [cited by applicant]
US 9747359B2 · Jain · 2017 [cited by applicant]
US 11334549B2 · Schub et al. · 2022 [cited by applicant]
US 11334594B2 · Gibson · 2022 [cited by applicant]
US 11360994B1 · Burgess · 2022 [cited by examiner]
US 11481285B1 · Kessler · 2022 [cited by examiner]
US 20070118524A1 · Farmer · 2007 [cited by applicant]
US 20080148006A1 · Fuerst et al. · 2008 [cited by applicant]
US 20090055439A1 · Pai et al. · 2009 [cited by applicant]
US 20130103691A1 · Jain · 2013 [cited by examiner]
US 20160055233A1 · Wang · 2016 [cited by examiner]
US 20160078064A1 · Sassin · 2016 [cited by applicant]
US 20160103880A1 · Attaluri · 2016 [cited by examiner]
US 20180181581A1 · Condict · 2018 [cited by examiner]
US 20180253474A1 · Hoyle et al. · 2018 [cited by applicant]
US 20200394541A1 · Hazard · 2020 [cited by examiner]
US 20210073196A1 · Schub et al. · 2021 [cited by applicant]