WO2013024279A1 - Context-awareness statistics on mobile devices - Google Patents

Context-awareness statistics on mobile devices Download PDF

Info

Publication number
WO2013024279A1
WO2013024279A1 PCT/GB2012/051974 GB2012051974W WO2013024279A1 WO 2013024279 A1 WO2013024279 A1 WO 2013024279A1 GB 2012051974 W GB2012051974 W GB 2012051974W WO 2013024279 A1 WO2013024279 A1 WO 2013024279A1
Authority
WO
WIPO (PCT)
Prior art keywords
poi
interest
context
mobile device
prediction
Prior art date
Application number
PCT/GB2012/051974
Other languages
French (fr)
Inventor
Ian Anderson
Michael Mccarthy
Original Assignee
Overlay Media Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Overlay Media Limited filed Critical Overlay Media Limited
Publication of WO2013024279A1 publication Critical patent/WO2013024279A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Abstract

A context of a mobile device is determined by: when the mobile device is stationary, determining that the mobile device is at a place of interest; inferring a semantic interpretation of the place of interest; and generating an output containing the inferred semantic interpretation. The semantic interpretation is inferred by considering historical data relating to times of day at which the mobile device has been located at the place of interest, and/or relating to days of the week on which the mobile device has been located at the place of interest. The semantic interpretation may be a home, or a primary workplace. The semantic interpretation is inferred by determining location coordinates of the place of interest; and selecting the semantic interpretation based on addresses corresponding to the location coordinates. An output is generated, in the form of a prediction of a place of interest that the mobile device will visit at a future time, based on historical data relating to a sequence in which places of interest are visited. The prediction has an associated confidence level. The output also includes a prediction of a length of time that the mobile device will remain at a place of interest.

Description

Context-Awareness Statistics on Mobile Devices
Field of the Invention
The present invention relates to methods, apparatus and programs for automatically assigning semantic interpretations of places of interest, transitions between these places of interest, and predictions of a persons movements between these places of interest, using data obtained from a mobile communication device, and to methods, apparatus and programs for creating identifiers that represent new places of interest, using data obtained from a mobile communication device.
Background to the Invention
In recent years the term Point of Interest, or POI as it is often abbreviated to, has become commonplace. A POI represents a location that has some relevance or interest to people. From the perspective of a person POIs represent everyday locations, for example, the home, the workplace, shops, and so on. A person visiting a POI would generally describe their location as being at the POI, e.g. "I'm at the bank" or "I'm at the coffee shop". Membership to a POI (being located at a POI) occurs when the person is within the boundaries of the POI, e.g. inside the coffee shop.
The term activity is used to describe a state of motion that a person is undertaking. Walking, running, cycling, driving, travelling on a train, remaining stationary are all examples of activities.
The activity being performed at the POI may vary over time. For example, consider a driver of a motor vehicle stopping at a fuelling station to fill up the fuel of their vehicle. The POI is the fuelling station and whilst the driver is within the boundaries of the fuelling station they can be considered to be at that POI. During their time at this POI it is likely that their current activity would transition through the following stages. Initially they would be standing still whilst the car is filled with fuel. Then they would walk to the service station assistant, remain stationary whilst paying for the fuel before walking back to their car. Therefore at the location of the POI the user will perform the following activities walk, remain stationary and driving (entering and leaving the forecourt). A visit to a coffee shop is likely to involve two activities, walking and queuing to pay for the coffee and sitting (remaining stationary) whilst consuming the coffee. All of these activities occur whilst the user is within the boundaries of the POI and the specific activities typically involve the user only moving at a slow speed or at times stationary.
Given that a person is typically stationary (or moving at a slow speed) whilst located at a POI we can use the state of activity to infer when the user is located at a POI. If the user is stationary they can be considered to be located at a POI.
For certain locations the POI qualification is obvious, e.g. a restaurant. Whereas for other locations the POI qualification may not be as clear, e.g. the driver of a car has stopped because there is a red traffic control signal. The person is stationary so by using activity information alone the person is considered to be at a POI. However a person is unlikely to consider that the traffic signal represented a point of interest. Therefore the amount of time the user is stationary and located at the POI can be used to identify POIs that are of greater significance to the individual, e.g. sleeping at home (the home POI).
The amount of time that the user is at a specific POI can also be used to determine the semantic interpretation of a POI, e.g. a person is unlikely to be located at their local shop for several hours. Time of day information can be used to further enhance the semantic interpretation of a POI. For example, if a person is regularly located at a POI between the hours of 11pm and 7am it is highly likely that the POI represents the persons home.
Time of day information can also be used to improve POI identification. If a person who regularly works from 9am to 5pm Monday to Friday is reported as having a position that is near the office but the time is 8pm in the evening then we can infer that the person is probably not at work.
Given that an activity state can be used to indicate that a person is located at a POI a moving activity state (e.g. travelling in a motor car) can be used to indicate that the user is not currently at a POI. This means that a person will always be in one of two states: located at a POI and not located at a POI. We can treat the second state as representing a transition between POIs. This is based upon the principle that the user is either at a POI or transitioning (travelling) to the next POI.
Given that a person must travel if they are to move between different POIs (transition from one POI to another). The method of travel provides an indication of the likelihood of transitioning to a particular POI. For example, the process of going to work, a transition from the Home (POI) to the Workplace (POI). This journey might regularly be completed by car whereas a visit from Home (POI) to a local shop (POI) may usually be completed by walking. Knowing that the person has just left home and is travelling in their car means that they are unlikely to be visiting the local shop.
Equally, being located in a specific POI may influence the next POI; the POI that the user will travel to next. For example, a person may only ever walk to the Pub; therefore if they are at the office they may drive home (POI) first before walking on to the local Pub.
Using the history of a persons' visits to POIs and transitions between POIs will enable predictions to be made of that persons' future intents. For example, it would be possible to estimate what time a person will get back from work (return to the Home POI) by looking at previous arrival times.
In summary, a person is considered at a POI when they are stationary (or moving at a slow speed within the boundary of the POI), if they are not stationary they are considered to be in a transition state (moving between POIs), information about the visit duration (time spent at a POI), time and day of visit can be used to infer the semantic interpretation of a POI, the transition history (movements between POIs that a person has performed) can be used to indicate the POI that a user is next likely to visit, the POI visit history and transition history can be used to make predictions about future intents.
In order to implement this behaviour on a mobile device a number of problems need to be solved. These include: how to recognise states of activity, how to create identifiers for POIs that can be used to recognise a return to a POI, how to make semantic interpretation of POIs, how to make predictions of future user intents. These problems need to be solved in consideration of the constraints of the mobile device e.g. a limited amount of battery power that restricts the amount of processing that can be performed.
We now describe the meaning of the term 'semantic interpretation'. Positioning systems return a coordinate that represents the position of the mobile device. This information is generally in the form of a Cartesian coordinate, for example in the case of GPS a coordinate based upon the WGS84 model of the earth. Whilst this information is useful it does not provide any indication of the meaning of the place from the perspective of an individual. That is, a coordinate cannot convey information such as 'this position is a person's home'. In this invention this issue is addressed by providing a semantic interpretation of a place (POI) from the perspective of the individual. The term 'semantic interpretation' refers to the process of attaching a meaning to a POI. The attached meaning is from the perspective of the individual. This means that a single position (POI) can potentially have multiple meanings to different individuals e.g. a coffee shop visited by one person may be a place of work for another. In this invention the semantic interpretation of a POI also includes statistical information relating to the relationship of the POI in the user's POI network. This includes statistics and data relating to POIs that connect to the POI, predictions of POIs that the user will visit in the future alongside generic information and data relating to other statistics/data that facilitates predictions of future user intents. This data and information is primarily based upon previous POI membership data.
We now provide a background overview of methods for inferring the current activity of the carrier of a mobile device and methods for determining the location of a mobile device.
Mode of travel when transitioning between POIs can be detected using sensors equipped to a mobile device. In this disclosure we discuss two methods for inferring the current activity of the carrier of a mobile device.
The first described method involves the use of velocity data obtained from a GPS receiver. This method maps velocity to activities for example, a high velocity - upwards of 25 miles per hour is likely to indicate that the carrier of the GPS receiver is travelling in a motor car. A low velocity such as between two and four miles an hour is likely to indicate that the carrier of the GPS receiver is walking. Patterson et al. (D. Patterson, L. Liao, D. Fox, and H. Kautz. Inferring highlevel behavior from low-level sensors. In UBICOMP 2003: The Fifth International Conference on Ubiquitous Computing., October 2003.) used a GPS receiver to distinguish between different modes of transport such as walking, driving or taking a bus. Data was collected over a three month period and daily patterns of behaviour were learnt using a graph-based Bayes filter. The mode of transportation was then estimated using a particle filter. This work supports a higher level prediction to be made regarding the purpose of a user's journey.
The second method for inferring the current state of the carrier of a mobile device uses accelerometer signal data. Movement (stationary or moving) can be inferred by analysing signal data collected from accelerometers. US 2006/0187847 (Cisco Technology, Inc) discloses a method for detecting the state of a mobile device using accelerometer signals. The Sensay project (D. P. Siewiorek, A. Smailagic, J. Furukawa, A. Krause, N. Moraveji, K. Reiger, J. Shaffer, and F. L. Wong. Sensay: A context-aware mobile phone. In 7th International Symposium on Wearable Computers, ISWC, pages 248-249. IEEE Computer Society, 2003.) used three accelerometers to capture the motion of the user. The accelerometers were fitted inside a sensor box that was taped to the user's abdomen. This was used to distinguish between states of low activity such as sitting, medium activity such as walking and high activity such as running. The MIThril project (The Context Aware Cell Phone Project, MIT. http://www.media.mit.edu/ wearables/mithril/phone.html/ March, 2006.) also used an accelerometer to distinguish between similar activities including cycling.
In summary, there are a number of techniques that can be used to recognise states of activity using sensors present on mobile devices. We now provide an overview of techniques used to recognise locations using sensors available of mobile devices.
The Global Positioning System (GPS) provides positional information in most environments that provides a clear view to the sky. This position is typically accurate to within 10 metres. GPS uses information sent from satellites orbiting the Earth to calculate position. This process of position determination requires visible satellites and uses trilateration. Each satellite transmits the time each message is sent. The receiver uses this to calculate the satellite's distance from the earth. Position determination is only possible if four or more satellites are visible. This means that GPS will fail in indoor environments and in dense urban environments (i.e. city centres where tall buildings create obstacles and cause signal reflections and refractions). A GPS receiver is expensive in terms of power consumption.
AGPS (Assisted GPS). AGPS was developed to address some of the limitations of GPS including the time-to-fix. This is achieved by the network (generally a cellular network) providing assistance to the GPS receiver. This can include one or more of the following: it can provide the almanac for the GPS satellites, precise time information, information about local conditions and that may affect the GPS signal.
Cell-ID based positioning. This is a beacon based method where the position of the wireless beacon, in this case a Cell-ID, is used to represent the user's position. The position of the wireless beacon is typically either the position of the RF antenna (the location of the BTS) or the radio centre of the beacon (where the radio signal is strongest). This position is typically represented as a coordinate e.g. a latitude/longitude pair. When the user's mobile phone is currently connected to a cell the user's current position is considered to be the position of that cell. Deploying a Cell-ID based positioning service requires a database of Cell-ID 's and associated positions. If this information is not available a radio survey must be conducted to determine the positions of the Cell-ID 's. The accuracy of this type of system is dependent upon the coverage area of the cells. If the coverage area is large the accuracy will typically be poor. As such, the accuracy of this type of positioning service is generally superior in densely populated city environments where cellular coverage is provided by a larger number of low powered micro cells when compared to rural environments cells generally coverage larger geographic regions.
An extension of the Cell-ID approach involves using more than one wireless beacon (more than one Cell-ID). This approach also requires a database of Cell-ID positions and is referred to as the Centroid approach. The centroid uses all visible Cell-ID 's (serving and neighbouring) to determine the position of the mobile phone. Position is calculated by averaging the position of each Cell-ID. Compared to fingerprinting the Centroid has the advantage of requiring less effort in training and calibration but it offers poorer performance in indoor environments. This is due to the increase in obstacles between the mobile phone and the cell towers.
The principles described in the Cell-ID techniques can also be applied using WiFi data. The coverage area of cell towers in rural environments is generally very large (tens of kilometres); using this as the basis for determining the user's position will typically result in a coarse position estimate. In contrast, short range beacons such as WiFi access points have a much smaller coverage area and provide a more accurate position.
Network based solutions. Network based approaches apply generic positioning techniques including Time Difference of Arrival (TDOA) and Angle of Arrival (AO A). In TDOA systems the mobile phone listens to signals sent from multiple base stations. Using knowledge of transmission time, arrival time and the positions of the base stations it is possible to infer the position of the mobile phone. Due to the requirement of synchronised transmission of base station signals this approach is not suitable for providing continuous positioning for a high number of users. In AOA systems the angle of arrival for a signal received from a mobile phone by a base station is used to determine the path that the phone is currently located on. Repeating this process with another base station enables position to be determined by calculating the intersection of the two lines. These methods are popular methods for determining the position of a mobile phone because they do not require explicit user interaction. The negative aspect of this approach is that it is generally considered expensive as a fee needs to be paid to the network operator for every location lookup request it unsuitable for many applications.
IP based. It is possible to make a very coarse estimate of the location of a mobile phone using the IP address assigned to the phone during an Internet session. The main negative to this approach is that the position may be very coarse (50km) and it will not be possible to determine location in all situations. User declared. This scenario involves the user stating to the mobile application where they are. This can be implemented either by allowing the user to centre a map or by providing them with the means to enter a location e.g. a postal code or address. This can also be used as a backup when other techniques fail.
Location Fingerprinting. This technique uses the WaveLAN NIC Signal Strength (SS) and the Signal-to-Noise Ratio (SNR) to determine the location of a user. It involves comparing signal strength levels recorded at a position with those stored in a radio map of the application environment. In order to deploy a location fingerprinting system, an offline calibration process must first be undertaken. The purpose of this procedure is to assess the behaviour of the RF signals in the given environment. This process requires the deployer of the system to record sample signal strength measurements throughout the application environment. Each of these samples, known as fingerprints, contains the signal strength levels for all visible RF beacons at that point in the environment. Fingerprints are then typically associated with an arbitrary coordinate representing the position where the RF samples making up the fingerprint were recorded. At runtime the position of an object is determined by comparing the received signal strength levels from visible RF beacons with those stored in the radio map that represents the environment. The position associated with the 'closest' matching fingerprint represents the current location of the object.
For further background we now describe the implementation of a system that automatically recognises places of interest (POIs). Our invention builds on this to provide automatic semantic interpretation of POIs, statistics relating to a person's membership to POIs, statistics relating to predicting a person's movements between the POIs in addition to other statistics and predictive based functionality. Summary of the Invention
This invention relates to a method for assigning a semantic interpretation to a place of interest. This method does not involve the use of GPS or other satellite positioning techniques, the method comprises: a. The time of day and duration are logged when the carrier of the mobile phone visits a POL
b. Transitions between POIs are logged.
c. After sufficient data has been collected POIs are assigned semantic interpretations by comparing visiting patterns with labelled training data.
This invention also relates to a method for predicting a person's movements between places of interest. Again this method does not involve the use of GPS or other satellite positioning techniques, the method comprises: a. The context events (POI arrive/leave, Activity start/stop) are logged.
b. After sufficient data has been collected statistics are produced relating to aspects such as POI transition frequency (given that a user is at POI X what is the likelihood that they will transition to POI Y) as well as other POI and Activity statistics.
This invention also relates to a method for providing context information to other applications via an API.
Brief Description of the Drawings Various embodiments of the invention will now be described with reference to the attached figures in which:
Figure 1 provides a simplified view of a GSM cellular network;
Figure 3 is a conceptual view of the data produced by the context service according to the first embodiment of the invention;
Figure 3 is a conceptual view of the data produced by the context service according to the first embodiment of the invention;
Figure 4 is a flow diagram of a method of operation of a context service according to the first embodiment of the invention; Figure 5 is a flow diagram of a method of operation of a context service according to the first embodiment of the invention;
Description of the Embodiments First Embodiment.
Figure 1 illustrates the general architecture of a Global Systems for Mobile Communication (GSM) network. In his figure the cellular phone 1 communicates with the Base Transceiver Station (BTS) 2 that provides the current serving cell 5a. A plurality of neighbouring cells 5b...5 g provide support for roaming. These neighbouring cells are managed by Base Transceiver Station's 3a...3f. In this embodiment the base transceiver stations 2 and 3a...3f are standard base transceiver stations for the Global System for Mobile Communications (GSM). GSM is well known and will not be described in further detail. In this embodiment we refer to the software running on the cellular phone 1 that contains the implementation of the automatic point of interest functionality described in the earlier Background of the Invention section as the 'context service'. We refer to the software running on the cellular phone 1 that contains the functionality described in this embodiment as the 'Stereotyping, Statistics and Prediction Service' abbreviated to SSP. SSP contains the functionality automatically assign semantic interpretations of POIs as well as other statistical and predictive functionality that is described in this embodiment. The primary purpose of SSP is to make contextual information available to other applications and services in order for them to behave in a context-aware manner
In this embodiment the context service running on the cellular phone 1 provides the core POI and Transition functionality including: recognising a person returning to previously visited POIs, automatically creating identifiers for new (previously unknown) POIs, identifying transitions between POIs. In addition to this the context service running on the cellular phone 1 will also record (persist to storage on the cellular phone 1) data relating to POIs, transitions and a person's movements throughout this POI network.
Figure 2 provides an illustration of a collection of POIs and transitions between those POIs. This is referred to as the POI network. As can be seen a POI network can be considered as a directed graph with nodes representing POIs and arcs representing transitions. In Figure 3 1, 2 and 3 represent POIs in the network. The arcs Tl, T2, T3 and T4 represent transitions between these POIs (nodes). The following example illustrates how this representation translates to a real world scenario. POI 1 may represent a persons' home. Transition Tl may represent the person driving to work. POI 2 may represent their office. Transition T2 may indicate them walking to a local restaurant (POI 3) to have some food at lunchtime. Transition T3 may represent the walk from the restaurant back to the office. Transition T4 may represent the drive from the office (POI 2) back to the home (POI 1).
As a person visits previously unknown POIs their POI network is extended and the transitions (arcs) that link the newly discovered POI with the previously departed POI are also added.
The POI network provides an overview of the POI topology. It does not provide a representation of a person's movement around the network, there is no notion of time, nor any indication of transition frequency or visit duration. This information is essential in the process of making semantic interpretations of POIs and producing statistics and providing other predictive functionality. To create this information SSP records context events that are generated by the context service. This includes the following: a person visiting a POI (arrival time and date, duration, departure time), transitions (departing from POI and arriving at POI, activities performed during the transition e.g. walking, driving etc., the time and date, duration). This information is referred to as the Historical data. The term 'POI membership' is used to describe the process of a person being located at a POI.
Figure 4 presents a state chart that describes the overall workflow of the context service. In Figure 4, 1 represents the transitioning between POIs state. When the user is detected as being stationary 2 they enter state 3 the stationary state. Whilst stationary 3 the context service samples wireless data to create a candidate identifier 4 that can be matched against existing POI identifiers 5. Once the context service has created the candidate identifier it is compared to existing POI identifiers 5. If there is a match 10 then the user is deemed to be located at a POI 10 and they will remain in the state until they leave the POI 11 , commencing a transition. If there were no matches then the user is deemed to have arrived at a new POI 6 and this new POI needs to be added to the user's POI network 7. Once the POI has been added the user is deemed to be located at the POI 9.
We now describe the process in this embodiment that is used to make semantic interpretations of POIs.
SSP compares a persons' POI membership against data that represents stereotypical POI membership for a given context. We refer to the data that represents stereotypical POI membership for a given context as Context Stereotype's. The Context Stereotype models the significance of a person being located at a POI during a particular time and/or day of the week. By comparing historical POI membership data it is possible for SSP to determine the likelihood of a given POI representing a specific Context Stereotype.
A Context Stereotype models stereotypical behaviour using a series of timeslots that represent a one week period. In this embodiment an individual timeslot represents a 15 minute interval. To cover the one week period 672 timeslots are used. Each timeslot is assigned two pieces of information: the significance of the timeslot from the perspective of the given context and secondly the appropriate membership value (true or false) to indicate whether the person should have POI membership or not during the timeslot. In this embodiment two Context Stereotype's are described. The first relates to the Home and the second to the Workplace. Each Context Stereotype reflects stereotypical behaviour for being located at the Home and Workplace.
From the perspective of the Home Context Stereotype and in this embodiment there is increased significance of POI membership during the hours of 11pm and 6am. That is, POI/POIs that the user was located in during these hours are considered more likely to represent the persons Home than those that they were not located in during these hours. In this embodiment the Workplace Context Stereotype places increased significance of POI membership during the hours of 8am and 6pm on weekdays.
SSP compares all POIs in the user's network against the Context Stereotype's. Every POI in the network is assigned scores that reflects how closely the POI matches the Context Stereotype's. These scores are calculated by comparing the POI membership data for a given time period (in this embodiment this is a 24 hour period) against the Context Stereotype's. The POIs whose membership matches the Context Stereotype's most closely will be assigned scores that reflect this. This process is repeated for every day that POI membership data exists (with an upper to a limit of 28 days.) This results in each POI having a score that reflects how closely it matches each Context Stereotype for each day that the POI membership data exists (up to the 28 day limit).
SSP records these scores. SSP also records the date and time that this process was last conducted. Before conducting the above process (scoring the POIs against the Context Stereotypes) SSP compares the current date and time with the last processed date and time. Only dates where new POI membership data is available are processed.
In addition to the individual daily scores SSP also maintains scores against Context Stereotypes that are based upon summaries of the daily POI Context Stereotype scores. In this embodiment these summary scores reflect the mean POI Context Stereotype scores as determined using all available POI membership data. These summary scores provide a more accurate indication of which POIs are likely to match given Context Stereotype's than compared to scores based upon a single day of POI membership data. For example, in consideration of the Context Stereotype that represents the home, if the person spent a night in a hotel then if only this, single day of data were to be considered then the POI that presented the hotel would be considered to represent the persons' home.
In this embodiment score for each POI are calculated for separately for each day of the week. It will be apparent to those skilled in the art that alternate time periods could be used and that a greater or lesser number of days can be used to derive summary scores. In addition it will be apparent to those skilled in the art that different techniques could be used to determine the POI Context Stereotype summary scores e.g. placing a greater significance on recent dates.
The POI Context Stereotype summary scores are the semantic interpretation of the POIs.
The reliability of the POI Context Stereotype summary scores are heavily influenced by the amount of historical POI membership data. If only a limited amount of data is available e.g. a single day, then the scoring process may be skewed by the person performing behaviour that is not normal (from the perspective of their typical daily routine). For example, considering a person who regular worked in an office had all-day meetings that required them to travel to a different part of the country. If only the POI membership data for this day was considered then the score against the Workplace POI Context Stereotype would not indicate their primary workplace. There is therefore a need to communicate this type of information to other applications/devices that may need to use this data in order to provide context aware behaviour. Confidence in the POI Context Stereotype summary scores is influenced by the amount of POI membership data that was used in the scoring process. In this embodiment the confidence scores are calculated as a percentage that reflects the amount of POI membership data that is available. A full 28 days worth of data will result in a score of 100% (1) whereas a single 24-hour period of data would result in a score of 1/28 (0.04 to two decimal places).
In this embodiment SSP uses the Home and Workplace Context Stereotype's to split POIs into three groups: Home, Workplace and Other. In order to create these clusters of POIS and in this embodiment SSP uses the following process.
The first stage in this process is determining the seeds for each cluster. That is, the individual POIs that most closely represent the POI Context Stereotype's. Each POI is provided with a POI Context Stereotype summary score that reflects how closely the POI matches the Context Stereotype. SSP uses the POIs with the highest scores for each Context Stereotype to act as seeds for the clusters. The second stage involves the use of the POI network. All POIs arriving at or departing from the seed POI whose average transition times do not exceed a given time interval and the methods of travel during the transition do not involve fast moving states such as driving or travelling on a train are added to the cluster. In this embodiment the time period used to filter POIs arriving at or departing from the seed POI is one minute. It will be apparent to those skilled in the art that different time periods could be used instead. The final stage of populating the cluster involves the use of the individual POI Context Stereotype summary scores. A threshold is used as a final criteria test for adding POIs to clusters. All POIs that are not already in either the Home or Workplace clusters are tested against the cluster threshold for each Context Stereotype. Those that are within the threshold are added to the appropriate cluster. All remaining POIs are added to the Other cluster. The cluster threshold's that are used in the above process are calculated using an offline process that involves analysing data labelled with ground truth information. This enables POIs to be manually assigned into the three clusters and an appropriate cluster threshold level to be determined.
The POI network topology includes links between POIs (transitions). SSP can use transition information to identify the POI that an individual is next likely to visit. In this simplest form in this embodiment this can be completed using the POI network topology to identify POIs that connect to the POI that the currently located in. A person is likely to visit one of those connecting POIs. This is influenced by the length of time that the Context Service has been running. If it has only been running for a limited amount e.g. a single day then it is highly likely that there are POIs that a user will regularly visit in the future that are not yet present in their POI network (undiscovered POIs).
It is important to note that in practice the process of transitioning between two POIs may involve more than one type of activity. For example, a person may walk to collect their car before driving home. Although the car is stationary when the person gets in there may a slight period of latency when detecting the stationary state hence the car park may not be represented as a separate POI. The context service stores detailed information about transitions that includes information relating to the different activities that the user undertook during the transition, the duration of the transition, the time and date of the transition. For each POI the context service also maintains a list of POIs that arrive at the POI and those that the POI departs to. When a person is in one particular POI, considering just the POIs that connect to that current POI results in them being assigned an equal likelihood of representing the next POI that a person will visit. . Clearly this does not reflect real world behaviour. For example, a person may regularly travel from their home (POI) to their workplace (POI) but only on rare occasions do they travel from their home (POI) to a local coffee shop (POI). Both the workplace (POI) and the coffee shop (POI) connect to the home (POI) however the person is far more likely to be heading to the workplace than the coffee shop. In order to implement this behaviour SSP uses historical POI membership data. This historical POI membership data includes transition information. This information includes the identities of the departing from POI and arriving at POI, the activities performed during the transition e.g. walking, driving etc., the time, date, and duration of the transition. SSP uses all available historical POI membership data to determine transition frequencies (the amount of times that transitions have occurred).
Aside from transition frequencies the probability of a person transitioning from the current POI to another is also influenced by other factors. For example, a person leaving their home at 8am on a Monday morning is more likely to be headed to work than if they were leaving their home at 8pm on a Monday evening. SSP models this behaviour by calculating additional probability distributions that take into account Day-Of-Week and Time-Of-Day information. The task of calculating these additional probability distributions involves SSP processing all available historical POI membership data.
As previously discussed the primary purpose of SSP is to make contextual information available (via an API) to other applications and services in order for them to behave in a context-aware manner. As such the above information relating to transitions between POIs is made available via this API. This information can be considered static, it is calculated based upon predetermined parameters, e.g. if the user is at this POI, this is the day-of-the- week, this is the current time etc. therefore the user is likely to be transitioning to a specific POI. SSP also makes available dynamic information relating to transitions via the API. In this embodiment this relates to updating the prediction for the POI that the user will transition to. In order to do this SSP uses information obtained at runtime, during the transition. For example, if a POI connects to two other POIs (according to the user's POI network), and one is reached by walking and the other by driving then knowledge that the user is driving can be used to infer that the user is more likely to be transitioning to the POI reached by driving. Further to this, if a POI connects to two other POIs (according to the user's POI network), and both are reached by driving (activity) but one of them takes 15 minutes to drive to and the other 45 minutes to drive to then SSP can infer that is the user has been driving for greater than 20 minutes then it is more likely that they are heading to the POI that is further away (45 minute drive). In this embodiment applications and services can subscribe to be notified of dynamic updates to the prediction of the next POI that will be visited.
Every POI in the user's POI network stores the probability of transitioning to other connecting POIs in a transition matrix.
In this embodiment SSP processes the historical POI membership data to make predictions relating to when a person will return to specific POIs. This behaviour is learnt by extracting POI arrival times (when a person arrives at a POI) from the POI membership data. POI arrival times are influenced by a number of factors e.g. the day of the week, the time of the day etc. In order to support this SSP extracts POI arrival times alongside additional information such as the day of week. SSP then calculates the distribution of arrival times for each day of the week and the overall averages for weekdays and non weekdays. The API that SSP provides in order for applications and services to behave in a context aware manner allows queries to be made relating to predicted POI return times. This API allows the applications and services to provide additional information that can be factored into the calculation process e.g. the current time, the day of the week, current POI etc. SSP filters irrelevant information (e.g. historical POI membership data that is not relevant given the specified day of the week) and returns a prediction of the POI arrival time. SSP uses the current time to filter out irrelevant earlier arrival times. For example, if a person typically visited a specific POI twice a day, one in the morning and once later in the evening then if the current time is lunchtime the evening POI arrival time is relevant but the morning POI arrival times are not. Knowledge of the current POI is used in a similar manner. If the user is, in terms of the POI network, far away (e.g. multiple transitions need to occur before the person will transition to the target POI), then SSP factors this in to account adjusting the predicted arrival time. The process SSP uses to calculate how a person will move through the POI network is discussed in more detail below.
In this embodiment SSP also processes the historical POI membership data to make predictions relating to the amount of time that a person is likely to spend at a given POI (visit duration). The visit durations are learnt by SSP first extracting all of the POI visit durations from the POI membership data. As with the process used to predict POI arrival times SSP breaks down the visit durations based on a number of factors including the time of day, day of week etc. Visit durations are stored in the following way: overall average visit durations (in addition to the average duration distributions are also calculated and stored e.g. 50% of the time the duration was 10 minutes or less, 25% of the time the duration was between 10 and 30 minutes, etc.), average visit durations linked to arrival times (for example, between 15:00 and 15:59 the average visit durations might be 30 minutes, whereas between 18:00 and 18:59 the average visit duration might be 10 minutes). In addition to using the start times to influence the prediction of visit duration the day of week and weekday/non-weekday are also used by SSP. SSP makes this information (visit duration predictions) available via the API provided to applications and services seeking to behave in a context aware manner.
SSP extends the above functionality relating to predicting visit durations to providing predictions as to when a person will leave a given POL SSP does this using a POI arrival time and the predicted visit duration. As before this functionality takes into account additional information that may influence when a person may leave a given POI e.g. time of day, day of week, weekday/non- weekday. As with visit duration predictions the current time and amount of time spent at the POI can be used to improve the prediction of POI departure times. SSP makes this information (predictions of POI departure times) available via the API provided to applications and services seeking to behave in a context aware manner.
In this embodiment SSP processes the historical POI membership data to make predictions relating to how a user will move through a POI network. This is referred to as the path through the network. Via the API SSP enables applications and service to make queries relating to predictions about a person's future movements and location. For example, where will the person be at 3pm on Sunday? SSP uses historical POI membership data to implement this predictive functionality. Paths through the POI network are predicted as follows. Firstly the starting point and target endpoint are defined. The starting point is generally a POI (at runtime this would be the current POI) and a time of day and day of week. The target endpoint is normally a time on a given date. In this embodiment the target endpoint can also be a POI, e.g. given that the user is located at POI X and given a time/day when will the user reach POI Y? With the starting point and the target endpoint defined SSP can then calculate the prediction using the available historical POI membership data.
Path prediction requests that have POIs for end points are calculated in the following way. First the path from the starting POI to the end point POI is calculated. If multiple paths are available then each path is scored using the transition matrix associated with every POI (the probabilities of transitioning to other connecting POIs). This type of scenario can be illustrated using Figure 3. Assuming POI 1 as the start point and POI 3 as the end point then there are two paths between the POIs (1 and 3). The first path (Path 1) involves transitions Tl and T2 (via POI 2). The second path (Path 2) involves transitions T5 and T6 (via POI 4). The probability Path 1 occurring is the probability of transitioning from POI 1 to POI 2 multiplied by the probability of transitioning from POI 2 to POI 3. The probability Path 2 occurring is the probability of transitioning from POI 1 to POI 4 multiplied by the probability of transitioning from POI 4 to POI 3. SSP orders paths based upon the probability of the path occurring in the process of the user moving from the starting POI to the end point POI. The next stage involves the use of the previously calculated POI arrival times and visit durations. Beginning at the starting POI SSP moves across the path substituting arrival times, visit duration and transition information. To illustrate this process we continue the earlier example involving Figure 3 and Path 1. Assuming a start time of 08:00 with an expected visit duration of 30 minutes for POI 1 we now move across Path 1. Tl is expected to commence at 08:30, assuming that Tl takes on average 15 minutes to complete the user is then expected to arrive at POI 2 at 08:45. Assuming an expected visit duration of 60 minutes at POI 2 then T2 is expected to commence at 09:45. Assuming that T2 takes on average 30 minutes to complete results in the user expecting to arrive at POI 3 at 10: 15. Running the process for Path 2 may result in a different predicted arrival time due to different transition times (e.g. T5 and T6) and different visit duration times (e.g. POI 4).
SSP provides results to prediction queries via the API that are ordered via the probability of specific paths occurring.
Path prediction requests that have times/dates for end points are calculated in the following way. Path predictions that have time/date values for end points are complex from the perspective that there is no network endpoint (no target POI). Instead the prediction needs to follow time along the most likely path through a network until the target time is reached. In order to do this SSP first uses the transition matrix associated with the starting POI to determine the next most likely POI's that the person will transition to. The predicted visit duration for the starting POI is added on to the specified starting time. If this value is less than the specified end time then SSP starts one or more paths that represent the next likely transitions that the user may undertake. The anticipated transition times are then compared against the specified end time. If the specified end time is less than the time it would take to perform a transition then the prediction returns the path leading up to and including the transition that the user would be in whilst the end time passes (if more than one transition is possible then a list of potential paths ordered by probability is returned). If the transitions can complete before the specified end time then the visit durations of the POIs that the transitions connect to are then compared against the end time. As before if the end time is less than the predicted visit duration then the path leading up to and including the arrival at the POI is return as the predicted path (if more than one exists then a list ordered by probability is returned). This process is repeated until the end time is reached. This structure can be considered as a tree with branches (paths) spanning from the trunk (starting POI and time). The further the end time is into the future the greater the potential number of branches and the greater the computation involved in making the prediction. This also has the effect of reducing the confidence associated with the prediction. As such SSP limits the end time to being within 24 hours of the current time.
Path prediction requests that have times/dates for end points that are further than 24 hours in advance are handled using a different approach than that previously described. The reason for adopting an alternate approach for predictions that are further into the future relates to the fact that errors accumulate when predicting movement (paths) through POI networks. Over longer periods the prediction is unlikely to be useful. Instead of a path a prediction is made regarding the likely location of the user at a given time. This is made using the historical POI membership data. The end time is used to filter the historical POI membership data. Only data that is relevant for the specific day of the week (or weekday/non- weekday is used) and within one hour either side of the target time (in this embodiment a one hour period is used but other values could be substituted). SSP then calculates the probability of the POIs/transitions that the person will have membership to at this given time. The probability calculation is based on frequency and is limited to the amount of POI membership data that is available. The predicted POIs (or transitions) that the person will have membership to at the specified end time will be returned alongside the probabilities associated with these predictions. It is important to note and will be apparent to those skilled in the art that the performance of this type of predictive functionality will largely be influenced by two factors: the amount of POI membership data (training data) available and the user's behaviour (does the user have regular and repeatable pattern of behaviour). Given this certain predictions can be made with a greater level of confidence than others. This is communicated to applications and services that use the API by supplying a confidence level alongside the prediction.
SSP periodically processes new POI membership data to update the Context Stereotype scores that POIs are assigned alongside other information that the API provided by SSP requires (e.g. visit duration predictions, predicted POI arrival time etc). In this embodiment this process either runs on twelve hourly intervals or when the device is detected as being connected to a power source. The primary advantage of listening for a connection to a power source to perform this more intense processing is that the battery charge will be extended (no computationally expensive code whilst powered by the battery). SSP stores the date and time when this process was last executed and only data collected after this time is processed during the next execution. Figure 5 illustrates the workflow of this process.
As discussed earlier in the description of this embodiment the primary purpose of SSP is to provide an API to applications and services in order for them to behave in a context-aware manner. It will be apparent to those skilled in the art that an API that provides contextual information offers a method for avoiding resource duplication. Instead of multiple applications running equivalent context sensing techniques the single service can manage sensors, context sensing services (POI, activity recognition etc) in the most power efficient manner possible. This API provides all of the features and information described in this embodiment alongside confidence values that indicate the certainty that the SSP process has in those values.
The API does this in two different ways. Firstly context state changes are broadcast to all applications and services that have subscribed to receive notifications about context stage changes. The broadcasts include information such as current activity being performed or the current context that the user is located in (Home, Work, Other etc). The second method that SSP supports applications is via an API that can be queried. This API is primarily used to making statistical and predictive requests.
Second Embodiment
A second embodiment will now be described in which stereotypes are automatically updated to reflect the behaviour of the individual. The remaining features of the second embodiment are the same as for the first embodiment. In the description of the first embodiment Context Stereotypes were introduced and described. In the first embodiment the Context Stereotypes were applied in the same manner for all users. All people were assumed to work during the day and be at home during the evening. Whilst this may be true for the majority of people there will be a large number of people whose behaviour does not mirror these stereotypes. Further to this certain people may work in the day but start later or earlier than that expected by the Context Stereotypes. In this embodiment these issues are addressed by automatically learning and updating the Context Stereotypes to reflect the user's behaviour; Personalised Context Stereotypes.
The process for personalising Context Stereotypes is as follows. SSP starts by comparing the historical POI membership data against the Context Stereotypes in the manner described in the first embodiment. This involves using the Context Stereotypes in their standard form, without any modifications. If the persons behaviour generally mirrors that described in the Context Stereotypes then there will be clearly grouped POIs that score relatively highly when compared to the Context Stereotypes. If this process does not cleanly split the POIs (into POI groups that reflect the Context Stereotypes) or the scores against the Context Stereotypes are low (e.g. no clear POIs that represent specific stereotypes) then the Context Stereotypes need to be personalised for the user in order form them to be effective. The next stage in this process is to determine the most appropriate approaches to personalising the Context Stereotypes for the person. Context Stereotypes can be personalised in a number of ways but the most effective is to adjust the start and end times of the active (significant) part of the Context Stereotypes. This is achieved by adjusting the significance values of specific timeslots in the Context Stereotype. In this embodiment this is achieved by analysing the historical POI membership data. Firstly the POIs who score highest against the Context Stereotypes (those that most closely match the Context Stereotypes) are identified. The second stage involves using the historical data to identify the starting times for when the user had membership to these high scoring POIs and the visit duration. For example, if the user regularly transitioned to a specific POI at 7am and remained in this POI until 3pm then the Context Stereotype that reflects the workplace needs to provide increased significance during this time as opposed to a slightly later start and end time. Further to this if a person worked a shorter day then the end time (overall duration) needs to be adjusted.
Once the appropriate start and end times have been established for a given Context Stereotype the next stage is to adjust the significance of specific timeslots. SSP does by creating a new Context Stereotype that reflects these values (timeslots). The historical POI membership data is then scored against the new Context Stereotype's. This will result in clearly grouped POIs that score relatively highly when compared to the Context Stereotypes.
If after adjusting the significance of specific timeslots in the Context Stereotypes there is no still no convergence on a solution (no clearly grouped POIs that score relatively highly when compared to the Context Stereotype's), then the user is deemed to not have stereotypical behaviour that can be sensed by SSP using this approach (no repeating patterns). Instead an alternate technique is used. In practice this typically only occurs with the Workplace Context Stereotypes and for people who travel around a lot e.g. delivery drivers (people who do not spend a lot of time in any one place). This is referred to as the Delivery Driver Problem.
To address the issue of a Delivery Driver Problem historical POI membership data is processed to remove all data that relates to other contexts e.g. the Home Context Stereotype. The remaining data is then processed to look for patterns, (e.g. common POIs), repeatable behaviour. In the real world this may be the delivery driver arriving at a depot (POI) at the start of the work shift and returning to the depot (POI) at the end of the shift. In this situation SSP can use visits to these POIs as indicators of starting and ending work (membership to the Workplace Context Stereotype). Other changes to Context Stereotypes involve adjusting active
(significant) timeslots in the on specific days of the week, e.g. working late on a Tuesday evening.
Another problem that SSP handles is referred to as the Night Worker problem. This relates to a person who regularly works night shifts. In practice a person that works night shifts typically mirrors the opposite behaviour of a person that works in the day e.g. when the day worker is at home the night worker is at work. This means that the process of comparing the historical POI membership data against the Context Stereotype's may result in clearly grouped POIs that score relatively highly when compared to the Context Stereotype's. But the POIs who score highly against the Home and Workplace Context Stereotypes may actually be the opposite groups.
SSP addresses this issue in two ways. SSP can compare activities that were performed (from the POI membership data) during the significant timeslots of Context Stereotype's. SSP can also use the scores of POIs when compared to the Context Stereotypes.
Comparing to the Home Context Stereotype typically results in a single POI scoring very highly and a few other POIs scoring moderately. This is because a person's home generally consists of a low number of POIs e.g. typically at most, one per room. People generally leave their phone in a single place whilst they sleep e.g. they plug the phone in to charge over night. The POI that represents where the phone is kept overnight generally scores very highly against the Home Context Stereotype. Other POIs may represent the living room, kitchen etc. these POIs score generally score moderately, reflecting the POI membership in the early evening (e.g. watching television in the living room), or having breakfast in the morning. If SSP detects that this is not true for the Home Context Stereotype but it is true for the Workplace Context Stereotype then it is highly likely that the person works in the night-time as opposed to the daytime. For further validation SSP uses activity data. If the POI membership data indicates that a person is regularly moving e.g. driving during the night-time and has overly extended periods of stationary activity during the daytime then this provides SSP with further validation that the person works nights as opposed and that the Context Stereotypes should be switched and then personalised to reflect the person.
Once SSP has established the POIs that relate to each Context Stereotype (using the processed described in both the first and this embodiment) SSP can use membership to these POIs to indicate membership to the contexts (e.g. Home, Workplace). That is, when a user visits a POI in one of these groups then they will be deemed to have membership to that context. Third Embodiment
A third embodiment will now be described in which the wireless beacon data used to create the POI identifier is passed to a location service in order to determine the position of the POI in a Cartesian coordinate system. This position is then used as an input to a Place Database. The place/s returned by the Place Database are then used in the process of inferring the semantic interpretation of the POI. The remaining features of the third embodiment are the same as for the first embodiment. Beacon-based positioning typically use radio beacon information such as Cell-ID and WiFi access points to determine position. The process is based on the following assumption: if a beacon appears in a scan of wireless data then we can infer that the mobile device is near the beacon. The accuracy of this type of system is based upon the range of the wireless signals. If a Cell- ID (RF beacon) can be seen from a distance of ten miles then the accuracy of a beacon-based system will be a twenty-mile radius around the beacon. In contrast, short-range beacons such as WiFi access points have a much smaller coverage area and provide a more accurate position. To determine position using wireless beacons (calculate the position of a POI) requires the use of a reference database (list of positions of the wireless beacons). The ID's (Cell-ID 's and MAC addresses) of the wireless beacons that appear in a radio scan are passed to the location service. The location service looks up the ID's in the reference database. The positions that are associated with the ID's are fused (e.g. an average value calculated) and returned to the requester as their position.
In this embodiment the wireless beacon data (beacon ID's and signal strength values) are passed to a beacon based positioning service. The position returned by the positioning service is deemed to be the position (coordinate) of the POI. A Place Database is a list of places that are associated with positions and information about a place e.g. the type of place (restaurant, bar, shop etc). An example of a Place Database is Google Places.
In this embodiment once the position (coordinate) of the POI has been determined the position is used as an input to the Place Database. The Place Database returns a list of one or more places that are at/near that position. The SSP service can then use this information to infer the meaning of the POI. From the perspective of SSP the type of place (e.g. restaurant) is used to indicate the semantic interpretation of the POI. If multiple places types are returned from the Place Database query then in certain cases the POI membership data is used to filter the list. For example, if two place types were returned, a shop and a restaurant. If the person was located at the POI for an hour the POI type (semantic interpretation) will be deemed to be that of a restaurant as opposed to a shop (a person is more likely to spend one hour in a restaurant than a shop).
Fourth Embodiment
A fourth embodiment will now be described in which POI membership data is uploaded to a server (e.g. pushed to the Cloud) as opposed to being kept locally on the mobile device as described in the first embodiment. The remaining features of the fourth embodiment are the same as for the first embodiment.
In this embodiment the POI membership data is uploaded to a Cloud service as soon as the data is over four weeks old. This means that the most recent four weeks is stored on the device and all POI membership data older than this time period is stored on the Cloud. It will be apparent to those skilled in the art that the data that resides on the cloud could be processed to perform additional analysis. It will also be apparent that the point that data is uploaded can be varied without departing from the scope of the invention e.g. upload data after it is a week old as opposed to four weeks old.
Modifications
A particular advantage of the invention described in the above embodiments is that power consumption is minimised. Turning off the power to a GPS receiver module when it is not needed results in the more efficient use of stored power. This extends the time duration before the battery needs to be recharged. It will be apparent to those skilled in the art that the behaviour of the controller could be optimised to suit other scenarios. For example, if the controller uses the clock on the cellular phone 1 and ascertains that it is night time then the controller could even minimise the use of CSF, perhaps running it every ten minutes to confirm the cellular phone 1 is still not moving. Other profile changes may be based upon whether the cellular phone 1 is being held in the users hand, whether the cellular phone is inside or outside, whether it is currently at the users home or at their office.
Although the embodiments described above relate to a GSM network, the 'handoff behaviour (or 'handover' behaviour, as it is also known) exists in all cellular networks due to the need to reuse frequencies. Hence this invention will work with CDMA, UMTS and other types of cellular networks.
It will be apparent to those skilled in the relevant art that the methods described above can be implemented as software programs configured to cause a processor or processor system to implement the method. For example, the methods may be implemented as software applications to be installed and run on a cell phone. Equally, the methods may be implemented in hardware, in firmware loaded onto a device such as a Read-Only Memory, or on a specially configured IC, such as an ASIC.
Although the invention has been described above with reference to one or more preferred embodiments, it will be appreciated that various changes or modifications may be made without departing from the scope of the invention.

Claims

1. A method of determining a context of a mobile device, the method comprising: when the mobile device is stationary, determining that the mobile device is at a place of interest;
inferring a semantic interpretation of the place of interest; and
generating an output containing the inferred semantic interpretation.
2. A method as claimed in claim 1, wherein the step of inferring the semantic interpretation comprises considering historical data relating to times of day at which the mobile device has been located at the place of interest.
3. A method as claimed in claim 1 or 2, wherein the step of inferring the semantic interpretation comprises considering historical data relating to days of the week on which the mobile device has been located at the place of interest.
4. A method as claimed in any preceding claim, wherein the step of inferring the semantic interpretation comprises selecting a semantic interpretation from a list of available semantic interpretations, wherein the available semantic interpretations comprise: a home.
5. A method as claimed in any preceding claim, wherein the step of inferring the semantic interpretation comprises selecting a semantic interpretation from a list of available semantic interpretations, wherein the available semantic interpretations comprise: a primary workplace.
6. A method as claimed in any preceding claim, wherein the step of inferring the semantic interpretation comprises:
determining location coordinates of the place of interest; and
selecting the semantic interpretation based on addresses corresponding to the location coordinates.
7. A method as claimed in claim 6, wherein the step of selecting the semantic interpretation comprises:
referring to a database to determine at least one type of place present at the location coordinates; and
selecting the semantic interpretation based on the or each type of place present at the location coordinates.
8. A method as claimed in any preceding claim, further comprising:
creating a network, comprising places of interest linked by transitions.
9. A method as claimed in claim 8, wherein the network includes information relating to at least one mode of travel for each transition.
10. A method as claimed in any preceding claim, further comprising:
generating an output comprising a prediction of a place of interest that the mobile device will visit at a future time.
11. A method as claimed in claim 10, wherein the step of generating the output comprising the prediction comprises:
forming the prediction of the place of interest that the mobile device will visit at a future time, based on historical data.
12. A method as claimed in claim 11, wherein the historical data comprise historical data relating to a sequence in which places of interest are visited.
13. A method as claimed in claim 11 or 12, wherein the historical data comprise historical data relating to times of day at which places of interest are visited.
14. A method as claimed in claim 11, 12 or 13, wherein the historical data comprise historical data relating to days of the week at which places of interest are visited.
15. A method as claimed in any of claims 11 to 14, wherein the historical data comprise historical data relating to modes of travel by which a mobile device moves between places of interest.
16. A method as claimed in any of claims 10 to 15, wherein the step of generating the output comprising the prediction comprises:
including a confidence level associated with the prediction.
17. A method as claimed in any of claims 1 to 9, further comprising:
generating an output comprising a prediction of a length of time that the mobile device will remain at a place of interest.
18. A method as claimed in claim 17, wherein the step of generating the output comprising the prediction comprises:
forming the prediction of the length of time that the mobile device will remain at the place of interest, based on historical data.
19. A method as claimed in claim 18, comprising forming the prediction based on a time of day.
20. A method as claimed in claim 18 or 19, comprising forming the prediction based on a day of the week.
21. A method as claimed in any of claims 17 to 20, wherein the step of generating the output comprising the prediction comprises:
including a confidence level associated with the prediction.
22. A method as claimed in any preceding claim, wherein the step of generating an output containing the inferred semantic interpretation comprises generating the output by means of an application programming interface (API).
23. A mobile device, being adapted to determine its context by means of a method according to any of claims 1 to 22.
24. A computer software product, comprising computer readable code, containing instructions for causing a device to determine a context of a mobile device by means a method according to any of claims 1 to 22.
PCT/GB2012/051974 2011-08-12 2012-08-13 Context-awareness statistics on mobile devices WO2013024279A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB1113921.9A GB201113921D0 (en) 2011-08-12 2011-08-12 Context-awareness statistics on mobile devices
GB1113921.9 2011-08-12

Publications (1)

Publication Number Publication Date
WO2013024279A1 true WO2013024279A1 (en) 2013-02-21

Family

ID=44764421

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2012/051974 WO2013024279A1 (en) 2011-08-12 2012-08-13 Context-awareness statistics on mobile devices

Country Status (2)

Country Link
GB (1) GB201113921D0 (en)
WO (1) WO2013024279A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105284144A (en) * 2013-06-07 2016-01-27 苹果公司 Modeling significant locations
CN105451178A (en) * 2015-12-22 2016-03-30 魅族科技(中国)有限公司 Method and device for sending message
US20160357539A1 (en) * 2015-06-05 2016-12-08 Apple Inc. Device context monitoring
US9654977B2 (en) 2012-11-16 2017-05-16 Visa International Service Association Contextualized access control
US9778345B2 (en) 2013-09-06 2017-10-03 Apple Inc. Providing transit information
US10178200B2 (en) 2014-05-30 2019-01-08 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
US11363405B2 (en) 2014-05-30 2022-06-14 Apple Inc. Determining a significant user location for providing location-based services
US11368457B2 (en) 2018-02-20 2022-06-21 Visa International Service Association Dynamic learning system for intelligent authentication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060187847A1 (en) 2005-02-05 2006-08-24 Cisco Technology, Inc Techniques for determining communication state using accelerometer data
US20090315766A1 (en) * 2008-06-19 2009-12-24 Microsoft Corporation Source switching for devices supporting dynamic direction information
US20110054780A1 (en) * 2009-08-27 2011-03-03 Palm, Inc. Location tracking for mobile computing device
US20110099046A1 (en) * 2009-10-23 2011-04-28 Cadio, Inc. Analyzing consumer behavior using electronically-captured consumer location data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060187847A1 (en) 2005-02-05 2006-08-24 Cisco Technology, Inc Techniques for determining communication state using accelerometer data
US20090315766A1 (en) * 2008-06-19 2009-12-24 Microsoft Corporation Source switching for devices supporting dynamic direction information
US20110054780A1 (en) * 2009-08-27 2011-03-03 Palm, Inc. Location tracking for mobile computing device
US20110099046A1 (en) * 2009-10-23 2011-04-28 Cadio, Inc. Analyzing consumer behavior using electronically-captured consumer location data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"The Context Aware Cell Phone Project", March 2006, MIT
D. P. SIEWIOREK; A. SMAILAGIC; J. FURUKAWA; A. KRAUSE; N. MORAVEJI; K. REIGER; J. SHAFFER; F. L. WONG: "ISWC", 2003, IEEE COMPUTER SOCIETY, article "Sensay: A context-aware mobile phone. In 7th International Symposium on Wearable Computers", pages: 248 - 249
D. PATTERSON; L. LIAO; D. FOX; H. KAUTZ.: "Inferring highlevel behavior from low-level sensors", UBICOMP 2003: THE FIFTH INTERNATIONAL CONFERENCE ON UBIQUITOUS COMPUTING., October 2003 (2003-10-01)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9654977B2 (en) 2012-11-16 2017-05-16 Visa International Service Association Contextualized access control
US9807565B2 (en) 2013-06-07 2017-10-31 Apple Inc. Predictive user assistance
CN105284144A (en) * 2013-06-07 2016-01-27 苹果公司 Modeling significant locations
CN105284144B (en) * 2013-06-07 2019-04-23 苹果公司 Significant position is modeled
EP3005780A4 (en) * 2013-06-07 2017-02-15 Apple Inc. Modeling significant locations
AU2014275203B2 (en) * 2013-06-07 2017-08-24 Apple Inc. Modeling significant locations
US10111042B2 (en) 2013-06-07 2018-10-23 Apple Inc. Modeling significant locations
US10936358B2 (en) 2013-06-09 2021-03-02 Apple Inc. Initiating background updates based on user activity
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
US9778345B2 (en) 2013-09-06 2017-10-03 Apple Inc. Providing transit information
US11385318B2 (en) 2013-09-06 2022-07-12 Apple Inc. Providing transit information
US10209341B2 (en) 2013-09-06 2019-02-19 Apple Inc. Providing transit information
US11363405B2 (en) 2014-05-30 2022-06-14 Apple Inc. Determining a significant user location for providing location-based services
US10178200B2 (en) 2014-05-30 2019-01-08 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US11716589B2 (en) 2014-05-30 2023-08-01 Apple Inc. Determining a significant user location for providing location-based services
US10554786B2 (en) 2014-05-30 2020-02-04 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US10594835B2 (en) 2015-06-05 2020-03-17 Apple Inc. Efficient context monitoring
US10841401B2 (en) 2015-06-05 2020-11-17 Apple Inc. Context prediction
US10986211B2 (en) 2015-06-05 2021-04-20 Apple Inc. Efficient context monitoring
US9942355B2 (en) * 2015-06-05 2018-04-10 Apple Inc. Device context monitoring
US20160357539A1 (en) * 2015-06-05 2016-12-08 Apple Inc. Device context monitoring
US11683396B2 (en) 2015-06-05 2023-06-20 Apple Inc. Efficient context monitoring
US10491708B2 (en) 2015-06-05 2019-11-26 Apple Inc. Context notifications
CN105451178A (en) * 2015-12-22 2016-03-30 魅族科技(中国)有限公司 Method and device for sending message
US11368457B2 (en) 2018-02-20 2022-06-21 Visa International Service Association Dynamic learning system for intelligent authentication
US11811761B2 (en) 2018-02-20 2023-11-07 Visa International Service Association Dynamic learning system for intelligent authentication

Also Published As

Publication number Publication date
GB201113921D0 (en) 2011-09-28

Similar Documents

Publication Publication Date Title
WO2013024279A1 (en) Context-awareness statistics on mobile devices
JP7191123B2 (en) Peer-to-peer location updates
US8804551B2 (en) Location estimation by observing wireless signals
US10841892B2 (en) Local area network assisted positioning
US9373130B2 (en) System and method for aggregating and associating mobile device location data
US7469827B2 (en) Vehicle information systems and methods
JP6904637B2 (en) Systems and methods for determining transport stop locations
US9763043B2 (en) Position determination of mobile stations in a wireless network
US20040219932A1 (en) Efficient tracking method for location determination of mobile units
RU2419255C2 (en) Method to detect physical location of mobile phone at this time
CN107613560B (en) Self-positioning of wireless stations
US20040266457A1 (en) Wireless location gateway and applications therefor
US20120226554A1 (en) System and method for providing data to a portable communications device based on real-time subscriber behavior
US9467806B2 (en) Improvements related to tracking moving objects
WO2013024278A1 (en) Context-awareness on mobile devices
CN101438270A (en) Location-based services that choose location algorithms based on number of detected wireless signal stations within range of user device
WO2007025159A2 (en) Dynamic location almanac for wireless base stations
CN102112891A (en) Robust location estimation
CN102428384A (en) Method for positioning by WI-FI signals
US7860517B1 (en) Mobile device tracking using mobile agent location breadcrumbs
EP2595418A1 (en) Method and apparatus for providing an alert on a user equipment entering an alerting area
WO2001095642A2 (en) A wireless location gateway and applications therefor
Wang Vehicle positioning utilising radio frequency identification devices with geo-located roadside furniture upon urban-roads
RU2769920C2 (en) Method and system for determining fact of user's visiting point of interest
RU2767958C2 (en) Method and system for determining fact of user visiting a point of interest

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12762358

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 13/06/2014)

122 Ep: pct application non-entry in european phase

Ref document number: 12762358

Country of ref document: EP

Kind code of ref document: A1