Patent Publication Number: US-9420430-B2

Title: Location tagging

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of, claims priority to and the benefit of, U.S. patent application Ser. No. 13/289,003, filed on 4 Nov. 2011 the disclosure of which is incorporated herein by reference in its entirety, 
    
    
     BACKGROUND 
     1. Field 
     The aspects of the disclosed embodiments generally relate to positioning and locations systems, and in particular to verifying consumer location or presence in a certain place and associating names and tags to certain places. 
     2. Brief Description of Related Developments 
     One big trend in mobile marketing is the “check-in” feature. In a check-in service, consumers use, for example, a mobile device, to inform a service that they are in a certain location such as, for example, a shop or restaurant. Check-in generally refers to a user confirming to the check-in service provider that he is actually in a specific place such as a shop or restaurant using the mobile device. There is a need for higher accuracy for these kinds of check-ins, as they are increasingly being connected with actual value services that give cash rewards for customer loyalty. There is a need for verification of the check-in to confirm that the user is really in the specific place he claims to be. 
     Indoor location technologies are generally known. In one example, a mobile terminal (MT) or other mobile device scans a Wireless Local Area Network (WLAN) environment and uses, for example, the Time Difference on Arrival (TDOA) to estimate the distance of the mobile terminal from a transmitting antenna. As the TDOA is measured from several base stations, the location can be estimated. 
     Another method of indoor location is the so-called fingerprinting method using a Received Signal Strength Indicator (RSSI). Location fingerprinting is used to determine the location of the mobile device based upon matching the information from multiple receivers (or transmitters) with earlier measurements. 
     One problem with earlier location methods is that they require detailed maps of the indoor environments to be available. Additionally, they require updating the database if the setup of the WLAN network is changed. Adding further to the problem is the fact that traditional means of determining a location, i.e. Global Positioning System (GPS), are often not possible to use inside buildings. 
     The methods of TDOA and matching RSSI fingerprints to detailed maps also typically require a significant amount of signal processing capability on the mobile terminal. 
     WO2011019125A1 describes a method of determining an indoor position in which a wireless terminal is located by using a signal fingerprint of a WLAN received signal strength indicator (RSSI) in combination with a place label inputted by a user to a place server. One problem with this prior art location method is that it requires the user to provide a place label. 
     Accordingly, it would be desirable to provide a system that addresses at least some of the problems identified above. 
     BRIEF DESCRIPTION OF THE DISCLOSED EMBODIMENTS 
     As described herein, the exemplary embodiments overcome one or more of the above or other disadvantages known in the art. 
     One aspect of the exemplary embodiments relates to a method and system for verifying user location in a space. 
     At least some embodiments of the disclosure provide a method for verifying an indoor position using Wireless Local Area Networks (WLAN), access points (AP), and Assisted Global Positioning System (A-GPS). The aspects of the disclosed embodiments advantageously determine if a user is in the place where he claims to be by using a mobile device. When a user wants his location to be verified he may activate a scanning process on his mobile device, or the scanning process may be activated automatically by, for example, an application executed in the mobile device that reads all the requested signals (WLAN, A-GPS). When the scanning or recording process is complete, the information is sent to a server where it is processed and the user location is either confirmed to be true or false. In one embodiment, the user location may be sent to a merchant for use, for example, in invoicing or advertising. 
     In one aspect, the disclosed embodiments are directed to an apparatus configured to verify a desired location of a mobile terminal. In one embodiment, a positioning device is coupled to the mobile terminal, the positioning device configured to obtain coarse location information corresponding to a current position of the mobile terminal. A controller is coupled to the mobile terminal, the controller having a memory in communication with a processor, the memory including program instructions for execution by the processor to collect the coarse positioning data corresponding to the current location of the mobile terminal, verify that the coarse location information approximately corresponds to relative position of the desired location, collect precise location data corresponding to the current location of the mobile terminal if the coarse location information corresponds to the relative position of the desired location, and verify that the precise location data corresponds to the desired location. 
     In another aspect, the disclosed embodiments are directed to a system for verifying a location of a mobile terminal. In one embodiment, the system includes a verification server, and a verification database coupled to the server, wherein the verification server comprises a memory in communication with a processor, the memory including program instructions for execution by the processor to detect a location verification request for a desired location of the mobile terminal, receive coarse location data corresponding to a current location of the mobile terminal, determine if the coarse location data corresponds to a general area of the desired location, receive precise location data corresponding to the current position of the mobile terminal, and 
     determine that current location is the desired location if the precise location data corresponds to the desired location. 
     In a further aspect, the disclosed embodiments are directed to a method. IN one embodiment, the method includes receiving a location identification verification request, the request including a location identification parameter, comparing the identification parameter with one or more pre-stored identification parameters, if a match exists, sending a corresponding location identifier to verify the location, or if no match exists, requesting additional location identification information. 
     These and other aspects and advantages of the exemplary embodiments will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. Moreover, the drawings are not necessarily drawn to scale and unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein. In addition, any suitable size, shape or type of elements or materials could be used. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In the drawings: 
         FIG. 1  shows a schematic picture of an physical environment where aspects of the disclosed embodiments can be applied; 
         FIG. 2  is an example of RSSI measurement and resulting fingerprint according to aspects of the disclosed embodiments; 
         FIG. 3  shows some of the steps for verification in accordance with an embodiment of the disclosure; 
         FIG. 4  is a schematic diagram showing a communication environment or network and some of the servers; 
         FIG. 5  is a flow chart related to check-in without verification; 
         FIG. 6  is a flow chart related to check-in with verification; 
         FIG. 7  is a flow chart related to providing additional information to a mobile terminal related to a location derived from fingerprint information; 
         FIG. 8  shows a schematic diagram of mobile terminal user interface and use case example of some embodiments; 
         FIG. 9  is a flow chart related to providing information to a mobile terminal from a server; 
         FIG. 10  is a flow chart related to a user sending a communication to a server and a process of weighting information within the communication; 
         FIG. 11  is a flow chart related to a process of inquiring from a customer for a new name for the location and one process related to providing a confidence level of being in a given location; 
         FIG. 12  shows an exemplary embodiment of some functional components in mobile terminal; and 
         FIG. 13  shows an example embodiment of a verification service server end. 
     
    
    
     DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS OF THE DISCLOSURE 
     The aspects of the disclosed embodiments are generally concerned with improving reliability of the check-in of a customer or user to a certain place. Reliability is improved with a verification method or service. The following description is merely used to describe certain aspects of the disclosed embodiments and it is not to be limiting in any way. 
       FIG. 1  illustrates an example environment where certain aspects of the disclosed embodiments might be applied. In the environment of  FIG. 1 , a building  30  contains six different shops (spaces) A, B, C, D, E and F. There are six WLAN access points (AP 1 , AP 2 , AP 3 , AP 4 , AP 5 , AP 6 ) installed in the different shops, although in alternate embodiments more or less access points can be used. There are two mobile terminals MT 1  and MT 2 . MT 2  is located outside of the building  30  and MT 1  is located inside of the building  30  in shop or store A. 
     According to the embodiments of  FIG. 1 , mobile terminals MT 1  and MT 2  have a check-in application installed on the terminal. A check-in application refers to an application which is used by a user or consumer to indicate to, for example, a store owner or other merchant that the consumer is in or at the store location. Mobile terminals MT 1  and MT 2  are capable of sending and receiving wireless signals and can also have, for example, GPS enabled as an alternate positioning method. The mobile terminals can have WLAN capabilities. As used herein, the term “mobile terminal” or “device” generally refers to terminals like cellular telephones, smart phones, mobile phones, handsets, Personal Digital Assistants (PDA), pads, laptops, or other similar communication and computing devices. 
     As described earlier, one big trend in mobile marketing is the “check-in” feature.  FIG. 5  schematically illustrates a currently used check-in process. A mobile device or mobile terminal (MT)  10  includes a check-in application. The mobile terminal  10  is used to inform a check-in service provider  12  that he is in the specific location or area of the merchant  14  which can be, for example, a shop, restaurant, or other location. Currently, a major player in “check-in” service providers is Foursquare™ (http://foursquare.com/). Foursquare™ provides a user with an application executed on the phone or mobile terminal  10 . The Foursquare™ application can be downloaded to the mobile terminal  10  in a suitable fashion. The aspects of the disclosed embodiments are not however limited to the Foursquare™. The application can be any application downloaded in the terminal. It can also be a native application and/or part of the operating system or other lower level functionality. Check-in service can be the only functionality of the application or it can be part of the functionality of another application. 
     In the process of  FIG. 5 , in step S 1 , the application executed on mobile terminal  10  sends location data (based on A-GPS) to service system  12 . Service system  12  analyzes the received location data at step S 2 . The service system  12  provides back to the user a list of locations, or merchant locations, nearby where he may check-in (S 3 ). In one embodiment, “location” or “merchant location” generally refers to a merchant services location, and can include for example, a store, building, service center, reception area, kiosk, or other suitable facility or location where a user may check-in to avail themselves of the services or goods provided by the merchant(s). The user can “check-in” in to one of the locations using the application in the mobile terminal  10 , as in Step S 4 . Service provider  12  can provide a report to merchant  14  about a successful check-in, as in step S 5 . 
     As the user is checked in to the location, he might receive, for example, discount coupons or other benefits related to the store or merchant  14  location where he is checked in. Typically, the merchant or store owner  14  pays the service provider  12  for the check-in service allowing a user to check-in at their location. Since it is critical for a business to know if the consumer is physically located in the store or not when they check-in, a secure verification method is needed. 
     Referring to  FIG. 3 , a method of verifying a user&#39;s location according to one embodiment is shown. The mobile terminal is ready S 3 . 1  to begin verification. The user initiates a verification request (S 3 . 2 ). The mobile terminal scans for coarse location information S 3 . 3 , using for example, the A-GPS chip. In alternate embodiments, any suitable location or positioning device or system can be used to obtain the coarse location information. The mobile terminal scans S 3 . 4  the available WLAN access points and records their signal output data. The mobile terminal collects S 3 . 5  all necessary data. The mobile terminal sends S 3 . 6  the recorded data to the verification service over a 3G or WLAN connection, for example. In alternate embodiments, the data can be sent over any suitable communication connection. The mobile terminal waits S 3 . 7  for the verification service to respond. The mobile terminal analyzes S 3 . 8  the results returned by the service. The mobile terminal gives a response S 3 . 9  to the user. The verification process is then complete S 3 . 10 . 
       FIG. 4  illustrates an environment where the verification method according to the aspects of the disclosed embodiments can be used. The environment of  FIG. 4  is similar to that described above in reference to  FIG. 1  and like reference numbers are used to show similar features. MT 1  and MT 2  are mobile terminals used by the check-in service. AP 1 , AP 2 , AP 3 , AP 4 , AP 5  and AP 6  are WLAN access points.  401  is a depiction of the signal outputted by the router of AP 1 , i.e. the “normal” usage radius of the AP 1  signal. For the embodiments of the present disclosure one should understand that signals from the access points can be received from a larger area as well, and that the radio network topology is only illustrative. A connection  402  such as a Digital Subscriber Line or Internet Protocol (IP) connection exists between the access points and a server  404 . Database  403  contains the necessary data for the location verification and server  404  running the verification service. The connection between a cell tower  406  and the server  405  is typically an IP connection. The cell tower  406  with data connectivity such as 3 rd  generation (3G) enables a wireless IP connection  407 ,  408  between mobile terminals MT 1  and MT 2  and Internet services such as server  404 . In alternate embodiments, the connection can be according to a current standard. 
     Referring now to  FIGS. 3 and 4 , in one embodiment, the user of mobile terminal MT 1  initiates S 3 . 2  a check-in service application claiming to be inside of, or within an area of shop A. A-GPS information is used S 3 . 3  to check if the user is in proximity of the location (i.e. mobile terminal MT 1  could be close to shops A, B, C or D). Since mobile terminal MT 1  is close to shop A, mobile terminal MT 1  sends S 3 . 6  information about the radio environment, as received by MT 1  WLAN chip, to the Verification Service database  403  and server  404  using wireless connection  407 . In this example it is assumed that mobile terminal MT 1  can receive some signal information from access points AP 1  and AP 5 . This information is analyzed by the Verification Service database  403  and/or server  404 . The Verification service compares previously recorded information of what the radio environment should be inside of shop A to determine if mobile terminal MT 1  is in the shop or not. This method is referred to in the disclosed embodiments as RSSI fingerprint matching, and involves comparing the previously recorded data to the newly acquired and detecting similarities. 
     One embodiment of a check-in using the verification method of the disclosed embodiments is illustrated in  FIG. 6 . When a check-in application (with verification functionality) is used by the user, mobile terminal  10  sends S 6 . 1  an approximate location to check-in service  12 . Check-in service provider  12  analyzes S 6 . 2  and provides S 6 . 3  a list of possible places where the user may check-in. According to one embodiment, the user decides to check-in in S 6 . 4 . The mobile terminal sends S 6 . 5  check-in information to service provider  12  and sends S 6 . 6  information relating to the radio network or radio environment to verification service server  404  and database  403 . Mobile terminal  10  may send additional A-GPS information and place identification information to Verification Service  404 / 403  simultaneously with the radio environment information. In alternate embodiments, mobile terminal  10  may send the additional A-GPS information and place identification information earlier, for example, at the same time as it is sent to service provider  12 , i.e. during S 6 . 1 . Alternatively, this information may be sent to service provider  12 , which then routes the information to Verification Service  404 / 403 . In this embodiment, the terminal needs to connect with only one server system at a time. Verification Service  404 / 403  analyses S 6 . 7  the received information and compares it with known fingerprints of the claimed location. 
     If the check-in location of mobile terminal MT 10  matches the fingerprints in the database  403 , confirmation is sent S 6 . 8  to check-in service  12 . Check-in service  12  then sends S 6 . 9  the verified information about the checked-in user to merchant  14 . The verified location information can be used, for example, for advertising purposes by merchant  14  or invoicing purposes by service provider  12 . In an alternate embodiment, verification service  404 / 403  can send verification information directly to merchant  14 , as in step S 6 . 9 , without first going through the service provider  12 . Mobile terminal MT 1  user might be informed about successful or unsuccessful verification of check-in (S 6 . 10 ). 
     Different mobile terminals might receive WLAN access point signal strengths differently due to their WLAN chip type and physical construction. This presents a problem for the fingerprinting process since it relies on matching substantially identical signal strengths with a specific location. According to one embodiment, this is solved by using an assumption (as it is in most cases) that RSSI is measured on a scale of −10 to −110 dBM. This means that even though there is a slight difference with each mobile terminal they still follow the same linear scale. Thus, one embodiment of the method measures the signal difference between the strongest and the rest of the received signals.  FIG. 2  illustrates an example of this process. It is assumed for the example that there are two mobile terminals making a scan of a WLAN environment. Both terminals are in location x (for example, location of MT 1  in shop A as in  FIG. 3 ). It is further assumed that mobile terminals have measured RSSI of access points AP 1 , AP 2 , AP 3 , AP 4 , AP 5  and AP 6  at the location x which is in shop A. (In the example it is assumed that radio signals can propagate through one or more walls). 
     In tables  200  and  202  of  FIG. 2 , results of two scans are shown. “Location x”-row values in  200  and  202  refer to measured RSSI from each of the access points. According to embodiments of the disclosure, an algorithm is used to compare two different measurements. In the first step, measured values of AP 1 -AP 6  are ordered by the strength, giving number 1 for the strongest signal (in the example AP 1  which is closest to mobile terminal MT 1  is given number 1) and 6 on the weakest signal, as shown in row “Order by strength”. It is apparent for one of skill in the art that there might be more or less access points in the system than six. Even though both Scan X  200  and Scan Y  202  in  FIG. 2  have measured different values, the linear scaling allows us to extract a fingerprint that is comparable between the two. Scaling is done by allocating value 0 for the strongest signal (AP 1  in the example) and calculating the difference between other measured signals in comparison to the strongest. Scan X in location x gave different values for RSSI than Scan Y in the same location x. The above-described scaling, however, enables the creation of identical fingerprints for the measurements. 
     This fingerprint is, in some embodiments, sent to verification service  403 / 404  or to check-in service  12  as indication of the place of the mobile terminal  10  and the user. It should be noted that other scaling mechanisms could be used as well, for example, by selecting the second strongest signal as the reference or the third strongest signal as the reference, etc. It should be noted as well that algorithms in verification service can compare, for example, sent fingerprint to stored fingerprints in the database. Such a comparison might include methods like a one-to-one comparison or looking at probabilities of fingerprint match the location identification. 
     Every check-in can have two distinct purposes, the primary purpose can be the location verification and the secondary can be the gathering of access point data that adds to the accuracy of the verification. 
     Referring again to  FIGS. 3 and 4 , another aspect of the disclosed embodiments can be illustrated by an example where mobile terminal MT 2  is making a check-in claiming to be in shop A. Again the process involves measuring coarse information from A-GPS S 3 . 3  to determine possible locations where mobile terminal MT 2  could be (i.e. in Shop A, B, C, D, E or F) to determine if shop A is in the list of shops available for check-in. Next, the WLAN Access Point radio signals S 3 . 4  are scanned and the A-GPS and AP data is sent S 3 . 6  to the verification service  404 / 403 . The verification service  404 / 403  analyzes the received data (for example info about AP 1 , AP 5  and AP 2 ). First the user&#39;s position is determined using the A-GPS data, if it is considered close enough to the check-in location, it proceeds with comparing the measured WLAN AP signals with those that have been pre-recorded, i.e. fingerprint matching. The data is analyzed and if a fingerprint match is found the check-in is verified as true. In the above example, the fingerprint of the location of MT 2  does not correlate sufficiently with the fingerprint of the store A, since mobile terminal MT 2  is located outside of the building. Thus, verification service  404 / 403  will inform check-in service  12  that the user is not in store A. 
     The aspects of the disclosed embodiments advantageously enables the identification of which store or part of the store the customer is in. There is no need to know the location of any of the base stations since the interest is to match the “fingerprint” of the radio network to certain areas. 
     Aspects of the verification service according to the disclosed embodiments might require that the user is using a mobile phone capable of scanning a WLAN network and communicate over the network or a wireless network such as 3rd generation cellular network (3G-connection). There is also a need for a GPS chip that allows for coarse estimation of a user&#39;s position. However, the disclosed embodiments are not limited to terminals with WLAN and/or GPS only. According to some embodiments, scanning of other local area radios or short range networks such as Bluetooth can be used. In some embodiments, coarse estimation of a user&#39;s position can be done, for example, via cellular network cell identification or other positioning technologies using cellular networks. 
     In one embodiment, the verification process is initiated by the user requesting to have their location verified. When a user selects to have their location verified, the software or application running on the mobile terminal is initiated and starts gathering a coarse A-GPS location. If this location is remotely close to the area where the verification request is targeted the next step is automatically initiated. This step scans the WLAN networks available and sends the collected data to a verification service  404 / 403  running the positioning engine. The data is then analyzed on the server and once a result has been determined, a true or false response is returned to the mobile terminal and displayed to the user. 
     The positioning engine looks for familiar RSSI fingerprints and uses these to calculate the probability that the user is in the location where he claims to be. 
     The Fingerprint Collection Process: 
     Every time a user requests that his location be verified and performs the subsequent scans he is also contributing to the database  403  of available WLAN data. This database is continuously analyzed and the collected information is compared with previous results. The comparison process will group similar scans together and discard irrelevant or outlying scans. Once the groups have been created the most “visible” group will be selected as the most likely source of reliable WLAN data. The routers in this group will be given a weight that marks their importance in the positioning process—the higher the weight the more important a router is. The location identification (ID) related database  403  is created automatically. 
     According to another embodiment, if there is no data in the verification service database related to the fingerprint of a particular location, the verification cannot be done immediately. However, according to the disclosed embodiments the database can store received fingerprints and user claimed identifications (check-in ID) in the database. There can be an algorithm in the verification system, which will accept a fingerprint as valid finger print in case a sufficient amount of users have sent the same fingerprint to the verification server. Additionally there can be validated users such as store owners that can send “official” fingerprints to database. 
     Additionally, from time to time, WLAN configurations might change. For example, shop B might decide to change access point AP 2  to another type of access point or turn it off, reconfigure it, or move it. This can lead to situation that at least a few persons will have “non-verified” message when they are in location x since AP 2  is not existing. According to one embodiment, the verification server can change the associated fingerprint in the database according to a rule set. An example of a rule set can be, for example, that after 5 users have claimed the check-in with the new fingerprint (with no AP 2 ), this is assumed as new verified fingerprint of the location x. 
       FIG. 7  illustrates another embodiment incorporating aspects of the present disclosure. Mobile terminal  10  can have an Operating System  102  such as Android™ or iOS or Linux™ or Symbian™, or such other suitable operating system installed in the terminal. Such mobile terminals typically have the capability to enable users to download and install client applications. In one embodiment a client application  104  is installed in the mobile terminal. The client application  104  can be started by an operating system in step S 7 . 1 . (typically originally initiated by the user). In this embodiment, the client application  104  communicates over an Application Program Interface (API) with a Footprint Library  106  software component as shown in the step S 7 . 2 . The Footprint Library  106  software is used in the embodiment for collecting positioning data in step a S 7 . 3 . Positioning data is sent from mobile terminal  10  to verification server system  108  (Walkbase™ server) in step S 7 . 4  over for example a wireless connection. The system  108  can include the same components as verification server  403 / 404 . Additionally the system  108  might include for example connection to 3 rd  party services or it might include other services such as a microblogging server. The Walkbase server  108  uses an algorithm to calculate the indoor position and to derive location ID and other related information corresponding to the location in step S 7 . 5 . The indoor position identification and other parameters are sent back to mobile terminal  10  in step S 7 . 6 . The Footprint library  106  software component informs, via the API, the application  104  of the discovered location and forwards other parameters. In other words, this embodiment of the present disclosure enables an architecture where an application can use the API to get location information for the application. This is useful since it enables an easy way for any application developer to use location information derived from a location service such as a Walkbase™ server. In a step S 7 . 8 , the application makes a request to a server system for information related to location. In one embodiment the application relates to Twitter™ type of micro blogging (http://www.twitter.com), i.e. the application request hashtags related to the location from the server system. 
       FIG. 9  shows steps related to selection of appropriate hashtags for the application. The process can be initialized by S 7 . 8  in step S 9 . 0 . In practice the process receives an input location ID from the mobile terminal  10  (step S 9 . 1 ). In step S 9 . 2 , the database is checked to determine if the location ID exists or not. In case the location ID is new for the database (i.e. no correlating fingerprint was found), in step S 9 . 2 , a new location is added to database and “no tags exists” information is returned to mobile terminal in step S 9 . 4 . Depending on the implementation of the application  104  the fact that the location ID was new with no associated name/tag/hashtag might initiate dialogue with the user of the mobile terminal  10 . The dialogue might include a question from the user of as to which location he is in or at, at the moment. The input to the question can be used to populate the location ID database with name of the location. In case the location ID exists in the database, data related to provided location ID is extracted from the database in step S 9 . 5 . Most relevant tags are selected in step S 9 . 6  to be sent to mobile terminal application  104 . Relevancy can be determined by looking at associated preference weights for each of possible tags. Preference weights can be for example the popularity of a tag in the location, recently used tags for the location or in sponsored tags for the location. Sponsoring refers to for example a store owner sponsored tag to be provided to a user. Typically business arrangements include money transactions between the store owner and verification service owner in this context. Tags are sent to mobile terminal in step S 9 . 7  and the process returns to S 7 . 9 . 
     The server system component for associating hashtags to locations returns one or more hashtags which are associated with the location in step S 7 . 9 . The hashtags can be in the Walkbase™ server system  108  or those can come from other sources such as 3 rd  party servers hosting information. Hashtags are commonly used identification in communication related to Twitter™. Hashtag words are typically marked with #-symbol in the front of the word i.e. #London, #Patent, #TPS. The hashtags can be used in the Twitter™ environment to group and sort discussions. 
       FIG. 8  shows an example application  104  according to one embodiment. The mobile terminal  10  can have a screen  110  (typically a touch screen with a touch sensitive part in the front of the display part) for providing output and input means to mobile terminal user interface (UI). The client application  104  in the example is called “tweetz”. The application name  120  is shown in display. The application has an input area  122  for user to enter text with keyboard, touch screen, audio control etc. In this example, the user has entered the text “This is a tweet with”. The application “tweetz” uses an API to communicate with the Footprint library component  106  to get the location of the terminal  10 . The application  104  requests the hashtags related to the location. The received hashtags are shown in the mobile terminal  10  screen (right side UI example picture of the  FIG. 8 ). The user can click with a finger (or other input means) on the proposed hashtag and the application appends the hash tag in the input area  122  as part of the tweet. The tweet can be sent by the user by pressing “Send” button  124  in the touch screen  110 . 
       FIG. 10  shows an exemplary flowchart on how to populate the hashtag database related to a location identification (ID). In step S 10 . 1  a user of mobile terminal  10  uses the “tweez” application  104  and writes a microblog entry (for example tweet: “All fine, having coffee at #Starbucks™”). The tweet is sent from the mobile terminal  10  to server system  108  in step S 10 . 2 . The server system hashtag/location ID analysis component loads the hashtags and received location ID in step S 10 . 3 . If the location ID does not exist (step S 10 . 4 ) i.e. the fingerprint sent from the mobile terminal is new and the location ID is added to the database in Step S 10 . 5 . The used hashtag can be associated with the location ID. This is beneficial since it enables to name places by associating location ID with information within the communication. In case the location ID exists, the used hashtags in the communication are added to database and associated with the location ID in step S 10 . 6 . Weights for the tags are calculated in step S 10 . 7 . Example ways of calculating weights is for example the number of times the hashtag has been used in the location ID, the average number of times of using tags during certain time (i.e. last minute, hour, day, week, etc). Also weighting can be calculated for example by grouping similar hashtags together, i.e. for example #starbucks relates to coffee shop brand Starbucks™, but names like #coffee relates to coffee, and for example the acronym #SB can refer to Starbucks™ to mention a few. Calculated weights for the tags are updated to the database and the process of weighting and recording new locations is finished in step S 10 . 8 . The aspects of the disclosed embodiments are not limited to hashtags, but can include any part or type of the communication sent from the mobile terminal or actions other than communication can be used to name location ID. 
     Additional examples of the exemplary application  104  can be messaging applications such as email applications, short message service (SMS) messages, multimedia message service (MMS) messages, games, mapping, social network applications such as Facebook™, and search applications for making Google™ searches, for example. 
       FIG. 11  shows a flow chart illustrating one embodiment of a process incorporating aspects of the present disclosure. In this example, the mobile application  104  sends a “Where am I?”-type request via the Footprint API  106  in step S 11 . 1 . The request can include parameters such as a Wi-Fi fingerprint and other available identifier data. Other data might be A-GPS (Assisted-Global Positioning System) data, audio fingerprint, information about routers and bases stations etc. The request is received by the Walkbase Location Platform  108 . The location platform includes database  109 . In step S 11 . 2 , the submitted identifier data is compared with the location database in order to find a match to a pre-recorded location. The data analysis can be done for example using database queries or with self-learning algorithms such as neural network types of algorithms. If a match is found (step S 11 . 3 ), the location ID is sent back to mobile terminal application  104 . The location information ID can include in addition to the ID, the name of the place or other parameters such as associated tags. According to one embodiment, the location information parameters can include a confidence level of the ID. The confidence level refers in this context to the probability that the place is as indicated. For example, “You are at Starbucks™ with 90% probability”, “You are at mall xxx with 80% probability”, “You are at home with 95% probability”. The application might also show more than one probability at the same time, i.e., “You are at Mall Skannsi with 95% probability” and “in Starbucks™ on 3 rd  floor with 84% probability.” In the case of not finding a match, or a good enough match, (where the probability below set threshold such as below 50% accuracy etc) for location, application can be configured to ask the user to name the place in step S 11 . 4 . Example: “It seems that you are first one here, can you name the place for us?” In case the user names the place, the user might be given compensation in form of money, credits, social value, and can be nominated as the “founder” of the place etc. 
       FIG. 12  shows one embodiment of an exemplary architecture of a mobile terminal  10  incorporating aspects of the disclosed embodiments. The footprint library interface  106  API is used to provide location related services to the target application  104 . Some of the methods of deriving location information includes usage of A-GPS location  130 , Wi-Fi scanner module  132  for measuring Wi-Fi fingerprint and acoustic scanner  134  for measuring audio sample of the location. An audio sample can be used to identify in which room the person is since many rooms have typical background noise from machines, air-condition etc. The communication to the server system is preferably done over Hypertext transfer protocol (HTTP) using for example Java Script Object Notification (JSON). The mobile terminal can communicate via the transmitter/receiver (TX/RX) logic over cellular network or local area network. 
     Hardware for Service Servers: 
     The verification service can run in a server capable of load balancing and a database for storing the recorded data. The server can be part of a cloud computing grid that allows for easy scaling when necessary.  FIG. 13  shows example embodiment of verification server  108  set up. Inputs from mobile devices are received as JSON Input via REST (Representational state transfer) interface. Location verification algorithms can use information from A-GPS, Wi-Fi scans and acoustic scanner (if available) in a layered manner, each information bringing more confidence on the location verification process. Information is analysed and appropriate weighting of the results are done in server system. Updated location related parameters are stored in the database  403 . Location detection modules can use information from the database  403  to detect the location of the terminal. There can be an interface to 3 rd  party point of interest (POI) data from server system or it can be integrated as part of the server system. POI data can be used to provide location context related information to mobile terminals and also mobile terminals can update POI data. An example of POI data can be association of Twitter™ communications to a location. 
     In some embodiments, fingerprint matching to certain locations/places can be done in the mobile terminal without need for on-line connection to servers. In this embodiment, the mobile terminal can include a database for storing a set of fingerprints and related place identification codes or place names. 
     In some embodiments, verification services, related database and check-in services might be implemented by a single party in the same server (logical or physical) so the functionality of check-in and verification can be distributed or handled by the same party. 
     The aspects of the disclosed embodiments will also include processing devices, such as processors, microprocessors, computer program products and computer readable media that are configured to execute program code and computer readable instructions to carry out the methods and processes described herein. In one embodiment, the computer readable media includes non-transitory memory devices. 
     In other embodiments, verification is operated by a third party, other than the check-in service, in order to enable multiple different check-in service providers to verify or access verified place information. 
     Thus, while there have been shown, described and pointed out, fundamental novel features of the invention as applied to the exemplary embodiments thereof, it will be understood that various omissions and substitutions and changes in the form and details of devices illustrated, and in their operation, may be made by those skilled in the art without departing from the spirit of the invention. Moreover, it is expressly intended that all combinations of those elements and/or method steps, which perform substantially the same function in substantially the same way to achieve the same results, are within the scope of the invention. Moreover, it should be recognized that structures and/or elements and/or method steps shown and/or described in connection with any disclosed form or embodiment of the invention may be incorporated in any other disclosed or described or suggested form or embodiment as a general matter of design choice. It is the intention, therefore, to be limited only as indicated by the scope of the claims appended hereto.