SYSTEMS AND METHODS FOR IMPROVING PRECISION OF A LOCATION SENSOR
First Claim
1. A system that cryptographically protects location data transferred between a plurality of servers via a computer network to tune a location engine, comprising:
- a bridging module executed by one or more processors of a data processing system to retrieve, from a location database stored in memory, a plurality of location determinations made by the location engine of the data processing system, each location determination associated with a respective first identifier;
the bridging module configured to map each respective first identifier to a respective second identifier using a mapping function;
a first encryption module executed by the one or more processors to determine a first hash value for each location determination using a first hash function applied to a tuple formed of the second identifier and a timestamp of each location determination;
the first encryption module configured to encrypt the first hash value for each location determination using a first encryption protocol to generate a first encrypted data set;
a communication interface of the data processing system to transmit, via the computer network, the first encrypted data set to one or more servers configured to process electronic transactions;
the communication interface configured to receive, from the one or more servers, a second encrypted data set comprising second hash values generated by a second encryption module for the electronic transactions, each of the second hash values generated by the second encryption module via application of a second hash function to a tuple formed of an identifier and a timestamp of each of the electronic transactions, the second encrypted data set encrypted by the second encryption module with a second encryption protocol, wherein the first encryption protocol and the second encryption protocol are commutative encryption protocols;
the first encryption module configured to use the first encryption protocol to encrypt the second encrypted data set received from the one or more servers to generate a first double encrypted data set;
the communication interface configured to receive, from the one or more servers, a second double encrypted data set generated by the second encryption module via application of the second encryption protocol to the first encrypted data set transmitted by the data processing system to the one or more servers;
a tuner executed by the one or more processors to compare the first double encrypted data set with the second double encrypted data set to determine a precision metric and a recall metric based on a total number of correct location determinations, a total number of location determinations, and a total number of actual location events; and
the tuner configured to adjust a tuning parameter of the location engine based on at least one of the precision metric or the recall metric.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of cryptographically protecting location data transferred between servers via a network to tune a location engine are described herein. A first encryption module determines a first hash value for each location determination, encrypts the first hash value for each location determination using a first encryption protocol to generate a first encrypted data set, and transmits the first encrypted data set to a server. The first encryption module receives, from the server, a second encrypted data set with second hash values generated by a second encryption module of the server using a second encryption protocol. The first encryption module creates a first double encrypted data set from the second encrypted data set. A tuner compares the first double encrypted data set with a second double encrypted data set received from the server to adjust the location engine.
-
Citations
20 Claims
-
1. A system that cryptographically protects location data transferred between a plurality of servers via a computer network to tune a location engine, comprising:
-
a bridging module executed by one or more processors of a data processing system to retrieve, from a location database stored in memory, a plurality of location determinations made by the location engine of the data processing system, each location determination associated with a respective first identifier; the bridging module configured to map each respective first identifier to a respective second identifier using a mapping function; a first encryption module executed by the one or more processors to determine a first hash value for each location determination using a first hash function applied to a tuple formed of the second identifier and a timestamp of each location determination; the first encryption module configured to encrypt the first hash value for each location determination using a first encryption protocol to generate a first encrypted data set; a communication interface of the data processing system to transmit, via the computer network, the first encrypted data set to one or more servers configured to process electronic transactions; the communication interface configured to receive, from the one or more servers, a second encrypted data set comprising second hash values generated by a second encryption module for the electronic transactions, each of the second hash values generated by the second encryption module via application of a second hash function to a tuple formed of an identifier and a timestamp of each of the electronic transactions, the second encrypted data set encrypted by the second encryption module with a second encryption protocol, wherein the first encryption protocol and the second encryption protocol are commutative encryption protocols; the first encryption module configured to use the first encryption protocol to encrypt the second encrypted data set received from the one or more servers to generate a first double encrypted data set; the communication interface configured to receive, from the one or more servers, a second double encrypted data set generated by the second encryption module via application of the second encryption protocol to the first encrypted data set transmitted by the data processing system to the one or more servers; a tuner executed by the one or more processors to compare the first double encrypted data set with the second double encrypted data set to determine a precision metric and a recall metric based on a total number of correct location determinations, a total number of location determinations, and a total number of actual location events; and the tuner configured to adjust a tuning parameter of the location engine based on at least one of the precision metric or the recall metric. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of cryptographically protecting location data transferred between a plurality of servers via a computer network to tune a location engine, comprising:
-
retrieving, by a bridging module executed by one or more processors of a data processing system, from a location database stored in memory, a plurality of location determinations made by the location engine of the data processing system, each location determination associated with a respective first identifier; mapping, by the bridging module, each respective first identifier to a respective second identifier using a mapping function; determining, by a first encryption module executed by the one or more processors, a first hash value for each location determination using a first hash function applied to a tuple formed of the second identifier and a timestamp of each location determination; encrypting, by the first encryption module, the first hash value for each location determination using a first encryption protocol to generate a first encrypted data set; transmitting, by a communication interface of the data processing system, via the computer network, the first encrypted data set to one or more servers configured to process electronic transactions; receiving, by the communication interface, from the one or more servers, a second encrypted data set comprising second hash values generated by a second encryption module for the electronic transactions, each of the second hash values generated by the second encryption module via application of a second hash function to a tuple formed of an identifier and a timestamp of each of the electronic transactions, the second encrypted data set encrypted by the second encryption module with a second encryption protocol, wherein the first encryption protocol and the second encryption protocol are commutative encryption protocols; using, by the first encryption module, the first encryption protocol to encrypt the second encrypted data set received from the one or more servers to generate a first double encrypted data set; receiving, by the communication interface, from the one or more servers, a second double encrypted data set generated by the second encryption module via application of the second encryption protocol to the first encrypted data set transmitted by the data processing system to the one or more servers; comparing, by a tuner executed by the one or more processors, the first double encrypted data set with the second double encrypted data set to determine a precision metric and a recall metric based on a total number of correct location determinations, a total number of location determinations, and a total number of actual location events; and adjusting, by the tuner, a tuning parameter of the location engine based on at least one of the precision metric or the recall metric. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification