Privacy-preserving matching service
AssigneeMicrosoft Corporation
InventorsSaikat Guha, Venkata N. Padmanabhan, Mudit Jain, Ankush Jain
Life of this patent
Estimating the term…
Abstract
Described herein are technologies pertaining to protecting user privacy in connection with attribute-based matching services. A user registers with a platform that includes a plurality of non-collaborating partitions, where registration includes transmitting a message to the platform that indicates that the user has one or more attributes corresponding thereto. Through selective encryption and a communications protocol amongst the partitions, none of the partitions are able to ascertain that the user has the attributes. Acting in conjunction, however, the plurality of partitions perform rich attribute-based matching.
Claims20
A system comprising:
- a processor;
- and
- memory that comprises an attribute-based matching system that is executable by the processor, the attribute-based matching system configured to:
- receive first data from a first computing device, the first data indicative of a value for an attribute;
- identify a match for the value for the attribute based upon second data that has been received from a second computing device, the match indicating that a user of the second computing device has the value for the attribute, the attribute-based matching system configured to identify the match without learning a linkage between an identity of the user and the value for the attribute;
- and
- transmit a message to the first computing device responsive to identifying the match, the message indicating that the match has been identified.
A method executed at a computing device for performing an attribute-based match, the method comprising:
- executing a messaging protocol between a first computing partition and a second computing partition, the first computing partition inhibited from accessing data retained in the second computing partition, the second computing partition inhibited from accessing data retained in the first computing partition;
- and
- based upon the executing of the messaging protocol, transmitting a message to a first computing device, the message indicating that a user of the first computing device has been identified as having a value for an attribute, wherein the message is transmitted without either the first computing partition or the second computing partition learning that the user has the value for the attribute.
A computer-readable medium comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
- receiving, from a first computing device, a request to identify any computing devices that are within a particular geographic range from a current location of the first computing device;
- responsive to receiving the request, executing a messaging protocol between a first computing partition and a second computing partition, wherein executing the messaging protocol comprises transmitting a message to the first computing device that indicates that a second computing device is within the particular geographic range from the current location of the first computing device, wherein the messaging protocol prevents the first partition and the second partition from learning a geographic location of the second computing device when transmitting the message to the first computing device.
Dependencies are inferred from the claim text.