IP Library › Granted Patent US 12,339,916
Granted Patent B2
US 12,339,916 · App. 18/049,083 · Granted Jun 24, 2025

Dynamic user profile management

Inventors: Nathan Ng (Amherst, MA); Tung Mai (San Jose, CA); Thomas Greger (Lehi, UT); Kelly Quinn Nicholes (Lehi, UT); Antonio Cuevas (Mountain View, CA); Saayan Mitra (San Jose, CA); Somdeb Sarkhel (San Jose, CA); Anup Bandigadi Rao (San Jose, CA); Ryan A. Rossi (San Jose, CA); Viswanathan Swaminathan (Saratoga, CA); Shivakumar Vaithyanathan (Saratoga, CA)
Assignee: ADOBE INC.
G06F16/9535H04L67/306
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,339,916
App. No.
18/049,083
Granted
Jun 24, 2025
Kind
B2
Abstract

Systems and methods for dynamic user profile management are provided. One aspect of the systems and methods includes receiving, by a lookup component, a request for a user profile; computing, by a profile component, a time-to-live (TTL) refresh value for the user profile based on a lookup history of the user profile; updating, by the profile component, a TTL value of the user profile based on the request and the TTL refresh value; storing, by the profile component, the user profile and the updated TTL value in the edge database; and removing, by the edge database, the user profile from the edge database based on the updated TTL value.

Claims (61)

1. A method for user profile management, comprising:

receiving, by a lookup component, a request for a user profile;

computing, by a profile component, a time-to-live (TTL) refresh value for a TTL value of the user profile based on a lookup history of the user profile, wherein the TTL value identifies a period of time for storing the user profile in a database before being discarded and the TTL refresh value indicates a frequency for updating the TTL value, and wherein the TTL value is determined based on the TTL refresh value;

updating, by the profile component, the TTL value of the user profile based on the request and the TTL refresh value;

storing, by the profile component, the user profile and the updated TTL value in the database; and

removing, by the database, the user profile from the database based on the updated TTL value.

2. The method of claim 1 , further comprising:

determining, by the profile component, a lookup time interval for user profile based on the lookup history, wherein the TTL refresh value is based on the lookup time interval.

3. The method of claim 2 , further comprising:

identifying, by the profile component, a distribution of lookup time intervals;

determining, by the profile component, a length of each of the lookup time intervals; and

comparing, by the profile component, the length of each of the lookup time intervals to the distribution of lookup time intervals, wherein the TTL refresh value is based on the comparison.

4. The method of claim 1 , further comprising:

identifying, by the profile component, a lookup time interval threshold; and

comparing, by the profile component, the lookup time interval to the lookup time interval threshold, wherein the TTL refresh value is based on the comparison.

5. The method of claim 4 , further comprising:

identifying, by the profile component, historical access data, wherein the lookup time interval threshold is based on the historical access data.

6. A method for user profile management, comprising:

receiving, by a lookup component, a lookup history for a user profile;

computing, by a profile component, a time-to-live (TTL) refresh value for a TTL value of the user profile based on the lookup history, wherein the TTL value identifies a period of time for storing the user profile in a database before being discarded and the TTL refresh value indicates a frequency for updating the TTL value, and wherein the TTL value is determined based on the TTL refresh value; and

providing, by the profile component, the TTL refresh value to a database.

7. The method of claim 6 , further comprising:

determining, by the profile component, a lookup time interval for user profile based on the lookup history, wherein the TTL refresh value is based on the lookup time interval.

8. The method of claim 7 , further comprising:

identifying, by the profile component, a distribution of lookup time intervals;

determining, by the profile component, a length of each of the lookup time intervals; and

comparing, by the profile component, the length of each of the lookup time intervals to the distribution of lookup time intervals, wherein the TTL refresh value is based on the comparison.

9. The method of claim 7 , further comprising:

identifying, by the profile component, a lookup time interval threshold; and

comparing, by the profile component, the lookup time interval to the lookup time interval threshold, wherein the TTL refresh value is based on the comparison.

10. The method of claim 9 , further comprising:

identifying, by the profile component, historical access data, wherein the lookup time interval threshold is based on the historical access data.

11. The method of claim 6 , further comprising:

updating, by the profile component, the user profile with the TTL refresh value; and

providing, by the profile component, the updated user profile to the edge database.

12. The method of claim 6 , further comprising:

receiving, by the lookup component, a request for the user profile; and

updating, by the profile component, the TTL value of the user profile based on the request and the TTL refresh value.

13. The method of claim 12 , further comprising:

providing, by the profile component, the user profile and the updated TTL value to the database; and

removing the user profile from the database based on the updated TTL value.

14. An apparatus for user profile management, comprising:

a processor;

a memory storing instructions executable by the processor;

a lookup component configured to receive a lookup history for a user profile;

a profile component configured to compute time-to-live (TTL) refresh value for a TTL value of the user profile based on the lookup history, wherein the TTL value identifies a period of time for storing the user profile in a database before being discarded and the TTL refresh value indicates a frequency for updating the TTL value, and wherein the TTL value is determined based on the TTL refresh value; and

a database configured to store the TTL refresh value.

15. The apparatus of claim 14 , wherein:

the profile component is further configured to determine a lookup time interval for user profile based on the lookup history, wherein the TTL refresh value is based on the lookup time interval.

16. The apparatus of claim 15 , wherein:

the profile component is further configured to identify a distribution of lookup time intervals, to determine a length of each of the lookup time intervals, and to compare the length of each of the lookup time intervals to the distribution of lookup time intervals, wherein the TTL refresh value is based on the comparison.

17. The apparatus of claim 15 , wherein:

the profile component is further configured to identify a lookup time interval threshold and to compare the lookup time interval to the lookup time interval threshold, wherein the TTL refresh value is based on the comparison.

18. The apparatus of claim 14 , wherein:

the profile component is further configured to update the user profile with the TTL refresh value; and

the database is further configured to store the updated user profile.

19. The apparatus of claim 14 , wherein:

the lookup component is further configured to receive a request for the user profile; and

the profile component is further configured to update the TTL value of the user profile based on the request and the TTL refresh value.

20. The apparatus of claim 19 , wherein:

the database is further configured to store the user profile and the updated TTL value and to remove the user profile from the database based on the updated TTL value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2022
From: NG, NATHAN; MAI, TUNG; GREGER, THOMAS; NICHOLES, KELLY QUINN; CUEVAS, ANTONIO; MITRA, SAAYAN; SARKHEL, SOMDEB; RAO, ANUP BANDIGADI; ROSSI, RYAN A.; SWAMINATHAN, VISWANATHAN; VAITHYANATHAN, SHIVAKUMAR
To: ADOBE INC.
Reel/Frame 061516/0431 →
Continuity (2)
Related Publication 20240134919A1 · Apr 25, 2024
Related Publication 20240232271A9 · Jul 11, 2024
References Cited (16)
US 11288733B2 · Scholl et al. · 2022 [cited by applicant]
US 20130325780A1 · Prakash et al. · 2013 [cited by applicant]
US 20140111629A1 · Morris et al. · 2014 [cited by applicant]
US 20140297661A1 · De Assuncao et al. · 2014 [cited by applicant]
US 20170134335A1 · Goldstein et al. · 2017 [cited by applicant]
US 20170286388A1 · Tamilarasan et al. · 2017 [cited by applicant]
US 20190205726A1 · Khabiri et al. · 2019 [cited by applicant]
US 20190361998A1 · Meron et al. · 2019 [cited by applicant]
US 20200257943A1 · Huber et al. · 2020 [cited by applicant]
US 20210056140A1 · Zhang · 2021 [cited by examiner]
US 20210295224A1 · Dorofiyenko et al. · 2021 [cited by applicant]
US 20220019859A1 · Willis et al. · 2022 [cited by applicant]
US 20220101355A1 · Luo et al. · 2022 [cited by applicant]
US 20220222473A1 · Nakagawa · 2022 [cited by applicant]
Notice of Allowance dated Jul. 31, 2024 in corresponding U.S. Appl. No. 18/049,069. [cited by applicant]
Office Action dated Feb. 29, 2024 in related U.S. Appl. No. 18/049,069. [cited by applicant]