US 11,924,297 B2
Systems and methods for generating a filtered data set
Oleksandr Oleinikov, Redwood City, CA (US); and Oleg Rogynskyy, Menlo Park, CA (US)
Assigned to People.ai, Inc., Redwood City, CA (US)
Filed by People.ai, Inc., Redwood City, CA (US)
Filed on Jun. 29, 2022, as Appl. No. 17/853,797.
Application 17/853,797 is a continuation in part of application No. 16/694,253, filed on Nov. 25, 2019, granted, now 11,470,170.
Application 16/694,253 is a continuation of application No. 16/399,679, filed on Apr. 30, 2019, granted, now 10,489,387.
Claims priority of provisional application 63/217,026, filed on Jun. 30, 2021.
Claims priority of provisional application 62/747,452, filed on Oct. 18, 2018.
Claims priority of provisional application 62/725,999, filed on Aug. 31, 2018.
Claims priority of provisional application 62/676,187, filed on May 24, 2018.
Prior Publication US 2022/0345543 A1, Oct. 27, 2022
Int. Cl. H04L 67/50 (2022.01); G06F 7/14 (2006.01); G06F 11/30 (2006.01); G06F 11/34 (2006.01); G06F 16/11 (2019.01); G06F 16/17 (2019.01); G06F 16/178 (2019.01); G06F 16/182 (2019.01); G06F 16/21 (2019.01); G06F 16/215 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/245 (2019.01); G06F 16/2455 (2019.01); G06F 16/2457 (2019.01); G06F 16/2458 (2019.01); G06F 16/25 (2019.01); G06F 16/26 (2019.01); G06F 16/27 (2019.01); G06F 16/28 (2019.01); G06F 16/29 (2019.01); G06F 16/31 (2019.01); G06F 16/335 (2019.01); G06F 16/35 (2019.01); G06F 16/901 (2019.01); G06F 16/903 (2019.01); G06F 16/9035 (2019.01); G06F 16/906 (2019.01); G06F 16/9535 (2019.01); G06F 21/62 (2013.01); G06F 40/20 (2020.01); G06F 40/237 (2020.01); G06F 40/295 (2020.01); G06N 3/08 (2023.01); G06N 5/025 (2023.01); G06N 5/04 (2023.01); G06N 7/02 (2006.01); G06Q 10/04 (2023.01); G06Q 10/0631 (2023.01); G06Q 10/0639 (2023.01); G06Q 10/107 (2023.01); G06Q 10/109 (2023.01); G06Q 10/1091 (2023.01); G06Q 10/1093 (2023.01); G06Q 50/22 (2018.01); G16H 50/20 (2018.01); H04L 41/14 (2022.01); H04L 43/00 (2022.01); H04L 43/026 (2022.01); H04L 43/045 (2022.01); H04L 43/062 (2022.01); H04L 43/065 (2022.01); H04L 43/067 (2022.01); H04L 43/0876 (2022.01); H04L 51/046 (2022.01); H04L 51/212 (2022.01); H04L 51/234 (2022.01); H04L 51/42 (2022.01); H04L 61/45 (2022.01); H04L 67/125 (2022.01); H04L 67/30 (2022.01); H04L 67/303 (2022.01); H04L 67/306 (2022.01); H04M 3/436 (2006.01); H04M 15/00 (2006.01); G06F 40/205 (2020.01); G06N 20/00 (2019.01); G06Q 10/10 (2023.01); G16H 15/00 (2018.01); G16H 50/30 (2018.01); H04L 12/14 (2006.01); H04L 101/37 (2022.01); H04M 3/22 (2006.01); H04M 3/56 (2006.01)
CPC H04L 67/535 (2022.05) [G06F 7/14 (2013.01); G06F 11/3024 (2013.01); G06F 11/3452 (2013.01); G06F 11/3495 (2013.01); G06F 16/122 (2019.01); G06F 16/1734 (2019.01); G06F 16/178 (2019.01); G06F 16/182 (2019.01); G06F 16/212 (2019.01); G06F 16/215 (2019.01); G06F 16/219 (2019.01); G06F 16/22 (2019.01); G06F 16/221 (2019.01); G06F 16/2228 (2019.01); G06F 16/2264 (2019.01); G06F 16/2272 (2019.01); G06F 16/23 (2019.01); G06F 16/235 (2019.01); G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06F 16/2386 (2019.01); G06F 16/245 (2019.01); G06F 16/24558 (2019.01); G06F 16/24564 (2019.01); G06F 16/2457 (2019.01); G06F 16/24575 (2019.01); G06F 16/24578 (2019.01); G06F 16/2477 (2019.01); G06F 16/254 (2019.01); G06F 16/256 (2019.01); G06F 16/26 (2019.01); G06F 16/27 (2019.01); G06F 16/273 (2019.01); G06F 16/28 (2019.01); G06F 16/285 (2019.01); G06F 16/288 (2019.01); G06F 16/289 (2019.01); G06F 16/29 (2019.01); G06F 16/313 (2019.01); G06F 16/337 (2019.01); G06F 16/355 (2019.01); G06F 16/901 (2019.01); G06F 16/9024 (2019.01); G06F 16/90344 (2019.01); G06F 16/9035 (2019.01); G06F 16/906 (2019.01); G06F 16/9535 (2019.01); G06F 21/6218 (2013.01); G06F 21/6245 (2013.01); G06F 40/20 (2020.01); G06F 40/237 (2020.01); G06F 40/295 (2020.01); G06N 3/08 (2013.01); G06N 5/025 (2013.01); G06N 5/04 (2013.01); G06N 7/02 (2013.01); G06Q 10/04 (2013.01); G06Q 10/063114 (2013.01); G06Q 10/06312 (2013.01); G06Q 10/06315 (2013.01); G06Q 10/06393 (2013.01); G06Q 10/06398 (2013.01); G06Q 10/107 (2013.01); G06Q 10/109 (2013.01); G06Q 10/1091 (2013.01); G06Q 10/1095 (2013.01); G06Q 50/22 (2013.01); G16H 50/20 (2018.01); H04L 41/14 (2013.01); H04L 43/026 (2013.01); H04L 43/045 (2013.01); H04L 43/062 (2013.01); H04L 43/065 (2013.01); H04L 43/067 (2013.01); H04L 43/0876 (2013.01); H04L 43/14 (2013.01); H04L 51/046 (2013.01); H04L 51/212 (2022.05); H04L 51/234 (2022.05); H04L 51/42 (2022.05); H04L 61/45 (2022.05); H04L 67/125 (2013.01); H04L 67/30 (2013.01); H04L 67/303 (2013.01); H04L 67/306 (2013.01); H04M 3/436 (2013.01); H04M 15/755 (2013.01); G06F 40/205 (2020.01); G06N 20/00 (2019.01); G06Q 10/10 (2013.01); G16H 15/00 (2018.01); G16H 50/30 (2018.01); H04L 12/1407 (2013.01); H04L 2101/37 (2022.05); H04M 3/2218 (2013.01); H04M 3/56 (2013.01)] 20 Claims
OG exemplary drawing
 
20. A method, comprising:
accessing, by one or more processors, a plurality of record objects from a plurality of systems of record of a plurality of data source providers, the plurality of record objects corresponding to a plurality of entities;
maintaining, by the one or more processors, for each entity of the plurality of entities, a master node profile including one or more field-value pairs obtained from at least one record object of the plurality of record objects and, for each field-value pair included in the master node profile, a respective identifier identifying a data source provider maintaining the at least one record object from which the field-value pair is obtained;
maintaining, by the one or more processors, for each data source provider of the plurality of data source providers, a respective restriction policy including one or more rules for restricting sharing of field-value pairs included in record objects of a respective system of record of the data source provider;
generating, by the one or more processors, for a first data source provider of the plurality of data source providers, a plurality of filtered node profiles corresponding to the plurality of master node profiles, each filtered node profile generated by:
determining, for each field-value pair of a respective master node profile, a list of data source providers from which the field-value pair was obtained;
determining, for each data source provider included in the list, whether the field-value pair satisfies a respective restriction policy of the data source provider; and
i) restricting the field-value pair from inclusion in the filtered node profile responsive to determining that the field-value pair satisfies the respective restriction policy of each data source provider included in the list, or
ii) including the field-value pair in the filtered node profile responsive to determining that the field-value pair does not satisfy the respective restriction policy of a data source provider included in the list; and
provisioning, by the one or more processors, for the first data source provider, the plurality of filtered node profiles.