Providing location of a mobile device

A computer server provides location of a mobile device to a user. The computer server allocates to an account for the user a predetermined number of location credits associated with a purchase made by the user; The computer server receives, from the user, identification information that identifies the mobile device. Upon the user requesting a current location of the mobile device, the computer server checks to see whether there remains location credits allocated to the account for the user and, provided there remains location credits allocated to the account for the user, provides to the user location information about the current location of the mobile device.

BACKGROUND

The global positioning satellite (GPS) capability of cells phones provides the opportunity to monitor location of cell phones. Services like instamapper service, available at http://www.instamapper.com/, allows a GPS-enabled cell phone to be tracked online in real time.

It is not necessary for a cell phone to have GPS capability to be monitored. Location of cell phones can also be estimated using “cell tower triangulation.” In this method, a ping can be sent from each cell tower currently detecting the signal of a cell phone. The distance of the cell phone to a cell tower can be estimated based on the lag time between the time when the cell tower sends a ping to the cell phone and a time when the cell tower receives an answering ping back from the cell phone.

Assuming a relatively flat topography, If there are at least three cell towers within range of a cell phone, and the distance between the cell and each of the three towers is known (at least approximately) from estimates based on ping lag time, then it is possible to calculate (or at least estimate) a location of the cell phone based on the location of the three cell towers.

DETAILED DESCRIPTION

FIG. 1shows a cell phone10in communication with a cell tower11, a cell tower12and a cell tower13. A location of cell phone10can be estimated using cell tower triangulation. That is cell tower11can send a ping to cell phone10. The distance from cell tower11to cell phone10can be estimated based on the lag time between a time when cell tower11sends a ping to cell phone10and a time when cell tower11receives back an answering ping from cell phone10. Likewise, the distance from cell tower12to cell phone10can be estimated based on the lag time between a time when cell tower12sends a ping to cell phone10and a time when cell tower12receives back an answering ping from cell phone10. Also, the distance from cell tower13to cell phone10can be estimated based on the lag time between a time when cell tower13sends a ping to cell phone10and a time when cell tower13receives back an answering ping from cell phone10.

Geographic location of cell phone10can be estimated in other ways. For example, if cell phone10is GPS enabled, cell phone10can determine its location based on triangulation based on GPS signals. Particularly, distance to a satellite can be based on measuring how long a radio signal takes to travel from the satellite to cell phone10. Knowing cell phone distance from three satellites is usually sufficient to locate a cell phone because one of the two points identified by the triangulation will be on the surface of the earth, and thus be a better guess for the location of the cell phone. Knowing cell phone distance from four satellites will allow a unique three-dimensional location of cell phone10to be identified.

Location information of cell phone10can be obtained by server15. For example, a cell phone company can provide this location based on cell phone triangulation. Alternatively, cell phone10can provide this information to server15based on its estimate of its location based on GPS. For example cell phone10communicates location information to server15via a connection through internet14.

If a user utilizing a computing device16desires to monitor location of cell phone10, computer device16can, via internet14, request this information from server15. Computer device16is, for example, a personal computer, a portable computer, a tablet device, a reader with a web browser, a smart phone, a personal digital assistant, or some other device capable of communicating with server15through internet14.

Server15may, for example, provide the requested location information to computing device16for a service charge. For example, the user of computing device16can purchase a prepaid card that pays for a predetermined number of location checks for cell phone10. Server15stores prepaid information in a database17. Database17may be accessed by server15via internet14or through some other communication means. Alternatively, server15may host database17within server15.

FIG. 2is a simplified flow chart that illustrates a user view of a system in which a prepaid card is used to provide location credits used to obtain location of a cell phone. In a block21, a user purchases a prepaid locate card. For example, the user can purchase the prepaid card at a “brick and mortar store” such as an electronics store, a computer store, a cell phone store, a grocery store or a drug store, etc. Alternatively, the user can purchase the prepaid locate card through an internet merchant or a catalog merchant, etc.

The prepaid card may be, for example, a physical card where a sticker or scratch-off surface conceals a registration code. Alternatively, the prepaid card may not be a physical card, but may merely be a registration code transmitted to a user upon the user's purchase of the prepaid card, for example, via an internet merchant.

In a block22, a user connects to server15via internet14utilizing, for example cell phone10, computing device16or some other device with capability to connect to server15. In a block23, the user creates an account. Information for the account, for example, may be stored by server15in database17.

In a block24, the user logs into the registered account. While logged in, the user can redeem location credits allocated on the purchased prepaid card, as shown in a block25. For example, the user provides the registration code from the prepaid to server15. Server15consults database17to determine whether the registration code is valid and not yet used. If the registration code is valid and not yet used, server15then determines the number of location credits associated with the registration code. Then, server15accesses database17to add the number of location credits associated with the registration code to the user's account and to mark the registration code as used. Alternatively, or in addition, the user can purchase location credits when logged in, for example using a credit card, a debit card, or some other purchasing method.

In a block26, performed before or after a user redeems location credits, the user registers a mobile device whose location is to be tracked. For example, the mobile device is a cell phone such as cell phone10. For example, the user registers a cell phone by providing a telephone number for the cell phone.

In a block27, the user makes a location query. For example, the user makes a location query from computing device16, cell phone10, or any other device that is able to access server15. After the user is logged into the account the user request location of cell phone10. Server15accesses location information, for example as generated by triangulation from information from cell towers nearby cell phone10. Provided there is at least one location credit available in the user's account for cell phone10, the server provides the user with the location information for cell phone10. For example, if the user has logged onto server15through use of computing device16, server15will display the location information on a map provided to computing device16. Similarly, server15will cause the location information to be displayed on a map of any device from which the user requests the location information.

For example,FIG. 4shows a location42for cell phone10being displayed on a display41of a smart phone40. The display is the result of the user using smart phone40to log into server15and to request location information for cell phone10.

FIG. 3is a simplified flow chart that illustrates a server perspective of a system in which a prepaid card is used to provide location credits used to obtain location of a cell phone. In a block31, upon a user connecting to server15via internet14, the server allows the user to create an account.

In a block32, the server requests and receives login information from the user when the user attempts to log into the registered account. While the user is logged in, server15allows the user to redeem location credits allocated on the purchased prepaid card, as illustrated by block33. Server15consults database17to determine whether the registration code is valid and not yet used. If the registration code is valid and not yet used, server15determines the number of location credits associated with the registration code. Then, server15accesses database17to add the number of location credits associated with the registration code to the user's account and to mark the registration code as used. Alternatively, or in addition, server15allows the user to purchase location credits when logged in, for example, using a credit card, a debit card, or some other purchasing method.

In a block34, server15receives the mobile device registration from the user. Server15updates database17with identification of the mobile device for the user's account.

Once a user is registered and location credits are allocated to a registered mobile device, such as cell phone10, the server is ready to receive location requests from the user. In a block35, server15receives a location query from the user, for example via the user logging onto server15and making the request from computing device16, cell phone10, or any other device that is able to access server15. In a block36, server15checks the user account to see if there are location credits remaining. If not, the location request is refused. If there are location credit locations remaining, then server15accesses location information, for example as generated by triangulation from information from cell towers nearby cell phone10. For example, server15will caused to be displayed the location information on a map provided to computing device16or some other device from which the user requests the location information. In a block37, server15decrements the number of remaining location credits in the user account.

The foregoing discussion discloses and describes merely exemplary methods and implementations. As will be understood by those familiar with the art, the disclosed subject matter may be embodied in other specific forms without departing from the spirit or characteristics thereof. Accordingly, the present disclosure is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.