Patent ID: 8908978

Claim:
A method for generating, in a computing device, an m-dimensional signature vector comprising m vector elements, the method comprising: setting an initial value of each vector element in the m vector elements to zero; and for each vector element in the m vector elements: accessing a plurality of key-value pairs sequentially, each key-value pair comprising a respective key, corresponding to one of n unique identifiers, and a non-zero value; and calculating each vector element based on a summation of a plurality of terms by repeating, sequentially, for each respective key-value pair in the plurality of key-value pairs: calculating a respective term of the plurality of terms based on the respective key-value pair from the plurality of key-value pairs by: generating a hash based on the key of the respective key-value pair and an element identifier associated with the vector element being calculated; generating a pseudo-random number from the generated hash; and multiplying the pseudo-random number by the value of the respective key-value pair; and adding the respective term calculated to the vector element being calculated, wherein m<<n.