Handling crowd requests for large geographic areas
First Claim
1. A method comprising:
- obtaining current locations of a plurality of users of a plurality of mobile devices, each of the plurality of users being a user of a corresponding one of the plurality of mobile devices;
receiving a request for crowd data from a requesting device;
establishing a bounding region for the request;
identifying one or more starting spots within the bounding region for the request; and
iteratively identifying crowds each including three or more of the plurality of users, generating crowd data for the crowds, and returning the crowd data for the crowds to the requesting device for a series of two or more outwardly radiating, differently sized, concentric geographic regions centered at each of the one or more starting spots,wherein at least one of the preceding actions is performed on at least one electronic hardware component.
12 Assignments
0 Petitions
Accused Products
Abstract
A system and method are provided for processing a request for crowd data for a large geographic area. In one embodiment, a central system, which includes one or more servers, operates to obtain current locations for users of mobile devices and form crowds of three or more users based on the current locations of the users. In order to provide access to crowd data for crowds for a large geographic area, the central system receives a request for crowd data from a requesting device, establishes a bounding region for the request, and identifies one or more starting points within the bounding region for the request. Crowds are identified, crowd data for the crowds is generated, and the crowd data is returned to the requesting device in an iterative manner for a series of two or more outwardly radiating, concentric geographic regions centered at the one or more starting points.
101 Citations
20 Claims
-
1. A method comprising:
-
obtaining current locations of a plurality of users of a plurality of mobile devices, each of the plurality of users being a user of a corresponding one of the plurality of mobile devices; receiving a request for crowd data from a requesting device; establishing a bounding region for the request; identifying one or more starting spots within the bounding region for the request; and iteratively identifying crowds each including three or more of the plurality of users, generating crowd data for the crowds, and returning the crowd data for the crowds to the requesting device for a series of two or more outwardly radiating, differently sized, concentric geographic regions centered at each of the one or more starting spots, wherein at least one of the preceding actions is performed on at least one electronic hardware component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
obtaining current locations of a plurality of users of a plurality of mobile devices, each of the plurality of users being a user of a corresponding one of the plurality of mobile devices; receiving a request for crowd data from a requesting device; establishing a bounding region for the request; identifying one or more starting spots within the bounding region for the request; and iteratively identifying crowds each including three or more of the plurality of users, generating crowd data for the crowds, and returning the crowd data for the crowds to the requesting device for a series of two or more outwardly radiating, differently sized, concentric geographic regions centered at each of the one or more starting spots, wherein iteratively identifying the crowds, generating the crowd data for the crowds, and returning the crowd data for the crowds to the requesting device for the series of two or more outwardly radiating, differently sized concentric geographic regions centered at each of the one or more starting spots comprises; establishing one or more initial request regions centered at the one or more starting spots such that each of the one or more initial request regions is a geographic region centered at a corresponding one of the one or more starting spots; identifying one or more crowds relevant to the one or more initial request regions centered at the one or more starting spots; generating crowd data for the one or more crowds relevant to the initial request regions centered at the one or more starting spots; returning, to the requesting device, the crowd data for the one or more crowds relevant to the one or more initial request regions centered at the one or more starting spots; receiving a follow-up request from the requesting device; establishing one or more request regions for the follow-up request corresponding to next geographic regions in the series of two or more outwardly radiating, differently sized concentric geographic regions centered at each of the one or more starting spots;
identifying one or more crowds relevant to the one or more request regions for the follow-up request;generating crowd data for the one or more crowds relevant to the one or more request regions for the follow-up request; and returning the crowd data for the one or more crowds relevant to the one or more request regions for the follow-up request to the requesting device, wherein at least one of the preceding actions is performed on at least one electronic hardware component. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A server comprising system components including:
-
a communication interface communicatively coupling the server to a plurality of mobile devices of a plurality of users via a network, each of the plurality of users being a user of a corresponding one of the plurality of mobile devices; and a control system associated with the communication interface and adapted to; obtain current locations of the plurality of users of the plurality of mobile devices; receive a request for crowd data from a requesting device; establish a bounding region for the request; identify one or more starting spots within the bounding region for the request; and iteratively identify crowds each including three or more of the plurality of users, generate crowd data for the crowds, and return the crowd data for the crowds to the requesting device for a series of two or more outwardly radiating, differently sized, concentric geographic regions centered at each of the one or more starting spots, wherein at least one of the system components includes at least one electronic hardware component.
-
-
20. A non-transitory computer readable medium storing software for instructing a controller of a server to:
-
obtain current locations of a plurality of users of a plurality of mobile devices, each of the plurality of users being a user of a corresponding one of the plurality of mobile devices; receive a request for crowd data from a requesting device; establish a bounding region for the request; identify one or more starting spots within the bounding region for the request; and iteratively identify crowds each including three or more of the plurality of users, generate crowd data for the crowds, and return the crowd data for the crowds to the requesting device for a series of two or more outwardly radiating, differently sized, concentric geographic regions centered at each of the one or more starting spots.
-
Specification