IP Library › Granted Patent US 12,566,727
Granted Patent B2
US 12,566,727 · App. 17/168,009 · Granted Mar 3, 2026

Universal data scaffold based data management platform

Inventors: Brian Samuel Taylor (Highland Park, IL); Matthew Maxwell Murphy (Chicago, IL); James Michael Faris (Chicago, IL)
Assignee: Thinkspan, LLC
G06F16/13G06F3/0482G06F16/168G06F16/22G06F16/2282G06F16/258G06F16/288G06F16/9024G06F21/10G06F21/6218G06F21/6245G06Q30/0241H04L9/3218H04L9/3221H04L63/0428G06F2221/2107H04L67/01H04L67/1097
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,566,727
App. No.
17/168,009
Granted
Mar 3, 2026
Kind
B2
Abstract

The disclosure is related to a data management platform (“platform”) for providing a secure storage environment for digital contents associated with a user. The platform may be accessible via an app installed on a user device, which allows the user to upload, modify, and view digital contents. Because a digital content is mapped to a universal scaffold in a structured format, the platform can organize and display the digital contents in meaningful ways. The digital contents can be hosted on a remote server. The platform provides zero-knowledge encryption so that the digital contents stored at the server are secure, as in one cannot know the contents of the encrypted information stored at the server. The platform also facilitates zero-knowledge offers in which offers are sent to multiple users but the server does not know to which users the offers are presented until an offer is accepted by the user.

Claims (67)

1 . A computer-implemented method comprising:

in response to determining that a user device does not store a universal data scaffold, obtaining, from the server, the universal data scaffold for defining a plurality of digital contents on the user device, wherein the universal data scaffold defines a content type for each digital content of the plurality of digital contents, and each content type comprises a corresponding set of attributes,

wherein each digital content in the plurality of digital contents represents information associated with a user of the user device;

determining, by the user device, a digital content from the plurality of digital contents to display to the user on the user device by:

determining a context associated with the user, the context comprising at least a location of the user, and

based on the context, selecting digital content using the universal data scaffold by determining that the digital content was previously uploaded by the user and that the digital content was previously associated with the location of the user; and

presenting the digital content to the user on the user device.

2 . A computer-implemented method comprising:

in response to determining that a user device does not store a universal data scaffold, generating the universal data scaffold defining a plurality of digital contents, wherein the universal data scaffold defines a content type for each digital content of the plurality of digital contents, and each content type comprises a corresponding set of attributes,

each digital content in the plurality of digital contents representing information associated with a user of the user device;

determining, by the user device, a digital content from the plurality of digital contents to display to the user on the user device by determining a location of the user and selecting the digital content using the universal data scaffold by determining that the digital content was previously uploaded by the user and that the digital content was previously associated with the determined location; and

displaying the digital content to the user on the user device.

3 . The method of claim 2 , further comprising:

storing the plurality of digital contents and associated content types on a server;

determining that the digital content is not available on the user device; and

obtaining, by the user device, the digital content from the server.

4 . The method of claim 2 , further comprising:

obtaining a sharing rule associated with the digital content and defining a permission to share at least a portion of the digital content between the user device and a second user device; and

based on the sharing rule, sharing at least the portion of the digital content between the user device and the second user device.

5 . The method of claim 2 , wherein each set of attributes comprises a plurality of values.

6 . The method of claim 2 , further comprising:

storing the plurality of digital contents as a graph database on a server, wherein the graph database comprises a plurality of nodes and each of the plurality of nodes represents a corresponding digital content.

7 . The method of claim 2 , the determining the digital content in the plurality of digital contents to display further comprising:

determining a context associated with the user including a proximity to a second user; and

determining the digital content in the plurality of digital contents associated with both the user and the second user.

8 . The method of claim 2 , the determining the digital content in the plurality of digital contents to display further comprising:

obtaining an access pattern of the user using the universal data scaffold; and

predicting the digital content in the plurality of digital contents to be accessed by the user based on the access pattern.

9 . The method of claim 2 , the determining the digital content in the plurality of digital contents to display further comprising:

determining a context associated with the user including a proximity to a second user,

wherein the context comprises at least one of a current time, most frequently viewed digital content, most recently viewed digital content, digital content marked as favorite, or a chronological order of adding the plurality of digital contents to the universal data scaffold;

determining a second digital content in the plurality of digital contents related to the context; and

displaying the second digital content to the user on the user device.

10 . The method of claim 2 , further comprising:

based on a content type of the digital content displayed, determining an operation to provide to the user; and

enabling the user to perform the operation on the user device.

11 . A system comprising:

one or more processors;

memory coupled to the one or more processors, wherein the memory includes instructions executable by the one or more processors to:

in response to determining that a user device does not store a universal data scaffold, a universal data scaffold that defines a plurality of digital contents, wherein the universal data scaffold defines a content type for each digital content of the plurality of digital contents, and each content type comprises a corresponding set of attributes,

each digital content in the plurality of digital contents representing information associated with a user of the user device;

determine, by the user device, a digital content from the plurality of digital contents to display to the user on the user device by determining a location of the user and selecting the digital content using the universal data scaffold by determining that the digital content was previously uploaded by the user and that the digital content was previously associated with the determined location; and

display the digital content to the user on the user device.

12 . The system of claim 11 , further comprising the instructions to:

store the plurality of digital contents and associated content types on a server;

determine that the digital content is not available on the user device; and

obtain, by the user device, the digital content from the server.

13 . The system of claim 11 , further comprising the instructions to:

obtain a sharing rule associated with the digital content and defining a permission to share at least a portion of the digital content between the user device and a second user device; and

based on the sharing rule, share at least the portion of the digital content between the user device and the second user device.

14 . The system of claim 11 , wherein each set of attributes comprises a plurality of values.

15 . The system of claim 11 , further comprising the instructions to:

store the plurality of digital contents as a graph database on a server, wherein the graph database comprises a plurality of nodes and each of the plurality of nodes represents a corresponding digital content.

16 . The system of claim 11 , the instructions to determine the digital content in the plurality of digital contents to display further comprising instructions to:

determine a context associated with the user including a proximity to a second user; and

determine the digital content in the plurality of digital contents associated with both the user and the second user.

17 . The system of claim 11 , the instructions to determine the digital content in the plurality of digital contents to display further comprising instructions to:

obtain an access pattern of the user using the universal data scaffold; and

predict the digital content in the plurality of digital contents to be accessed by the user based on the access pattern.

18 . The system of claim 11 , the instructions to determine the digital content in the plurality of digital contents to display further comprising instructions to:

determine a context associated with the user including a proximity to a second user,

wherein the context comprises at least one of a current time, most frequently viewed digital content, most recently viewed digital content, digital content marked as favorite, or a chronological order of adding the plurality of digital contents to the universal data scaffold;

determine a second digital content in the plurality of digital contents related to the context; and

display the second digital content to the user on the user device.

19 . The system of claim 11 , further comprising the instructions to:

based on a content type of the digital content displayed, determine an operation to provide to the user; and

enable the user to perform the operation on the user device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2021
From: TAYLOR, BRIAN SAMUEL; MURPHY, MATTHEW MAXWELL; FARIS, JAMES MICHAEL
To: THINKSPAN, LLC
Reel/Frame 055167/0839 →
Continuity (3)
Continuation 15996268 · Jun 1, 2018
Provisional Application 62514646 · Jun 2, 2017
Related Publication 20210157883A1 · May 27, 2021
References Cited (76)
US 6345256B1 · Milsted et al. · 2002 [cited by applicant]
US 9244976B1 · Zhang et al. · 2016 [cited by applicant]
US 10231033B1 · Bumgarner et al. · 2019 [cited by applicant]
US 10410125B1 · Finkelstein et al. · 2019 [cited by applicant]
US 10467201B1 · Merritt et al. · 2019 [cited by applicant]
US 10476866B2 · Ghosh · 2019 [cited by examiner]
US 10936744B1 · Trepetin et al. · 2021 [cited by applicant]
US 10949502B2 · Taylor et al. · 2021 [cited by applicant]
US 20030120665A1 · Fox et al. · 2003 [cited by applicant]
US 20030163597A1 · Hellman · 2003 [cited by examiner]
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 20080005147A1 · Khushraj · 2008 [cited by examiner]
US 20080250157A1 · Ohata · 2008 [cited by applicant]
US 20090024590A1 · Sturge · 2009 [cited by examiner]
US 20090313169A1 · Foley et al. · 2009 [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 · 2011 [cited by examiner]
US 20110161276A1 · Krumm 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 20140025660A1 · Mohammed · 2014 [cited by examiner]
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 20160132789A1 · Flinn · 2016 [cited by examiner]
US 20160162458A1 · Munro et al. · 2016 [cited by applicant]
US 20160196131A1 · Searle · 2016 [cited by examiner]
US 20160203515A1 · Westphal · 2016 [cited by applicant]
US 20160266939A1 · Shear et al. · 2016 [cited by applicant]
US 20160330180A1 · Egorov · 2016 [cited by examiner]
US 20170109711A1 · Crooks 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 · 2018 [cited by examiner]
US 20180247078A1 · Newman · 2018 [cited by applicant]
US 20180262510A1 · Su · 2018 [cited by applicant]
US 20180330204A1 · Kim et al. · 2018 [cited by applicant]
US 20180349454A1 · Taylor · 2018 [cited by examiner]
US 20180349941A1 · Taylor et al. · 2018 [cited by applicant]
US 20210192521A1 · Barinov et al. · 2021 [cited by applicant]
US 20210304021A1 · Puri · 2021 [cited by examiner]
WO 2013088282A1 · 2013 [cited by applicant]
WO 2018223072A1 · 2018 [cited by applicant]
WO 2018223077A1 · 2018 [cited by applicant]
WO 2018223082A1 · 2018 [cited by applicant]
United States Office Action, U.S. Appl. No. 18/306,453, filed May 7, 2025, 30 pages. [cited by applicant]
International Search Report and Written Opinion mailed Aug. 28, 2018 for International Application No. PCT/US2018/35722. [cited by applicant]
Supplemental European Search Report dated Sep. 29, 2020 for European Application No. 18809065.8, 2 pages. [cited by applicant]
International Search Report and Written Opinion mailed Aug. 28, 2018 for International Application No. PCT/US2018/35711. [cited by applicant]
International Search Report and Written Opinion mailed Aug. 28, 2018 for International Application No. PCT/US2018/35717. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US20/56180, Feb. 1, 2021, 13 pages. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US20/56183, Jan. 26, 2021, 17 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 15/996,268, filed Apr. 16, 2020, 65 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 15/996,268, filed Oct. 13, 2020, 55 pages. [cited by applicant]