Patent ID: 11954068
Assignee: MORGAN STANLEY SERVICES GROUP INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. A system for receiving and indexing a plurality of files for later querying, comprising:
one or more data stores; and
non-transitory memory comprising instructions that, when executed by one or more processors, cause the one or more processors to:
receive a plurality of files to be stored in the one or more data stores;
index the plurality of files by establishing two separate data structures for each key attribute of a set of key attributes of the plurality of files, to track storage of the plurality of files in the one or more data stores, the first data structure being a Bloom filter and the second data structure being an index dictionary, such that for every value of every key attribute from the set of key attributes, there exists an entry in the index dictionary for that key attribute indicating which files of the plurality of files have that value for that key attribute, and such that the Bloom filter for that key attribute has bits associated with that value set to true to indicate an insertion;
store each file from the plurality of files in a bucket that exclusively stores files having a shared attribute in common that is not shared by any files in any other bucket; and
upon receiving a query to obtain one or more files, comprising a value for a key attribute, first query exclusively the Bloom filter for that key attribute to determine if all bits associated with that value are set to true, and only if all such bits have been determined to have been set to true, query the index dictionary to determine which files of the plurality of files have that value for that key attribute.