IP Library Granted Patent US 12,561,376
Granted Patent B2
US 12,561,376 · App. 17/987,689 · Granted Feb 24, 2026

Personalized search based on account attributes

Inventors: Rajhans Samdani (Belmont, CA); Ankit Goyal (Daly City, CA); Pierre Rappolt (San Francisco, CA); Emily Yidan Wang (San Francisco, CA); Pratyus Patnaik (Los Altos, CA); William S. Potter (San Francisco, CA); Suchit Agarwal (Jersey City, NJ)
Assignee: Okta, Inc.
G06F16/90332G06F16/90344G06F16/9035G06F16/908G06F16/909
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,561,376
App. No.
17/987,689
Granted
Feb 24, 2026
Kind
B2
Abstract

A system stores resources such as text articles, videos, and so forth for an organization. During operation, the system receives a query and provides a response. During initial use of the system, there is little or no historical data available to help determine which resource is most relevant to a particular query. In this “cold-start” situation, the system determines attributes associated with a user account of the user making the query. The query is used to search a data store and retrieve a set of resources based on a term match with the query and to find the resources which correspond to the attributes of the user account. This allows the system to provide simplified output that is more likely to be relevant to that particular user in the “cold-start” situation.

Claims (79)

1 . A method comprising:

receiving, from a first user at a first device, a search query comprising one or more terms;

obtaining one or more user attributes associated with the first user issuing the search query;

providing relevancy scores for content items based at least in part on word-level matches between the search query and the content items;

determining historical feedback data for previous search queries;

adjusting a value of one or more of the relevancy scores based on a correspondence between the one or more user attributes and one or more resource attributes associated with the content items and based on the historical feedback data in accordance with whether a metric of the historical feedback data satisfies a metric threshold;

in a first state where the metric of the historical feedback data fails to satisfy the metric threshold, obtaining an indication of a first content item of the content items for selection based on one or more of the relevancy scores and adjustment of one or more of the relevancy scores that is based on the correspondence between the one or more user attributes and the one or more resource attributes associated with the content items, wherein selecting the first content item in the first state is based on the metric associated with the historical feedback data failing to satisfy the metric threshold;

in a second state where a threshold amount of the historical feedback data for the previous search queries is satisfied and the metric of the historical feedback data satisfies the metric threshold, obtaining an indication of the first content item of the content items for the selection based at least in part on the historical feedback data, the value of one or more of the relevancy scores, and the adjustment of the value of one or more of the relevancy scores that is based on both the correspondence between the one or more user attributes and the one or more resource attributes associated with the content items and on the historical feedback data in accordance with the metric of the historical feedback data satisfying the metric threshold, wherein selecting the first content item in the second state is based at least in part on satisfaction of the threshold amount of the historical feedback data; and

providing search results indicating the first content item.

2 . The method of claim 1 , further comprising:

receiving a second search query at the first device, the second search query corresponding to the search query and being associated with a second user account different from a first user account associated with the first user issuing the search query;

determining the content items based on the second search query;

determining a third user attribute value associated with the second user account;

determining a second content item from the content items based on a second correspondence between a fourth resource attribute value associated with the second content item and the third user attribute value associated with the second user account; and

providing second response data including the second content item to a computing device associated with the second search query.

3 . The method of claim 1 , further comprising:

determining total relevancy scores for one or more content items of the content items based on a combination of the word-level matches, the historical feedback data, and the correspondence between the one or more user attributes and the one or more resource attributes associated with the content items; and

determining the first content item of the content items having a highest total relevancy score;

wherein the search results include the first content item of the content items having the highest total relevancy score.

4 . The method of claim 1 , further comprising:

receiving a second content item at the first device;

providing an interface to a second device, the interface including at least one field accessible by a user to configure one or more resource attribute values associated with the second content item including a set of rules to determine visibility of the second content item based on user attribute values of user accounts; and

storing the second content item and the one or more resource attribute values associated with the second content item in a data store.

5 . The method of claim 1 , wherein the first content item comprises one or more of text data, image data, video data, or audio data.

6 . The method of claim 1 , wherein the one or more resource attributes associated with the content items includes one or more of a location attribute, a department attribute, an employee type attribute, or a job title attribute.

7 . The method of claim 1 , wherein the one or more resource attributes associated with the content items includes a Boolean expression, the method further comprising evaluating the Boolean expression based on the one or more user attributes associated with the first user to determine the first content item.

8 . A non-transitory computer-readable storage medium storing instructions that when executed by a computer processor perform actions comprising:

receiving, from a first user at a first device, a search query comprising one or more terms;

obtaining one or more user attributes associated with the first user issuing the search query;

providing relevancy scores for content items based at least in part on word-level matches between the search query and the content items;

determining historical feedback data for previous search queries;

adjusting a value of one or more of the relevancy scores based on a correspondence between the one or more user attributes and one or more resource attributes associated with the content items and based on the historical feedback data in accordance with whether a metric of the historical feedback data satisfies a metric threshold;

in a first state where the metric of the historical feedback data fails to satisfy the metric threshold, obtaining an indication of a first content item of the content items for selection based on one or more of the relevancy scores and adjustment of one or more of the relevancy scores that is based on the correspondence between the one or more user attributes and the one or more resource attributes associated with the content items, wherein selecting the first content item in the first state is based on the metric associated with the historical feedback data failing to satisfy the metric threshold;

in a second state where a threshold amount of the historical feedback data for the previous search queries is satisfied and the metric of the historical feedback data satisfies the metric threshold, obtaining an indication of the first content item of the content items for the selection based at least in part on the historical feedback data, the value of one or more of the relevancy scores, and the adjustment of the value of one or more of the relevancy scores that is based on both the correspondence between the one or more user attributes and the one or more resource attributes associated with the content items and on the historical feedback data in accordance with the metric of the historical feedback data satisfying the metric threshold, wherein selecting the first content item in the second state is based at least in part on satisfaction of the threshold amount of the historical feedback data; and

providing search results indicating the first content item.

9 . The non-transitory computer-readable storage medium of claim 8 , the actions further comprising:

receiving a second search query at the first device, the second search query corresponding to the search query and being associated with a second user account different from a first user account associated with the first user issuing the search query;

determining the content items based on the second search query;

determining a third user attribute value associated with the second user account;

determining a second content item from the content items based on a second correspondence between a fourth resource attribute value associated with the second content item and the third user attribute value associated with the second user account; and

providing second response data including the second content item to a computing device associated with the second search query.

10 . The non-transitory computer-readable storage medium of claim 8 , the actions further comprising:

determining total relevancy scores for one or more content items of the content items based on a combination of the word-level matches, the historical feedback data, and the correspondence between the one or more user attributes and the one or more resource attributes associated with the content items; and

determining the first content item of the content items having a highest total relevancy score;

wherein the search results include the first content item of the content items having the highest total relevancy score.

11 . The non-transitory computer-readable storage medium of claim 8 , the actions further comprising:

receiving a second content item at the first device;

providing an interface to a second device, the interface including at least one field accessible by a user to configure one or more resource attribute values associated with the second content item including a set of rules to determine visibility of the second content item based on user attribute values of user accounts; and

storing the second content item and the one or more resource attribute values associated with the second content item in a data store.

12 . The non-transitory computer-readable storage medium of claim 8 , wherein the first content item comprises one or more of text data, image data, video data, or audio data.

13 . The non-transitory computer-readable storage medium of claim 8 , wherein the one or more resource attributes associated with the content items includes one or more of a location attribute, a department attribute, an employee type attribute, or a job title attribute.

14 . The non-transitory computer-readable storage medium of claim 8 , wherein the one or more resource attributes associated with the content items includes a Boolean expression and evaluating the Boolean expression is based on the one or more user attributes associated with the first user to determine the first content item.

15 . A computer system comprising:

a hardware processor; and

a non-transitory computer-readable storage medium storing instructions that when executed by a computer processor to perform actions comprising:

receiving, from a first user at a first device, a search query comprising one or more terms;

obtaining one or more user attributes associated with the first user issuing the search query;

providing relevancy scores for content items based at least in part on word-level matches between the search query and the content items;

determining historical feedback data for previous search queries;

adjusting a value of one or more of the relevancy scores based on a correspondence between the one or more user attributes and one or more resource attributes associated with the content items and based on the historical feedback data in accordance with whether a metric of the historical feedback data satisfies a metric threshold;

in a first state where the metric of the historical feedback data fails to satisfy the metric threshold, obtaining an indication of a first content item of the content items for selection based on one or more of the relevancy scores and adjustment of one or more of the relevancy scores that is based on the correspondence between the one or more user attributes and the one or more resource attributes associated with the content items, wherein selecting the first content item in the first state is based on the metric associated with the historical feedback data failing to satisfy the metric threshold;

in a second state where a threshold amount of the historical feedback data for the previous search queries is satisfied and the metric of the historical feedback data satisfies the metric threshold, obtaining an indication of the first content item of the content items for the selection based at least in part on the historical feedback data, the value of one or more of the relevancy scores, and the adjustment of the value of one or more of the relevancy scores that is based on both the correspondence between the one or more user attributes and the one or more resource attributes associated with the content items and on the historical feedback data in accordance with the metric of the historical feedback data satisfying the metric threshold, wherein selecting the first content item in the second state is based at least in part on satisfaction of the threshold amount of the historical feedback data; and

providing search results indicating the first content item.

16 . The computer system of claim 15 , the actions further comprising:

receiving a second search query at the first device, the second search query corresponding to the search query and being associated with a second user account different from a first user account associated with the first user issuing the search query;

determining the content items based on the second search query;

determining a third user attribute value associated with the second user account;

determining a second content item from the content items based on a second correspondence between a fourth resource attribute value associated with the second content item and the third user attribute value associated with the second user account; and

providing second response data including the second content item to a computing device associated with the second search query.

17 . The computer system of claim 15 , the actions further comprising:

determining total relevancy scores for one or more content items of the content items based on a combination of the word-level matches, the historical feedback data, and the correspondence between the one or more user attributes and the one or more resource attributes associated with the content items; and

determining the first content item of the content items having a highest total relevancy score;

wherein the search results include the first content item of the content items having the highest total relevancy score.

18 . The computer system of claim 15 , the actions further comprising:

receiving a second content item at the first device;

providing an interface to a second device, the interface including at least one field accessible by a user to configure one or more resource attribute values associated with the second content item including a set of rules to determine visibility of the second content item based on user attribute values of user accounts; and

storing the second content item and the one or more resource attribute values associated with the second content item in a data store.

19 . The computer system of claim 15 , wherein the one or more resource attributes associated with the content items includes one or more of a location attribute, a department attribute, an employee type attribute, or a job title attribute.

20 . The computer system of claim 15 , wherein the one or more resource attributes associated with the content items includes a Boolean expression and evaluating the Boolean expression is based on the one or more user attributes associated with the first user to determine the first content item.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2025
From: TOWNSEND STREET LABS, INC.
To: OKTA, INC.
Reel/Frame 070900/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2023
From: SAMDANI, RAJHANS; GOYAL, ANKIT; RAPPOLT, PIERRE; WANG, EMILY YIDAN; PATNAIK, PRATYUS; POTTER, WILLIAM S.; AGARWAL, SUCHIT
To: TOWNSEND STREET LABS, INC.
Reel/Frame 062883/0568 →
Continuity (2)
Continuation 16584742 · Sep 26, 2019
Related Publication 20230095077A1 · Mar 30, 2023
References Cited (88)
US 5634051A · Thomson · 1997 [cited by applicant]
US 5659732A · Kirsch · 1997 [cited by applicant]
US 5966126A · Szabo · 1999 [cited by applicant]
US 6026388A · Liddy et al. · 2000 [cited by applicant]
US 6385329B1 · Sharma et al. · 2002 [cited by applicant]
US 6865571B2 · Inaba · 2005 [cited by examiner]
US 7181438B1 · Szabo · 2007 [cited by applicant]
US 7801896B2 · Szabo · 2010 [cited by applicant]
US 7827125B1 · Rennison · 2010 [cited by examiner]
US 8886587B1 · Hainsworth et al. · 2014 [cited by applicant]
US 9245271B1 · Ahmed et al. · 2016 [cited by applicant]
US 9654640B1 · Brydon et al. · 2017 [cited by applicant]
US 10388274B1 · Hoffmeister · 2019 [cited by applicant]
US 10497039B1 · Singh · 2019 [cited by examiner]
US 10565181B1 · Hjermstad et al. · 2020 [cited by applicant]
US 10567235B1 · Shah · 2020 [cited by examiner]
US 10685047B1 · Patnaik et al. · 2020 [cited by applicant]
US 10795886B1 · Samdani et al. · 2020 [cited by applicant]
US 10817483B1 · Samdani et al. · 2020 [cited by applicant]
US 11328019B2 · Bonin · 2022 [cited by examiner]
US 11468105B1 · Patnaik et al. · 2022 [cited by applicant]
US 11531707B1 · Samdani et al. · 2022 [cited by applicant]
US 11544334B2 · Gottumukkala · 2023 [cited by examiner]
US 11803556B1 · Samdani · 2023 [cited by examiner]
US 20020107842A1 · Biebesheimer · 2002 [cited by examiner]
US 20040072143A1 · Timmis et al. · 2004 [cited by applicant]
US 20040243568A1 · Wang et al. · 2004 [cited by applicant]
US 20050086046A1 · Bennett · 2005 [cited by applicant]
US 20050094848A1 · Carr et al. · 2005 [cited by applicant]
US 20060160065A1 · Timmis et al. · 2006 [cited by applicant]
US 20080052056A1 · Timmis et al. · 2008 [cited by applicant]
US 20080071769A1 · Jagannathan · 2008 [cited by applicant]
US 20080077570A1 · Tang et al. · 2008 [cited by applicant]
US 20080235283A1 · Turnball et al. · 2008 [cited by applicant]
US 20090006360A1 · Liao · 2009 [cited by examiner]
US 20090182609A1 · Kelleher · 2009 [cited by applicant]
US 20100005081A1 · Bennett · 2010 [cited by applicant]
US 20100070554A1 · Richardson et al. · 2010 [cited by applicant]
US 20100076998A1 · Podgorny et al. · 2010 [cited by applicant]
US 20100094878A1 · Soroca et al. · 2010 [cited by applicant]
US 20100115040A1 · Sargent · 2010 [cited by examiner]
US 20100332583A1 · Szabo · 2010 [cited by applicant]
US 20110004588A1 · Leitersdorf et al. · 2011 [cited by applicant]
US 20110047163A1 · Chechik et al. · 2011 [cited by applicant]
US 20110258049A1 · Ramer et al. · 2011 [cited by applicant]
US 20120041937A1 · Dhillon · 2012 [cited by examiner]
US 20120078890A1 · Fan et al. · 2012 [cited by applicant]
US 20130007037A1 · Azzam et al. · 2013 [cited by applicant]
US 20130212096A1 · Ben Shahar · 2013 [cited by applicant]
US 20130282594A1 · Gaedcke et al. · 2013 [cited by applicant]
US 20140040181A1 · Vsevolod · 2014 [cited by applicant]
US 20140040246A1 · Rubinstein et al. · 2014 [cited by applicant]
US 20140120513A1 · Jenkins et al. · 2014 [cited by applicant]
US 20140149411A1 · Anand et al. · 2014 [cited by applicant]
US 20140172882A1 · Clark et al. · 2014 [cited by applicant]
US 20150120718A1 · Luo et al. · 2015 [cited by applicant]
US 20150172294A1 · Bittner et al. · 2015 [cited by applicant]
US 20150294246A1 · Guven et al. · 2015 [cited by applicant]
US 20160019280A1 · Unger et al. · 2016 [cited by applicant]
US 20160034457A1 · Bradley et al. · 2016 [cited by applicant]
US 20160063118A1 · Campbell et al. · 2016 [cited by applicant]
US 20160171373A1 · Allen et al. · 2016 [cited by applicant]
US 20160180726A1 · Ahuja et al. · 2016 [cited by applicant]
US 20160188575A1 · Sawaf · 2016 [cited by applicant]
US 20160203215A1 · Allen et al. · 2016 [cited by applicant]
US 20160335554A1 · Koll et al. · 2016 [cited by applicant]
US 20170004204A1 · Bastide et al. · 2017 [cited by applicant]
US 20170228372A1 · Moreno et al. · 2017 [cited by applicant]
US 20170235792A1 · Mawji · 2017 [cited by examiner]
US 20170242899A1 · Jolley et al. · 2017 [cited by applicant]
US 20170243107A1 · Jolley et al. · 2017 [cited by applicant]
US 20170249566A1 · Mandel et al. · 2017 [cited by applicant]
US 20170337264A1 · Barbosa · 2017 [cited by examiner]
US 20180144064A1 · Krasadakis · 2018 [cited by examiner]
US 20180173698A1 · Dubey et al. · 2018 [cited by applicant]
US 20180196822A1 · Lewin-Eytan et al. · 2018 [cited by applicant]
US 20180212904A1 · Smullen et al. · 2018 [cited by applicant]
US 20180227190A1 · Healing et al. · 2018 [cited by applicant]
US 20180285423A1 · Ciano et al. · 2018 [cited by applicant]
US 20190108486A1 · Jain et al. · 2019 [cited by applicant]
US 20190130049A1 · Jussila · 2019 [cited by examiner]
US 20190155916A1 · Huang et al. · 2019 [cited by applicant]
US 20210157860A1 · Li · 2021 [cited by examiner]
US 20210256066A1 · Srinivasan · 2021 [cited by examiner]
US 20220365954A1 · Patnaik et al. · 2022 [cited by applicant]
US 20240168982A1 · Patnaik et al. · 2024 [cited by applicant]
AU 2014286166B2 · 2017 [cited by applicant]
Faed, A. “Handling e-complaints in customer complaint management system using FMEA as a qualitative system,” 6th International Conference on Advanced Information Management and Service, Nov. 30-Dec. 2, 2010, pp. 205-209. [cited by applicant]