IP Library Granted Patent US 12,657,178
Granted Patent B2
US 12,657,178 · App. 18/818,179 · Granted Jun 16, 2026

Algorithmic suggestions based on a universal data scaffold

Inventors: Brian Samuel Taylor (Highland Park, IL); Matthew Maxwell Murphy (Chicago, IL); James Michael Faris (Chicago, IL)
Assignee: Thinkspan, LLC
G06F16/2291G06F16/2365G06F16/24573G06F16/248G06F16/367G06F18/213G06N20/00
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,657,178
App. No.
18/818,179
Granted
Jun 16, 2026
Kind
B2
Abstract

User information is protected by providing a protective layer between a provider and a user device. A server receives a suggestion to present to the user device from a third party, such as a provider of goods or services that wants to push the suggestion to the user device. The suggestion includes a request for user information. The server then determines a likelihood that the request for user information is a necessary component of the suggestion. When the likelihood is low, the request is removed from the suggestion. When the likelihood is high, the server creates an executable computer code that includes the request. The executable computer code can be transmitted to the user device to present the suggestion to the user device without disclosing the user's information to the server.

Claims (62)

1 . A method comprising:

creating, by a server, a universal data scaffold defining a data structure configured to represent a user's information,

wherein the data structure defines a plurality of attributes configured to include a plurality of attribute values;

receiving, by the server from a computing device associated with a third party, a suggestion to present to a user associated with the server, wherein the suggestion includes a request for the user's information within displayable digital content;

determining, by the server, a likelihood that the request is a necessary component of the suggestion;

in response to the determined likelihood being below a threshold likelihood, modifying the digital content to remove the request for the user's information from the digital content; and

in response to the likelihood being above the threshold likelihood, generating executable computer code configured to, when executed, interface with the universal data scaffold to obtain the requested user information and to display the displayable digital content with the obtained user information populated within the displayable digital content.

2 . The method of claim 1 , further comprising:

upon generating the executable computer code, sending the executable computer code to a user device associated with the user.

3 . The method of claim 1 , wherein creating the executable computer code comprises:

redefining, by the server, the suggestion into a criterion compliant with the universal data scaffold including an attribute, in the plurality of attributes, identifying a type of the criterion and an attribute value associated with the attribute.

4 . The method of claim 1 , further comprising:

dynamically updating, by the server, the universal data scaffold to include the executable computer code in the universal data scaffold.

5 . The method of claim 1 , further comprising configuring the executable computer code to:

obtain an attribute of the plurality of attributes and an attribute value from the universal data scaffold;

determine whether the attribute and the attribute value satisfy the request for the user's information; and

upon determining that the attribute and the attribute value satisfy the request, present the suggestion at a user device.

6 . The method of claim 1 , wherein the executable computer code includes an Artificial Intelligence (AI) model.

7 . The method of claim 1 , wherein determining the likelihood that a request is the necessary component of the suggestion comprises:

determining a suggestion type associated with the suggestion;

determining one or more attributes of the plurality of attributes corresponding to the suggestion type;

determining whether the request for the user's information is associated with the one or more attributes corresponding to the suggestion type; and

upon determining that the request for the user's information is not associated with the one or more attributes corresponding to the suggestion type, determining that the likelihood is less than the threshold likelihood.

8 . The method of claim 1 , further comprising:

providing a notification at a user device that an acceptance of the suggestion provides an indication that the user device includes an attribute in the plurality of attributes and an attribute value satisfying the request for the user's information.

9 . The method of claim 1 , wherein the executable computer code includes an artificial intelligence (AI) model, the method further comprising:

providing the AI model to a user device, wherein the AI model is configured to:

obtain the plurality of attributes associated with the universal data scaffold and the plurality of attribute values associated with the universal data scaffold;

categorize the user associated with the plurality of attributes and the plurality of attribute values; and

based on the categorization, provide the suggestion to the user device.

10 . The method of claim 1 , wherein the data structure includes a hierarchical graph including a plurality of nodes, the plurality of nodes representing the plurality of attributes.

11 . A system comprising one or more hardware processors and a non-transitory computer-readable storage medium storing executable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform steps comprising:

creating, by a server, a universal data scaffold defining a data structure configured to represent a user's information,

wherein the data structure defines a plurality of attributes configured to include a plurality of attribute values;

receiving, by the server from a computing device associated with a third party, a suggestion to present to a user associated with the server, wherein the suggestion includes a request for the user's information within displayable digital content;

determining, by the server, a likelihood that the request is a necessary component of the suggestion;

in response to the determined likelihood being below a threshold likelihood, modifying the digital content to remove the request for the user's information from the digital content; and

in response to the likelihood being above the threshold likelihood, generating executable computer code configured to, when executed, interface with the universal data scaffold to obtain the requested user information and to display the displayable digital content with the obtained user information populated within the displayable digital content.

12 . The system of claim 11 , wherein the instructions, when executed, further cause the one or more hardware processor to perform steps comprising:

upon generating the executable computer code, sending the executable computer code to a user device associated with the user.

13 . The system of claim 11 , wherein creating the executable computer code comprises:

redefining, by the server, the suggestion into a criterion compliant with the universal data scaffold including an attribute, in the plurality of attributes, identifying a type of the criterion and an attribute value associated with the attribute.

14 . The system of claim 11 , wherein the instructions, when executed, further cause the one or more hardware processor to perform steps comprising:

dynamically updating, by the server, the universal data scaffold to include the executable computer code in the universal data scaffold.

15 . The system of claim 11 , further comprising configuring the executable computer code to:

obtain an attribute of the plurality of attributes and an attribute value from the universal data scaffold;

determine whether the attribute and the attribute value satisfy the request for the user's information; and

upon determining that the attribute and the attribute value satisfy the request, present the suggestion at a user device.

16 . The system of claim 11 , wherein the executable computer code includes an Artificial Intelligence (AI) model.

17 . The system of claim 11 , wherein determining the likelihood that a request is the necessary component of the suggestion comprises:

determining a suggestion type associated with the suggestion;

determining one or more attributes of the plurality of attributes corresponding to the suggestion type;

determining whether the request for the user's information is associated with the one or more attributes corresponding to the suggestion type; and

upon determining that the request for the user's information is not associated with the one or more attributes corresponding to the suggestion type, determining that the likelihood is less than the threshold likelihood.

18 . The system of claim 11 , wherein the instructions, when executed, further cause the one or more hardware processor to perform steps comprising:

providing a notification at a user device that an acceptance of the suggestion provides an indication that the user device includes an attribute in the plurality of attributes and an attribute value satisfying the request for the user's information.

19 . The system of claim 11 , wherein the executable computer code includes an artificial intelligence (AI) model, and wherein the instructions, when executed, further cause the one or more hardware processor to perform steps comprising:

providing the AI model to a user device, wherein the AI model is configured to:

obtain the plurality of attributes associated with the universal data scaffold and the plurality of attribute values associated with the universal data scaffold;

categorize the user associated with the plurality of attributes and the plurality of attribute values; and

based on the categorization, provide the suggestion to the user device.

20 . The system of claim 11 , wherein the data structure includes a hierarchical graph including a plurality of nodes, the plurality of nodes representing the plurality of attributes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2024
From: TAYLOR, BRIAN SAMUEL; MURPHY, MATTHEW MAXWELL; FARIS, JAMES MICHAEL
To: THINKSPAN, LLC
Reel/Frame 068710/0339 →
Continuity (4)
Continuation 17930932 · Sep 9, 2022
Division 17073007 · Oct 16, 2020
Provisional Application 62923303 · Oct 18, 2019
Related Publication 20250117374A1 · Apr 10, 2025
References Cited (70)
US 8137112B2 · Woolf et al. · 2012 [cited by applicant]
US 9244976B1 · Zhang et al. · 2016 [cited by applicant]
US 10410125B1 · Finkelstein et al. · 2019 [cited by applicant]
US 10467201B1 · Merritt et al. · 2019 [cited by applicant]
US 11762876B2 · Hazel · 2023 [cited by examiner]
US 20030120665A1 · Fox et al. · 2003 [cited by applicant]
US 20030163597A1 · Hellman et al. · 2003 [cited by applicant]
US 20030208399A1 · Basak et al. · 2003 [cited by applicant]
US 20050071251A1 · Linden et al. · 2005 [cited by applicant]
US 20050203962A1 · Zhou et al. · 2005 [cited by applicant]
US 20050210047A1 · Hayes et al. · 2005 [cited by applicant]
US 20060045270A1 · Cohen · 2006 [cited by applicant]
US 20060195362A1 · Jacobi et al. · 2006 [cited by applicant]
US 20060248045A1 · Toledano et al. · 2006 [cited by applicant]
US 20060265396A1 · Raman et al. · 2006 [cited by applicant]
US 20070078877A1 · Ungar et al. · 2007 [cited by applicant]
US 20070226810A1 · Hotti · 2007 [cited by applicant]
US 20080250157A1 · Ohata · 2008 [cited by applicant]
US 20100023997A1 · Hu et al. · 2010 [cited by applicant]
US 20100287158A1 · Toledano et al. · 2010 [cited by applicant]
US 20100299522A1 · Khambete · 2010 [cited by applicant]
US 20110107088A1 · Eng et al. · 2011 [cited by applicant]
US 20110138190A1 · Chase et al. · 2011 [cited by applicant]
US 20110161276A1 · Krumm et al. · 2011 [cited by applicant]
US 20110252031A1 · Blumenthal et al. · 2011 [cited by applicant]
US 20120117015A1 · Sathish · 2012 [cited by applicant]
US 20120221505A1 · Evans et al. · 2012 [cited by applicant]
US 20120297025A1 · Zeng et al. · 2012 [cited by applicant]
US 20130013428A1 · Lyon et al. · 2013 [cited by applicant]
US 20130202222A1 · Saito · 2013 [cited by applicant]
US 20130238631A1 · Carmel et al. · 2013 [cited by applicant]
US 20140009472A1 · Ajitomi et al. · 2014 [cited by applicant]
US 20140040286A1 · Bane et al. · 2014 [cited by applicant]
US 20140053247A1 · Fadel · 2014 [cited by applicant]
US 20140129936A1 · Richards et al. · 2014 [cited by applicant]
US 20140317563A1 · O'Byrne · 2014 [cited by applicant]
US 20150242930A1 · Greystoke et al. · 2015 [cited by applicant]
US 20150302068A1 · Morsi et al. · 2015 [cited by applicant]
US 20160132608A1 · Rathod · 2016 [cited by applicant]
US 20160162458A1 · Munro et al. · 2016 [cited by applicant]
US 20160203515A1 · Westphal · 2016 [cited by applicant]
US 20160266939A1 · Shear et al. · 2016 [cited by applicant]
US 20160330180A1 · Egorov et al. · 2016 [cited by applicant]
US 20170004561A1 · Rackley et al. · 2017 [cited by applicant]
US 20170109711A1 · Crooks et al. · 2017 [cited by applicant]
US 20170140285A1 · Dotan-Cohen et al. · 2017 [cited by applicant]
US 20170147796A1 · Sardesai et al. · 2017 [cited by applicant]
US 20170344649A1 · Vinnakota et al. · 2017 [cited by applicant]
US 20180089312A1 · Pal et al. · 2018 [cited by applicant]
US 20180129684A1 · Wilson et al. · 2018 [cited by applicant]
US 20180129724A1 · Heine et al. · 2018 [cited by applicant]
US 20180247078A1 · Newman · 2018 [cited by applicant]
US 20180262510A1 · Su · 2018 [cited by applicant]
US 20180330204A1 · Kim et al. · 2018 [cited by applicant]
US 20180349941A1 · Taylor et al. · 2018 [cited by applicant]
US 20190251491A1 · Jones et al. · 2019 [cited by applicant]
US 20190294727A1 · Kohlmeier · 2019 [cited by examiner]
US 20210192521A1 · Barinov et al. · 2021 [cited by applicant]
WO WO2013088282A1 · 2013 [cited by applicant]
WO WO2018223072A1 · 2018 [cited by applicant]
WO WO2018223077A1 · 2018 [cited by applicant]
WO WO2018223082A1 · 2018 [cited by applicant]
International Search Report and Written Opinion mailed Aug. 28, 2018 for International Application No. PCT/US2018/35722, 10 pages. [cited by applicant]
International Search Report and Written Opinion mailed Aug. 28, 2018 for International Application No. PCT/US2018/35711, 10 pages. [cited by applicant]
International Search Report and Written Opinion mailed Aug. 28, 2018 for International Application No. PCT/US2018/35717, eight pages. [cited by applicant]
International Search Report and Written Opinion mailed Feb. 1, 2021 for PCT Application No. PCT/US20/56180, 10 pages. [cited by applicant]
International Search Report and Written Opinion mailed Jan. 26, 2021 for PCT Application No. PCT/US20/56183, 13 pages. [cited by applicant]
Supplemental European Search Report dated Sep. 29, 2020 for European Application No. 18809065.8, 2 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/073,007, filed Jan. 12, 2022, 17 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/930,932, filed Sep. 22, 2023, 13 pages. [cited by applicant]