Architecture and system for location awareness
First Claim
1. A method of operating a computer-implemented service comprising:
- receiving a request for a location context of the computing device;
acquiring data associated with a current location from one or more location detection devices;
reconciling the acquired data for any inconsistencies concerning the current location by applying at least one process to the acquired data; and
generating a location object accessible to one or more applications, the location object including a reconciled location context for the computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
A location service and method provides a location aware computing device that is extensible by allowing different types of location awareness providers operate with the service. The method includes receiving a request for a location context, acquiring data associated with a current location from one or more location detection devices, reconciling the acquired data for any inconsistencies concerning the current location by applying either or both of a hierarchical and a metric process, and generating a location object accessible to applications. The service includes a location management component configured to route location data, a fuser engine configured to receive one or more location reports generated from the location data, reconcile conflicts between the location reports and generate a location object, and one or more location application programming interfaces (APIs) coupled to the location management component to transmit the location object from the fuser engine to an application.
137 Citations
42 Claims
-
1. A method of operating a computer-implemented service comprising:
-
receiving a request for a location context of the computing device;
acquiring data associated with a current location from one or more location detection devices;
reconciling the acquired data for any inconsistencies concerning the current location by applying at least one process to the acquired data; and
generating a location object accessible to one or more applications, the location object including a reconciled location context for the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A service comprising:
-
a location management component configured to route location data;
a fuser engine coupled to the location management component, the fuser engine configured to receive one or more location reports generated from the location data, reconcile conflicts between the location reports and generate a location object; and
one or more location application programming interfaces (APIs) coupled to the location management component, at least one of the location application programming interfaces configured to transmit the location object from the fuser engine to an application, the location object configured to dynamically provide to the application a location context for a computer running the service. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for providing dynamic location information to an application program, the method comprising:
-
receiving from the application program a request for location context data;
dynamically collecting location context data from one or more providers;
reconciling the location context data according to a statistical function to resolve any inconsistencies; and
returning to the application program resolved location context data. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A computer-readable medium having computer-executable instructions for enabling awareness of a location context of a computer system, the computer-executable instructions performing acts comprising:
-
receiving a request for a location context of the computing device;
acquiring data associated with a current location from one or more location detection devices;
reconciling the acquired data for any inconsistencies; and
generating a location object accessible to one or more applications, the location object including a reconciled location context for the computing device.
-
-
35. A method for generating rich location context reports from data received from at least one of a plurality of location providers, the plurality of location providers following a plurality of incompatible protocols, the method comprising:
-
upon receiving a notification of availability of a set of location reports from one or more of the location providers, retrieving the set of location reports;
for each location report in the set of location reports, determining whether a resolver is capable and available to interpret the location report and has not exceeded a predetermined number of iterations;
if a resolver is capable, available and has not exceeded the predetermined number of iterations, transmitting the location report to the resolver;
receiving from one or more resolvers one or more rich location reports associated the incompatible protocols;
combining the rich location reports into a set of rich location reports, each rich location report in the set of rich location reports according to a standardized data structure; and
transmitting the set of rich location reports to a fuser engine. - View Dependent Claims (36, 37, 38)
-
-
39. A computer-readable medium having computer-executable instructions for enabling generation of rich location context reports from data received from at least one of a plurality of location providers, the plurality of location providers following a plurality of incompatible protocols awareness of a location context of a computer system, the computer-executable instructions performing acts comprising:
-
upon receiving a notification of availability of a set of location reports from one or more of the location providers, retrieving the set of location reports;
for each location report in the set of location reports, determining whether a resolver is capable and available to interpret the location report and has not exceeded a predetermined number of iterations;
if a resolver is capable, available and has not exceeded the predetermined number of iterations, transmitting the location report to the resolver;
receiving from one or more resolvers one or more rich location reports associated the incompatible protocols;
combining the rich location reports into a set of rich location reports, each rich location report in the set of rich location reports according to a standardized data structure; and
transmitting the set of rich location reports to a fuser engine. - View Dependent Claims (40, 41, 42)
-
Specification