Dynamic profile slice
First Claim
Patent Images
1. A computer-implemented method comprising:
- monitoring a real-time user-generated context of a user to accumulate a plurality of keywords in a dynamic profile slice of a user profile of the user that are representative of dynamic interests of the user and, for each keyword of the plurality of keywords, a timestamp that defines a most recent time at which the keyword was obtained from the real-time user-generated context of the user, wherein, for each keyword of the plurality of keywords, the dynamic profile slice further comprises a location stamp that defines a location at which the user was located at the most recent time at which the keyword was obtained from the real-time user-generated context of the user;
for each keyword of the plurality of keywords, assigning a weight to the keyword as a function of both an amount of time that has elapsed since the most recent time at which the keyword was obtained from the real-time user-generated context of the user as indicated by the timestamp for the keyword and a distance between a current location of the user and the location at which the user was located at the most recent time at which the keyword was obtained from the real-time user-generated context of the user as indicated by the location stamp for the keyword;
receiving a crowd request from a mobile device of the user;
in response to the crowd request, identifying one or more crowds of users currently located within a bounding region created for the crowd request;
for each crowd of the one or more crowds, obtaining crowd data for the crowd that comprises an aggregate profile of the crowd generated based on a comparison of at least the dynamic profile slice of the user profile of the user to user profiles of a plurality of users in the crowd; and
returning the crowd data for the one or more crowds to the mobile device of the user.
6 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for maintaining a dynamic profile slice of a user profile of a user. In one embodiment, a real-time user-generated context of the user is monitored over time to accumulate keywords in the dynamic profile slice of the user that are representative of dynamic interests of the user. Weights are assigned to the keywords in the dynamic profile slice using a time and/or location weighting function.
129 Citations
12 Claims
-
1. A computer-implemented method comprising:
-
monitoring a real-time user-generated context of a user to accumulate a plurality of keywords in a dynamic profile slice of a user profile of the user that are representative of dynamic interests of the user and, for each keyword of the plurality of keywords, a timestamp that defines a most recent time at which the keyword was obtained from the real-time user-generated context of the user, wherein, for each keyword of the plurality of keywords, the dynamic profile slice further comprises a location stamp that defines a location at which the user was located at the most recent time at which the keyword was obtained from the real-time user-generated context of the user; for each keyword of the plurality of keywords, assigning a weight to the keyword as a function of both an amount of time that has elapsed since the most recent time at which the keyword was obtained from the real-time user-generated context of the user as indicated by the timestamp for the keyword and a distance between a current location of the user and the location at which the user was located at the most recent time at which the keyword was obtained from the real-time user-generated context of the user as indicated by the location stamp for the keyword; receiving a crowd request from a mobile device of the user; in response to the crowd request, identifying one or more crowds of users currently located within a bounding region created for the crowd request; for each crowd of the one or more crowds, obtaining crowd data for the crowd that comprises an aggregate profile of the crowd generated based on a comparison of at least the dynamic profile slice of the user profile of the user to user profiles of a plurality of users in the crowd; and returning the crowd data for the one or more crowds to the mobile device of the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A server comprising:
-
a communication interface communicatively coupling the server to a device of a user via a network; and a processor associated with the communication interface and adapted to; monitor a real-time user-generated context of the user at the device to accumulate a plurality of keywords in a dynamic profile slice of a user profile of the user that are representative of dynamic interests of the user and, for each keyword of the plurality of keywords, a timestamp that defines a most recent time at which the keyword was obtained from the real-time user-generated context of the user, wherein, for each keyword of the plurality of keywords, the dynamic profile slice further comprises a location stamp that defines a location at which the user was located at the most recent time at which the keyword was obtained from the real-time user-generated context of the user; for each keyword of the plurality of keywords, assigning a weight to the keyword as a function of both an amount of time that has elapsed since the most recent time at which the keyword was obtained from the real-time user-generated context of the user as indicated by the timestamp for the keyword and a distance between a current location of the user and the location at which the user was located at the most recent time at which the keyword was obtained from the real-time user-generated context of the user as indicated by the location stamp for the keyword; receive a crowd request from a mobile device of the user; in response to the crowd request, identify one or more crowds of users currently located within a bounding region created for the crowd request; for each crowd of the one or more crowds, obtain crowd data for the crowd that comprises an aggregate profile of the crowd generated based on a comparison of at least the dynamic profile slice of the user profile of the user to user profiles of a plurality of users in the crowd; and return the crowd data for the one or more crowds to the mobile device of the user.
-
-
12. A non-transitory computer readable medium storing software for instructing a controller of a computing device to:
-
monitor a real-time user-generated context of a user to accumulate a plurality of keywords in a dynamic profile slice of a user profile of the user that are representative of dynamic interests of the user and, for each keyword of the plurality of keywords, a timestamp that defines a most recent time at which the keyword was obtained from the real-time user-generated context of the user, wherein, for each keyword of the plurality of keywords, the dynamic profile slice further comprises a location stamp that defines a location at which the user was located at the most recent time at which the keyword was obtained from the real-time user-generated context of the user; for each keyword of the plurality of keywords, assign a weight to the keyword as a function of both an amount of time that has elapsed since the most recent time at which the keyword was obtained from the real-time user-generated context of the user as indicated by the timestamp for the keyword and a distance between a current location of the user and the location at which the user was located at the most recent time at which the keyword was obtained from the real-time user-generated context of the user as indicated by the location stamp for the keyword; receive a crowd request from a mobile device of the user; in response to the crowd request, identify one or more crowds of users currently located within a bounding region created for the crowd request; for each crowd of the one or more crowds, obtain crowd data for the crowd that comprises an aggregate profile of the crowd generated based on a comparison of at least the dynamic profile slice of the user profile of the user to user profiles of a plurality of users in the crowd; and return the crowd data for the one or more crowds to the mobile device of the user.
-
Specification