Patent ID: 11921888
Assignee: VISA INTERNATIONAL SERVICE ASSOCIATION
Field: Computer technology (Electrical engineering)
Classification: CPC G  H | IPC G  H

Claim 10:
11. A computer program product comprising at least one non-transitory computer-readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to:
receive first persona data associated with a first user from at least one publisher system;
generalize the first persona data to form first generalized persona data;
generate a session key;
encrypt the first generalized persona data and the session key with a first public key of an advertisement network system to form a first ciphertext;
communicate the first ciphertext and first user identity data to a mediator system, the first user identity data associated with an identity of the first user;
receive a second ciphertext comprising an encrypted tracking token and a first encrypted targeted advertisement based on the first generalized persona data from the advertisement network system via the mediator system; and
decrypt the second ciphertext with the session key to form a first targeted advertisement and a tracking token,
wherein the first persona data comprises a first vector, wherein a plurality of users comprises the first user, wherein each respective user of the plurality of users is associated with respective persona data comprising a respective vector, wherein each respective vector comprises a plurality of respective attributes, and wherein generalizing the first persona data comprises:
for each respective attribute of the plurality of respective attributes:
generating a tree comprising a plurality of leaf nodes and a plurality of non-leaf nodes, each leaf node associated with at least one possible value of the respective attribute, each non-leaf node associated with a hierarchical category associated with at least two leaf nodes;
counting a number of users of the plurality of users having a respective attribute value for the respective attribute associated with the at least one possible value of each leaf node; and
for each respective non-leaf node, determining a sum of the number of users for all leaf nodes under the respective non-leaf node; and

for each respective attribute of the first vector:
determining whether the number of users of the plurality of users having the respective attribute value for the respective attribute associated with the at least one possible value of a respective leaf node exceeds a threshold; and
in response to determining that the number of users exceeds the threshold, retaining the respective attribute value for the respective attribute, and, in response to determining that the number of users does not exceed the threshold, replacing the respective attribute value for the respective attribute with the hierarchical category associated with a first non-leaf node for which the sum exceeds the threshold above the respective leaf node,

wherein counting the number of users comprises:
for each respective attribute of the plurality of respective attributes:
encrypting the respective attribute value of the respective attribute with a second public key to form an encrypted respective attribute value, wherein the computer program product stores a respective share of a private key associated with the second public key;
transmitting a message comprising the encrypted respective attribute value to the mediator system;
receiving a combined message from the mediator system, the combined message associated with a combination of the messages from each respective user based on additive homomorphic encryption;
decrypting a share of the combined message using the respective share of the private key; and
transmitting the share of the combined message to the mediator system.