IP Library Granted Patent US 10,248,696
Granted Patent B2
US 10,248,696 · App. 14/841,555 · Granted Apr 2, 2019

Methods and systems for searching enterprise data

Inventors: Patrick White (San Francisco, CA); Shailesh Saini (San Francisco, CA); Jateen Joshi (San Francisco, CA); Vibhor Jain (San Francisco, CA); Carter Foxgrover (San Francisco, CA)
Assignee: Cisco Technology, Inc.
G06F17/30528G06F17/3053G06F17/30345G06F17/30554G06F17/30616G06F17/30634G06F17/30867
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 10,248,696
App. No.
14/841,555
Granted
Apr 2, 2019
Kind
B2
Abstract

Methods and systems for searching enterprise data are provided. The method is for searching data and includes identifying edges associating data and/or people. The method also includes assigning a resistance value to an edge based on strength(s) of association, the resistance value being inversely related to the strength of the association. The method further includes forming a resistance graph connecting the user with the data and the people based on the values of the edges. Additionally, the method includes providing results for a search query from a user based on the resistance graph with lower resistance values being prioritized for the user.

Claims (55)

1. A method for searching for data, comprising:

(a) accessing a data storage unit comprising data, wherein at least a subset of said data is associated with a user that is in an organization;

(b) identifying connections that associate (i) data in said subset with said user, (ii) data in said subset with other data in said data storage unit, which other data is associated with one or more other users that are in said organization, (iii) said user with said one or more other users, and (iv) said user with said other data;

(c) using a computer processor, assigning an initial resistance value to each connection identified in (b), which the initial resistance value is based on and inversely related to a strength of association between data and/or users associated with a given connection among said connections identified in (b);

(d) generating a resistance graph identifying (i) said user, subset of said data, at least a portion of said other data and said one or more other users, and (ii) said connections identified in (b), said resistance graph containing connections in series and parallel;

(e) modifying the initial resistance value of each connection identified in (b) to produce a modified resistance value based on a frequency in which said user accesses said data in said subset, accesses said other data in said data storage unit, and communicates with said one or more other users;

(f) determining an overall resistance value (Req) of each connection based on the resistance graph and the modified resistance values (R1, . . . Rn), wherein the overall resistance value (Req) of connections in series is calculated by the relationship Req=R1+ . . . Rn, and the overall resistance value (Req) of connections in parallel is calculated by the relationship Req=1/{(1/R1)+ . . . (1/Rn)};

(g) conducting a search of said data storage unit directed to search criteria provided by said user; and

(h) providing results of said search, wherein said results are sorted based on said overall resistance values determined in (f).

2. The method of claim 1 , wherein at least some but at most said subset of said data is associated with said user.

3. The method of claim 1 , further comprising indexing said data based on the initial resistance value assigned to each of said connections identified in (b) and the modified resistance values determined for each of said connections identified in (b).

4. The method of claim 1 , further comprising presenting said resistance graph on a user interface of an electronic device of said user.

5. The method of claim 1 , wherein said results comprise at least a portion of said subset of said data.

6. The method of claim 5 , wherein said results further comprise at least a portion of said other data in said data storage unit.

7. The method of claim 1 , wherein in (h) providing, data associated with connections having lower overall resistance values are prioritized higher than data having higher overall resistance values.

8. The method of claim 7 , wherein said results are provided in a list, and wherein (h) providing further comprises providing results of higher priority towards a top of said list.

9. The method of claim 1 , wherein said organization is a group or business enterprise.

10. A method for searching for data, comprising:

(a) accessing a data storage unit comprising data, wherein at least a subset of said data is associated with a user that is in an organization;

(b) identifying connections that associate (i) data in said subset with said user, (ii) data in said subset with other data in said data storage unit, which other data is associated with one or more other users that are in the organization, (iii) said user with said one or more other users, and (iv) said user with said other data;

(c) using a computer processor, calculating and assigning initial resistance values to said connections identified in (b), which initial resistance values are each based on and inversely related to a strength of association between data and/or users associated with a given connection among said connections identified in (b);

(d) indexing said data based on said initial resistance values assigned in (c);

(e) generating a resistance graph identifying (i) said user, subset of said data, at least a portion of said other data and said one or more other users, and (ii) said connections identified in (b), said resistance graph containing connections in series and parallel;

(f) modifying the initial resistance value to each connection identified in (b) to produce a modified resistance value based on a frequency in which said user accesses said data in said subset, accesses said other data in said data storage unit, and communicates with said one or more other users;

(g) determining an overall resistance value (Req) of each connection based on the resistance graph and the modified resistance values (R1, . . . Rn), wherein the overall resistance value (Req) of connections in series is calculated by the relationship Req=R1+ . . . Rn, and the overall resistance value (Req) of connections in parallel is calculated by the relationship Req=1/{(1/R1)+ . . . (1/Rn)};

(h) conducting a search of said data storage unit directed to search criteria provided by said user; and

(i) providing results of said search, wherein said results are prioritized based on said overall resistance values determined in (g).

11. The method of claim 10 , wherein at least some but at most said subset of said data is associated with said user.

12. The method of claim 10 , further comprising providing said results on a user interface of an electronic device of said user.

13. The method of claim 10 , wherein said results comprise at least a portion of said subset of said data.

14. The method of claim 13 , wherein said results further comprise at least a portion of said other data in said data storage unit.

15. The method of claim 10 , wherein in (i) providing, data associated with connections having lower overall resistance values are prioritized higher than data having higher overall resistance values.

16. The method of claim 15 , wherein said results are provided in a list, and wherein providing (i) further comprises providing results of higher priority towards a top of said list.

17. The method of claim 10 , wherein said organization is a group or business enterprise.

18. A computer readable medium comprising machine executable code that, upon execution by one or more computer processors, implements a method for searching for data, the method comprising:

(a) accessing a data storage unit comprising data, wherein at least a subset of said data is associated with a user that is in an organization;

(b) identifying connections that associate (i) data in said subset with said user, (ii) data in said subset with other data in said data storage unit, which other data is associated with one or more other users that are in said organization, (iii) said user with said one or more other users, and (iv) said user with said other data;

(c) using a computer processor, assigning an initial resistance value to each connection identified in (b), which the initial resistance value is based on and inversely related to a strength of association between data and/or users associated with a given connection among said connections identified in (b);

(d) generating a resistance graph identifying (i) said user, subset of said data, at least a portion of said other data and said one or more other users, and (ii) said connections identified in (b), said resistance graph containing connections in series and parallel;

(e) modifying the initial resistance value to each connection identified in (b) to produce a modified resistance value based on a frequency in which said user accesses said data in said subset, accesses said other data in said data storage unit, and communicates with said one or more other users;

(f) determining an overall resistance value (Req) of each connection based on the resistance graph and the modified resistance values (R1, . . . Rn), wherein the overall resistance value (Req) of connections in series is calculated by the relationship Req=R1+ . . . Rn, and the overall resistance value (Req) of connections in parallel is calculated by the relationship Req=1/{(1/R1)+ . . . (1/Rn)};

(g) conducting a search of said data storage unit directed to search criteria provided by said user; and

(h) providing results of said search, wherein said results are sorted based on said overall resistance values determined in (f).

19. A computer readable medium comprising machine executable code that, upon execution by one or more computer processors, implements a method for searching for data, the method comprising:

(a) accessing a data storage unit comprising data, wherein at least a subset of said data is associated with a user that is in an organization;

(b) identifying connections that associate (i) data in said subset with said user, (ii) data in said subset with other data in said data storage unit, which other data is associated with one or more other users that are in said organization, (iii) said user with said one or more other users, and (iv) said user with said other data;

(c) using a computer processor, calculating and assigning initial resistance values to said connections identified in (b), which the initial resistance values are each based on and inversely related to a strength of association between data and/or users associated with a given connection among said connections identified in (b);

(d) indexing said data based on said initial resistance values assigned in (c);

(e) generating a resistance graph identifying (i) said user, subset of said data, at least a portion of said other data and said one or more other users, and (ii) said connections identified in (b), said resistance graph containing connections in series and parallel;

(f) modifying the initial resistance value to each connection identified in (b) to produce a modified resistance value based on a frequency in which said user accesses said data in said subset, accesses said other data in said data storage unit, and communicates with said one or more other users;

(g) determining an overall resistance value (Req) of each connection based on the resistance graph and the modified resistance values (R1, . . . Rn), wherein the overall resistance value (Req) of connections in series is calculated by the relationship Req=R1+ . . . Rn, and the overall resistance value (Req) of connections in parallel is calculated by the relationship Req=1/{(1/R1)+ . . . (1/Rn)};

(h) conducting a search of said data storage unit directed to search criteria provided by said user; and

(i) providing results of said search, wherein said results are prioritized based on said overall resistance values determined in (g).

20. The computer readable medium of claim 18 , wherein in (h) providing, data associated with connections having lower overall resistance values are prioritized higher than data having higher overall resistance values.

21. The computer readable medium of claim 19 , wherein in (i) providing, data associated with connections having lower overall resistance values are prioritized higher than data having higher overall resistance values.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2016
From: SYNATA LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 040395/0582 →
CHANGE OF NAME Recorded Jul 21, 2016
From: SYNATA, INC.
To: SYNATA LLC
Reel/Frame 039426/0874 →
Continuity (3)
Continuation PCTUS2014020013 · Mar 3, 2014
Provisional Application 61771752 · Mar 1, 2013
Related Publication 20150370861A1 · Dec 24, 2015