Note browser
First Claim
1. A computer implemented method for searching indexed notes, comprising:
- transmitting to a note sharing system from a client device of a current user, a request for a list of notes associated with the current user, wherein the request includes one or more search terms and wherein the note sharing system stores a plurality of notes, at least one of the notes shared with one or more users, and wherein the note sharing system further comprises;
a user index that includes, for each user, a list of note identifiers that identify notes associated with the current user; and
a term index that includes, for each of a plurality of terms, a list of note identifiers of notes containing the respective term;
receiving from the note sharing system at the client device a first list of note identifiers associated with the user according to the user index;
for each search term, retrieving from the note sharing system an additional list of note identifiers, wherein each note identifier in the additional list of note identifiers identifies a note that contains the search term according to the term index;
creating a unified list of notes by determining an intersection of the first list of note identifiers and the additional list of note identifiers;
identifying groups of notes in the unified list of notes based on users with whom the notes are shared, wherein each group is associated with a corresponding user and includes notes shared with the corresponding user;
determining an order for the groups based on a number of notes in each group; and
displaying at the client device at least some of the groups in the determined order, the groups displayed in conjunction with user names of users associated with the displayed groups.
3 Assignments
0 Petitions
Accused Products
Abstract
A notes system is presented with a content management system. The notes system manages creation and distribution of edits to notes to users sharing the notes. The notes are stored as a series of edits at the notes system. When an edit to a note is received, the edit is propagated to users subscribed to a note by a backend server responsible for managing the note. The sharing users are notified through application servers associated with each sharing user. The notes server includes various indices for searching the notes and allows notes to be searched quickly to organize viewing by a user of notes and identification of relevant material in the notes. The stored edits are used to display edits to a note to a user by replaying the accessed note to the user.
-
Citations
19 Claims
-
1. A computer implemented method for searching indexed notes, comprising:
-
transmitting to a note sharing system from a client device of a current user, a request for a list of notes associated with the current user, wherein the request includes one or more search terms and wherein the note sharing system stores a plurality of notes, at least one of the notes shared with one or more users, and wherein the note sharing system further comprises; a user index that includes, for each user, a list of note identifiers that identify notes associated with the current user; and a term index that includes, for each of a plurality of terms, a list of note identifiers of notes containing the respective term; receiving from the note sharing system at the client device a first list of note identifiers associated with the user according to the user index; for each search term, retrieving from the note sharing system an additional list of note identifiers, wherein each note identifier in the additional list of note identifiers identifies a note that contains the search term according to the term index; creating a unified list of notes by determining an intersection of the first list of note identifiers and the additional list of note identifiers; identifying groups of notes in the unified list of notes based on users with whom the notes are shared, wherein each group is associated with a corresponding user and includes notes shared with the corresponding user; determining an order for the groups based on a number of notes in each group; and displaying at the client device at least some of the groups in the determined order, the groups displayed in conjunction with user names of users associated with the displayed groups. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product, comprising a non-transitory computer readable medium storing:
-
a client application of a note sharing system that transmits to the note sharing system, a request for a list of notes associated with a current user, wherein the request includes one or more search terms and wherein the note sharing system stores a plurality of notes, at least one of the notes shared with one or more users, and wherein the note sharing system further comprises; a user index that includes, for each user, a list of note identifiers that identify notes associated with the current user; and a term index that includes, for each of a plurality of terms, a list of note identifiers of notes containing the respective term; wherein the client application is configured to; receive from the note sharing system at the client device a first list of note identifiers associated with the user according to the user index; for each search term, retrieve from the note sharing system an additional list of note identifiers, wherein each note identifier in the additional list of note identifiers identifies a note that contains the search term according to the term index; create a unified list of notes by determining an intersection of the first list of note identifiers and the additional list of note identifiers; identify groups of notes in the unified list of notes based on users with whom the notes are shared, wherein each group is associated with a corresponding user and includes notes shared with the corresponding user; determine an order for the groups based on a number of notes in each group; and display at least some of the groups in the determined order, the groups displayed in conjunction with user names of users associated with the displayed groups. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A note sharing system, comprising:
-
a notes database stored on a computer system and that stores a plurality of notes, at least one note associated with one or more users, the notes database comprising; a user index that includes for each user a list of note identifiers that identify notes associated with the user; and a term index that includes for each of a plurality of terms, a list of note identifiers of notes containing the respective term; and at least one notes server, executable by the computer system, and that; receives a request for a list of notes associated with a current user, wherein the request includes one or more search terms; requests from the notes database; a first list of one or more note identifiers associated with the current user according to the user index; and for each search term, an additional list of note identifiers of notes containing the search term according to the term index; and receives from the notes database the requested first list of note identifiers and at least one additional list of note identifiers; creates a unified list from an intersection of the first list of note identifiers and the additional lists of note identifiers; identifies groups of notes in the unified list of notes based on users with whom the notes are shared, wherein each group is associated with a corresponding user and includes notes shared with the corresponding user; determines an order for the groups based on a number of notes in each group; and provides to a client device at least some of the groups for display in the determined order in conjunction with user names of users associated with the displayed groups.
-
Specification