CPC G06F 16/9536 (2019.01) [G06F 16/9537 (2019.01); G06F 16/9538 (2019.01)] | 18 Claims |
1. A method for filtering and creating points-of-interest (POIs), performed by a computing device, the method comprising:
receiving, at a communications interface of a server computer system, physical location and user profile information from a plurality of mobile devices, the physical location information comprising global positioning system (GPS) data generated by GPS receivers of the plurality of mobile devices and transmitted to the communications interface via a communications network;
storing, in a data store of the server computer system, the physical location and anonymized user profile information from the plurality of mobile devices, each anonymized user profile information stored in a history object corresponding to a physical location;
determining, by the server computer system, a plurality of crowds based on at least the physical locations received from the plurality of mobile devices stored in the data store and based on a comparison between anonymized user profile information of users of the plurality of mobile devices and a user profile of a user making a request for crowd data, wherein determining a plurality of crowds includes re-establishing at least one crowd after identifying a set of the users forming a new crowd had a common previously-created crowd that had been removed from the plurality of crowds;
determining, by the server computer system, aggregate profile information for the plurality of crowds at one or more POIs, based on the physical location and anonymized user profile information from the plurality of mobile devices;
computing, by the server computer system, a match strength for each crowd in the plurality of crowds, the match strength indicative of a degree of similarity between the anonymized user profile of users in said each crowd, wherein the match strength is computed based on matches between users in said each crowd and a total number of users in said each crowd;
filtering, by the server computer system, aggregate profile information, using one or more filters based on the respective similarity level of the crowd, to create filtered aggregate profile information from anonymized user profile information stored in one or more of the history objects stored in the data store, the aggregate profile information including one or more characteristics shared between user profiles of users in said each crowd;
receiving by the server computer system, a user request for crowd data, the request received by the server computer system at a web interface from a client interface application executing on a mobile device associated with the user; and
transmitting by the server computer system via the communications network, the filtered aggregate profile information corresponding to one or more of the plurality of crowds at the one or more POIs, based on the aggregate profile information and the one or more filters, to the client interface application executing on the mobile device associated with the user responsive to the request, the one or more filters including a filter based on match strength.
|