US2010041378A1PendingUtilityA1
System and method for automatically generating a user profile from location information
Est. expiryAug 14, 2028(~2.1 yrs left)· nominal 20-yr term from priority
H04L 67/306H04W 8/18H04W 4/029H04W 4/02
41
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Locations of a user of a mobile device are received, wherein the locations are determined by the mobile device. Types of the locations are determined. A profile of the user is determined based on the types of the locations.
Claims
exact text as granted — not AI-modified1 . A method for automatically generating a profile of a user, comprising:
receiving locations of a user of a mobile device, wherein the locations are determined by the mobile device; identifying types of the locations; and generating a profile of the user based on the types of the locations.
2 . The method of claim 1 , wherein generating the profile of the user based on the types of the locations includes determining frequencies of occurrence for each type of location.
3 . The method of claim 1 , including augmenting the profile of the user with amounts of time the user was at each type of location.
4 . The method of claim 1 , including inferring, based on locations of the user and the times of the day that the user was at each of location, one selected from the group consisting of:
a home of the user; a workplace of the user; and any combination of the aforementioned locations.
5 . The method of claim 4 , including augmenting the profile with the inferred location.
6 . The method of claim 1 , including augmenting the profile of the user with the frequencies of occurrence for each location.
7 . The method of claim 4 , including augmenting the profile of the user with amount of time the user was at each location.
8 . The method of claim 1 , wherein identifying a type of a location includes one selected from the group consisting of:
querying a database that includes a plurality of locations associated with types; querying the user to provide a type of a location; querying a service operator to provide a type of a location; and any combination of the aforementioned operations.
9 . The method of claim 1 , wherein the location of the user is determined by the mobile device using one selected from the group consisting of:
a satellite positioning system; a radio tower positioning system; a Wi-Fi positioning system; and any combination of the aforementioned positioning systems.
10 . A system, comprising:
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions to:
receive locations of a user of a mobile device, wherein the locations are determined by the mobile device;
identify types of the locations; and
generate a profile of the user based on the types of the locations.
11 . A computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions to:
receive locations of a user of a mobile device, wherein the locations are determined by the mobile device; identify types of the locations; and generate a profile of the user based on the types of the locations.
12 . A method for obtaining an alarm database, comprising:
at a mobile device,
determining a present location of a user;
obtaining a profile of the user; and
obtaining an alarm database from a server, wherein the alarm database includes points of interest selected based on the profile of the user and the present location of the user.
13 . The method of claim 12 , wherein obtaining the profile of the user includes obtaining the profile of the user from the mobile device.
14 . The method of claim 12 , wherein obtaining the profile of the user includes obtaining the profile of the user from a server.
15 . The method of claim 12 , wherein a point of interest is selected from the group consisting of:
a business; a landmark; a recreational location; a location at which another user with a substantially similar profile is located; and any combination of the aforementioned points of interest.
16 . The method of claim 12 , including periodically refreshing the alarm database after a specified time period.
17 . The method of claim 12 , including refreshing the alarm database if a distance between the present location and a previous location is greater than a specified threshold.
18 . The method of claim 12 , including periodically receiving an updated alarm database from the server.
19 . The method of claim 12 , including:
determining whether the present location is in the alarm database; if so, querying the server to determine an action to be performed.
20 . The method of claim 12 , wherein the profile includes types of locations that the user has visited.
21 . The method of claim 12 , including:
determining whether the user is within a specified distance of a point of interest in the alarm database; and if the user is within the specified distance of a point of interest in the alarm database, notifying the user that the user is within the specified distance of the point of interest.
22 . The method of claim 21 , wherein notifying the user includes one selected from the group consisting of:
notifying the user using a visual indication on the mobile device; notifying the user using a audio indication on the mobile device; notifying the user using a vibration on the mobile device; notifying the user on a computing device that has been synchronized with the mobile device; notifying the user on custom web page; and any combination of the aforementioned operations.
23 . The method of claim 22 , wherein the visual indication is selected from the group consisting of:
specified text displayed on the mobile device; a short messaging service (SMS) message on the mobile device; an electronic mail message on the mobile device; a flashing light on the mobile device; a light with a changing color on the mobile device; and any combination of the aforementioned visual indications.
24 . The method of claim 22 , wherein the audio indication is selected from the group consisting of:
a specified sound generated by the mobile device; a phone call on the mobile device; and any combination of the aforementioned audio indications.
25 . A system, comprising:
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions to:
determine a present location of a user;
obtain a profile of the user; and
obtain an alarm database from a server, wherein the alarm database includes points of interest selected based on the profile of the user and the present location of the user.
26 . A computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions to:
determine a present location of a user; obtain a profile of the user; and obtain an alarm database from a server, wherein the alarm database includes points of interest selected based on the profile of the user and the present location of the user.
27 . A method for generating an alarm database, comprising:
at a server,
receiving a present location of a user from a mobile device;
receiving a profile of the user; and
generating an alarm database, wherein the alarm database includes points of interest selected based on the profile of the user and the present location of the user.
28 . The method of claim 27 , wherein receiving the profile of the user includes receiving the profile of the user from the mobile device.
29 . The method of claim 27 , wherein receiving the profile of the user includes receiving the profile of the user from the server.
30 . The method of claim 27 , wherein generating the alarm database includes querying a global alarm database to determine points of interests that are within a specified distance of the present location and that substantially match the profile of the user.
31 . The method of claim 27 , including:
updating the alarm database; and transmitting the alarm database to the mobile device.
32 . The method of claim 31 , wherein the alarm database is updated periodically.
33 . The method of claim 27 , wherein the alarm database is updated in response to an update request from the mobile device.
34 . The method of claim 27 , wherein the alarm database is updated when the global alarm database is updated.
35 . The method of claim 27 , wherein a point of interest is selected from the group consisting of:
a business; a landmark; a recreational location; a location at which another user with a substantially similar profile is located; and any combination of the aforementioned points of interest.
36 . The method of claim 27 , wherein the profile includes types of locations that the user has visited.
37 . The method of claim 27 , including:
determining whether the user is within a specified distance of a point of interest in the alarm database; and if the user is within the specified distance of a point of interest in the alarm database, notifying the user that the user is within the specified distance of the point of interest.
38 . The method of claim 37 , wherein notifying the user includes one selected from the group consisting of:
notifying the user using a visual indication on the mobile device; notifying the user using a audio indication on the mobile device; notifying the user using a vibration on the mobile device; notifying the user on custom web page; and any combination of the aforementioned operations.
39 . The method of claim 38 , wherein the visual indication is selected from the group consisting of:
specified text displayed on the mobile device; a short messaging service (SMS) message on the mobile device; an electronic mail message on the mobile device; a flashing light on the mobile device; a light with a changing color on the mobile device; and any combination of the aforementioned visual indications.
40 . The method of claim 38 , wherein the audio indication is selected from the group consisting of:
a specified sound generated by the mobile device; a phone call; and any combination of the aforementioned audio indications.
41 . The method of claim 27 , including posting the alarm database on a webpage for the user.
42 . A system, comprising:
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions to:
receive a present location of a user from a mobile device;
receive a profile of the user; and
generate an alarm database, wherein the alarm database includes points of interest selected based on the profile of the user and the present location of the user.
43 . A computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions to:
receive a present location of a user from a mobile device; receive a profile of the user; and generate an alarm database, wherein the alarm database includes points of interest selected based on the profile of the user and the present location of the user.
44 . A method for determining locations to be stored in a location database, comprising:
at a mobile device,
periodically determining a present location of a user;
comparing the present location of the user to a previous location of the user;
determining whether the present location is within a specified distance of the previous location;
if the present location is within the specified distance of the previous location, determining whether the user has been at the present location for a specified time period; and
if the user has been at the present location for the specified time period, storing the present location in a location database.
45 . The method of claim 44 , including storing the times during which the user is at the present location.
46 . The method of claim 45 , including inferring, based on locations of the user and the times of the day that the user was at each of location, one selected from the group consisting of:
a home of the user; a workplace of the user; and any combination of the aforementioned locations.
47 . The method of claim 46 , including inferring a commute route based on the route the user travels between the home and the workplace.
48 . The method of claim 44 , wherein if the present location is not within the specified distance of the previous location, the method includes determining that the user has left the previous location.
49 . The method of claim 44 , wherein the specified distance dynamically varies based on one selected from the group consisting of:
the speed at which the user is moving; the type of location; and any combination of the aforementioned factors.
50 . The method of claim 44 , wherein the specified time period dynamically varies based on one selected from the group consisting of:
the day of week; the remaining power of the mobile device; whether the present location exists in the location database; and any combination of the aforementioned factors.
51 . The method of claim 44 , wherein periodically determining the present location of the user includes periodically determining the present location of the user using on one selected from the group consisting of:
a satellite positioning system (GPS); a cellular tower positioning system; a Wi-Fi positioning system; and any combination of the aforementioned positioning systems.
52 . The method of claim 44 , wherein the present location of the user is determined at a period that is determined based on one selected from the group consisting of:
the remaining power of the mobile device; the speed at which the user is moving; the type of location; and any combination of the aforementioned factors.
53 . The method of claim 44 , including:
determining the number of times that the user has visited the present location; determining whether the number of times that the user has visited the present location exceeds a threshold; and if the number of times that the user has visited the present location exceeds the threshold, determining a type of the present location.
54 . The method of claim 53 , wherein determining a type of the present location includes one selected from the group consisting of;
querying a database that includes a plurality of locations associated with types; querying the user to provide a type of the present location; querying a service operator to provide a type of the present location; and any combination of the aforementioned operations.
55 . The method of claim 44 , including:
determining that the user is leaving the present location; determining whether the present location that the user is leaving is an interesting location, wherein an interesting location includes locations that have been visited by one or more users a specified number of times; if so, recording a route that the user travels from the present location that the user is leaving to another interesting location.
56 . The method of claim 55 , wherein recording the route that the user travels from the present location that the user is leaving to another interesting location includes:
determining whether the user has stopped moving; if the user has stopped moving,
determining whether the user has stopped at an interesting location; and
if the user has stopped at an interesting location, recording the route that the user travelled from the present location to the interesting location.
57 . The method of claim 56 , wherein determining whether the user has stopped moving includes determining whether the user has stopped moving for a specified time period.
58 . A system, comprising:
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions to:
periodically determine a present location of a user;.
compare the present location of the user to a previous location of the user;
determine whether the present location is within a specified distance of the previous location;
determine whether the user has been at the present location for a specified time period if the present location is within the specified distance of the previous location; and
store the present location in a location database if the user has been at the present location for the specified time period.
59 . A computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions to:
periodically determine a present location of a user; compare the present location of the user to a previous location of the user; determine whether the present location is within a specified distance of the previous location; determine whether the user has been at the present location for a specified time period if the present location is within the specified distance of the previous location; and store the present location in a location database if the user has been at the present location for the specified time period.
60 . A method for adding an entry to a blog, comprising:
obtaining a present location of a user from a mobile device; determining whether the user is a member of a group; if the user is a member of a group,
obtaining present locations of members of the group;
determining a subset of the members of the group that are within a specified distance of the present location of the user;
adding an entry to a blog, wherein the entry includes a list of the members of the group that are within the specified distance of the present location of the user.
61 . The method of claim 60 , wherein obtaining the present locations of members of the group includes obtaining the present locations of the members of the group from mobile devices of the members of the group.
62 . The method of claim 60 , including:
obtaining information about the present location; and adding the information about the present location to the entry of the blog.
63 . The method of claim 60 , wherein the blog is selected from the group consisting of:
a blog for the user; a blog for the group; a blog for a member of the group; and any combination of aforementioned blogs.
64 . The method of claim 60 , including:
obtaining information and/or links to the information about locations within a predefined distance of the present location; and adding the information and/or the links to the information to the entry of the blog.
65 . The method of claim 60 , wherein information about a respective location is selected from the group consisting of:
historical information; an address of the respective location; phone numbers of the respective location; GPS coordinates of the respective location; coupons associated with the respective location; hours of operation of the respective location; fees associated with the respective location; restrictions of the respective location; and any combination of the aforementioned information.
66 . The method of claim 60 , wherein a respective point of interest is selected from the group consisting of:
a business; a landmark; a recreational location; a location at which another user with a substantially similar profile is located; and any combination of the aforementioned points of interest.
67 . The method of claim 60 , wherein the mobile device determines the location of the user using one selected from the group consisting of:
a satellite positioning system (GPS); a radio tower positioning system; a Wi-Fi positioning system; and any combination of the aforementioned positioning systems.
68 . A system, comprising:
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions to:
obtain a present location of a user from a mobile device;
determine whether the user is a member of a group;
obtain present locations of members of the group if the user is a member of a group;
determine a subset of the members of the group that are within a specified distance of the present location of the user;
add an entry to a blog, wherein the entry includes a list of the members of the group that are within the specified distance of the present location of the user.
69 . A computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising instructions to:
obtain a present location of a user from a mobile device; determine whether the user is a member of a group; obtain present locations of members of the group if the user is a member of a group; determine a subset of the members of the group that are within a specified distance of the present location of the user; add an entry to a blog, wherein the entry includes a list of the members of the group that are within the specified distance of the present location of the user.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.