Methods and systems for managing permissions data and/or indexes
First Claim
1. A machine implemented method of processing data comprising:
- creating a searchable index including a first subindex and a second subindex, wherein the first subindex corresponds to files in a user'"'"'s folder and the second subindex corresponds to files outside the user'"'"'s folder and wherein the user has permission to access files in the user'"'"'s folder;
receiving a search query from a user;
performing a search of the index, based on the search query, wherein the search generates first results from the first subindex and second results from the second subindex;
displaying the first results without performing a permissions check on the first results;
performing, by a data processing system, a permissions check upon the second results, wherein the permissions check comprises determining if the user has permission to access files in the second results;
filtering the second results using results of the permissions check; and
displaying the filtered second results.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for indexing and searching data, such as file contents and/or metadata. In one exemplary method, an index corresponding to files on a storage device is created. Index is partitioned into subindexes according to certain criteria, such as the location of files or exclusivity of access to files. Subindex contains the entire content of files or metadata describing files, in addition to identifiers leading back to files'"'"' physical storage. Index is maintained by moving files'"'"' index entries from one subindex to another as files change in relation to the partition criteria, such as changing location. Searching some subindexes, like one corresponding to files in a shared folder, is done with permission checking. Searches of certain other subindexes, like one corresponding to the home folder of the user searching, are done without permission checking the underlying files resulting in a performance improvement.
92 Citations
59 Claims
-
1. A machine implemented method of processing data comprising:
-
creating a searchable index including a first subindex and a second subindex, wherein the first subindex corresponds to files in a user'"'"'s folder and the second subindex corresponds to files outside the user'"'"'s folder and wherein the user has permission to access files in the user'"'"'s folder; receiving a search query from a user; performing a search of the index, based on the search query, wherein the search generates first results from the first subindex and second results from the second subindex; displaying the first results without performing a permissions check on the first results; performing, by a data processing system, a permissions check upon the second results, wherein the permissions check comprises determining if the user has permission to access files in the second results; filtering the second results using results of the permissions check; and displaying the filtered second results. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A machine implemented method of processing data comprising:
-
creating a searchable index including a first subindex and a second subindex, wherein the first subindex corresponds to files in a user'"'"'s folder and the second subindex corresponds to files outside the user'"'"'s folder and wherein the user has permission to access files in the user'"'"'s folder; receiving a search query from a user; performing a search of the index, based on the search query, wherein the search generates first results from the first subindex and second results from the second subindex; displaying the first results without examining data in a permissions cache; examining, by a data processing system, data in a permissions cache for the second results, wherein examining data in the permissions cache comprises determining if the user has permission to access files in the second results; filtering the second results using results of the examining; and displaying the filtered second results. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A machine implemented method of processing data comprising:
-
receiving a search query from a user; performing a search of a storage device, based on the search query, wherein the storage device contains at least one folder belonging to the user and at least one folder that does not belong to the user and wherein the user has permission to access files in the at least one folder belonging to the user and wherein the search generates first results from the folder belonging to the user and second results from the folder that does not belong to the user; displaying the first results without performing a permissions check on the first results; performing, by a data processing system, a permissions check upon the second results, wherein the permissions check comprises determining if the user has permission to access files in the second results; filtering the second results using results of the permissions check; and displaying the filtered second results. - View Dependent Claims (26, 27, 28)
-
-
29. A non-transitory machine readable storage medium storing instructions which when executed by a data processing system cause the data processing system to perform a method of processing data, the method comprising:
-
creating a searchable index including a first subindex and a second subindex, wherein the first subindex corresponds to files in a user'"'"'s folder and the second subindex corresponds to files outside the user'"'"'s folder and wherein the user has permission to access files in the user'"'"'s folder; receiving a search query from a user; performing a search of the index, based on the search query, wherein the search generates first results from the first subindex and second results from the second subindex; displaying the first results without performing a permissions check on the first results; performing a permissions check upon the second results, wherein the permissions check comprises determining if the user has permission to access files in the second results; filtering the second results using results of the permissions check; and displaying the filtered second results. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A non-transitory machine readable storage medium storing instructions which when executed by a data processing system cause the data processing system to perform a method of processing data, the method comprising:
-
creating a searchable index including a first subindex and a second subindex, wherein the first subindex corresponds to files in a user'"'"'s folder and the second subindex corresponds to files outside the user'"'"'s folder and wherein the user has permission to access files in the user'"'"'s folder; receiving a search query from a user; performing a search of the index, based on the search query, wherein the search generates first results from the first subindex and second results from the second subindex; displaying the first results without examining data in a permissions cache; examining data in a permissions cache for the second results, wherein examining data in the permissions cache comprises determining if the user has permission to access files in the second results; filtering the second results using results of the examining; and displaying the filtered second results. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. A non-transitory machine readable storage medium storing instructions which when executed by a data processing system cause the data processing system to perform a method of processing data, the method comprising:
-
receiving a search query from a user; performing a search of a storage device, based on the search query, wherein the storage device contains at least one folder belonging to the user and at least one folder that does not belong to the user and wherein the user has permission to access files in the at least one folder belonging to the user and wherein the search generates first results from the folder belonging to the user and second results from the folder that does not belong to the user; displaying the first results without performing a permissions check on the first results; performing a permissions check upon the second results, wherein the permissions check comprises determining if the user has permission to access files in the second results; filtering the second results using results of the permissions check; and displaying the filtered second results. - View Dependent Claims (54, 55, 56)
-
-
57. A data processing system comprising:
-
means for creating a searchable index including a first subindex and a second subindex, wherein the first subindex corresponds to files in a user'"'"'s folder and the second subindex corresponds to files outside the user'"'"'s folder and wherein the user has permission to access files in the user'"'"'s folder; means for receiving a search query from a user; means for performing a search of the index, based on the search query, wherein the search generates first results from the first subindex and second results from the second subindex; means for displaying the first results without performing a permissions check on the first results; means for performing, by a hardware device, a permissions check upon the second results, wherein the permissions check comprises determining if the user has permission to access files in the second results; means for filtering the second results using results of the permissions check; and means for displaying the filtered second results.
-
-
58. A data processing system comprising:
-
means for creating a searchable index including a first subindex and a second subindex, wherein the first subindex corresponds to files in a user'"'"'s folder and the second subindex corresponds to files outside the user'"'"'s folder and wherein the user has permission to access files in the user'"'"'s folder; means for receiving a search query from a user; means for performing a search of the index, based on the search query, wherein the search generates first results from the first subindex and second results from the second subindex; means for displaying the first results without examining data in a permissions cache; means for examining, by a hardware device, data in a permissions cache for the second results, wherein examining data in the permissions cache comprises determining if the user has permission to access files in the second results; means for filtering the second results using results of the examining; and means for displaying the filtered second results.
-
-
59. A data processing system comprising:
-
means for receiving a search query from a user; means for performing a search of a storage device, based on the search query, wherein the storage device contains at least one folder belonging to the user and at least one folder that does not belong to the user and wherein the user has permission to access files in the at least one folder belonging to the user and wherein the search generates first results from the folder belonging to the user and second results from the folder that does not belong to the user; means for displaying the first results without performing a permissions check on the first results; means for performing, by a hardware device, a permissions check upon the second results, wherein the permissions check comprises determining if the user has permission to access files in the second results; means for filtering the second results using results of the permissions check; and means for displaying the filtered second results.
-
Specification