Data services with privacy preservation and repeatability
AssigneeIntuit Inc.
InventorsMargarita VALD, Yaron SHEFFER
Life of this patent
Estimating the term…
Abstract
A processor may receive a request to perform an operation. The processor may generate a seed derived from data required to perform the operation. The processor may generate a perturbation based on inputting the seed into a pseudorandom number generator. The processor may generate the actual result based on performing the operation. The processor may generate a perturbed result, wherein generating the perturbed result may comprise performing a second operation based on the actual result and the perturbation. The processor may return the perturbed result in response to the request.
Claims20
A method comprising:
- receiving, by a processor, a first request to perform an operation and one or more data particular to a requester of the first request;
- preprocessing, by the processor, one or more data required to perform the operation by identifying and removing one or more outliers in the data;
- generating, by the processor, a seed derived from the preprocessed data required to perform the operation, wherein one or more future requests for the same operation with the same data will cause the same seed to be generated, wherein generating the seed comprises hashing at least a portion of the data required to perform the operation and the data particular to the requester of the operation, wherein the data particular to the requester of the operation comprises at least a secret value unique to the requester of the operation and locally held by the processor;
- generating, by the processor, a perturbation based on inputting the seed into a pseudorandom number generator wherein one or more future requests for the same operation with the same data will cause the same perturbation to be generated;
- generating, by the processor, an actual result based on performing the operation;
- generating, by the processor, a perturbed result, wherein generating the perturbed result comprises performing a second operation based on the actual result and the perturbation;
- and
- returning, by the processor, the perturbed result in response to the first request without having prior knowledge about state information associated with one or more previous requests.
A system comprising:
- a processor;
- and
- a non-transitory memory in communication with the processor and storing instructions that, when executed by the processor, cause the processor to perform processing comprising:
- receiving a first request to perform an operation and one or more data particular to a requester of the first request;
- preprocessing one or more data required to perform the operation by identifying and removing one or more outliers in the data;
- generating a seed derived from the preprocessed data required to perform the operation, wherein one or more future requests for the same operation with the same data will cause the same seed to be generated, wherein generating the seed comprises hashing at least a portion of the data required to perform the operation and the data particular to the requester of the operation, wherein the data particular to the requester of the operation comprises at least a secret value unique to the requester of the operation and locally held by the processor;
- generating a perturbation by inputting the seed into a pseudorandom number generator, wherein one or more future requests for the same operation with the same data will cause the same perturbation to be generated;
- generating an actual result based on performing the operation;
- generating a perturbed result, wherein generating the perturbed result comprises performing a second operation based on the actual result and the perturbation;
- returning the perturbed result in response to the first request without having prior knowledge about state information associated with one or more previous requests.
A method comprising:
- receiving, by a processor, a request to perform an operation and one or more data particular to a requester of the request;
- preprocessing, by the processor, one or more data required to perform the operation by identifying and removing one or more outliers in the data;
- performing, by the processor, the operation to thereby generate an actual result, the operating including a mathematical calculation using a plurality of numeric values;
- hashing, by the processor, the data particular to a requester of the operation and at least one of the actual result or the plurality of numeric values required to perform the operation to produce a seed, wherein one or more future requests for the same operation with the same plurality of numeric values will cause the same seed to be generated, wherein the data particular to the requester of the operation comprises at least a secret value unique to the requester of the operation and locally held by the processor;
- generating, by the processor, a perturbation by inputting the seed into a pseudorandom number generator, wherein one or more future requests for the same operation with the same data will cause the same perturbation to be generated;
- generating, by the processor, a perturbed result, wherein generating the perturbed result comprises performing a second operation based on the actual result and the perturbation;
- returning, by the processor, the perturbed result in response to the request without having prior knowledge about state information associated with one or more previous requests.
Dependencies are inferred from the claim text.