Back to results
US 10,853,507 B2Granted
Software-based switch for providing products and/or services to users without compromising their privacy
AssigneeSensoriant, Inc.
InventorsShamim A. Naqvi, Robert F. Raucci
Life of this patent
Estimating the term…
Abstract
An online service provisioning process is provided during which the service provider's knowledge about the user to whom the service is delivered does not increase. This is accomplished by presenting user attribute information to the service provider as obfuscated objects that can be independently verified and which are privacy preserving.
Claims20
A method for facilitating delivery of a product and/or service to a user, comprising:
- causing a first executable computer code to be inserted into a computing environment in which a user session is established, the first executable computer code being associated with an entity that provides the product and/or service;
- establishing a user session in the computing environment;
- in response to the first executable computer code being inserted into the user session, creating a first virtual machine in the user session;
- executing the first executable computer code in the first virtual machine, wherein executing the first executable computer code includes obtaining, over a communications network and from a user computing device of the user, a first proper subset of all information needed from the user computing device that is required to fulfill delivery of the product and/or service, the first proper subset of all the information being less than a complete set of all the information needed from the user computing device that is required to fulfill delivery of the product and/or service, the first proper subset of the information being processed by the first executable computer code, the first executable computer code producing first output data;
- selectively enabling or disabling mediation of the information in the first proper subset of information through an entity that obfuscates user information attributes of the user before the first information is obtained by the first executable computer code;
- terminating the first virtual machine upon completion of executing the first executable computer code;
- obtaining a second executable computer code based at least on a first portion of the first output data produced by the first executable computer code;
- causing the second executable computer code to be inserted into the user session established in the computing environment;
- in response to the second executable computer code being inserted into the user session, creating a second virtual machine in the user session;
- executing the second executable computer code in the second virtual machine, wherein executing the second executable computer code includes obtaining, over the communications network and from the user computing device, a second proper subset of all the information needed from the user computing device that is required to fulfill delivery of the product and/or service, the second proper subset of all the information being less than the complete set of all the information needed from the user computing device that is required to fulfill delivery of the product and/or service and including information not included in the first proper subset of the information, the second proper subset of the information being processed by the second executable computer code, the second executable computer code producing second output data;
- selectively enabling or disabling mediation of the information in the second proper subset of information through the entity that obfuscates user information attributes of the user before the second information is obtained by the second executable computer code;
- terminating the second virtual machine upon completion of executing the second executable computer code;
- and
- based at least in part on the second output data produced by the second executable computer code, causing the product and/or service to be delivered to the user of the user computing device.
11 more elements
A method for performing a transaction over a communications network, comprising:
- responsive to a user request received over the communications network, establishing a user session in a computing environment;
- executing a plurality of executable computer codes that each perform a portion of the transaction, wherein executing each of the executable computer codes includes obtaining over a communications network and from a user computing device of the user, a different proper subset of all information needed from the user computing device that is required to complete the transaction, each of the proper subsets of all the information being less than a complete set of all the information needed from the user computing device that is required to complete the transaction, each of the executable computer codes processing the respective subset of information that it obtains;
- selectively enabling or disabling mediation of the information in the different proper subsets of information through an entity that obfuscates user information attributes of the user before the information is obtained by the executable computer codes;
- wherein information is only exchanged between and among the plurality of executable computer codes during execution of each of the executable computer codes by obtaining encrypted output information that was previously output from one of the executable computer codes, the encrypted output information being encrypted such that one or more decryption keys are required from the user in order to decrypt the output information;
- and
- after completing execution of a final one of the executable computer codes necessary to complete the transaction, terminating the user session so that each of the subsets of information no longer exist in the computing environment.
3 more elements
Dependencies are inferred from the claim text.