[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

EP1929749A1 - Information based on location and activity of a user - Google Patents

Information based on location and activity of a user

Info

Publication number
EP1929749A1
EP1929749A1 EP06779581A EP06779581A EP1929749A1 EP 1929749 A1 EP1929749 A1 EP 1929749A1 EP 06779581 A EP06779581 A EP 06779581A EP 06779581 A EP06779581 A EP 06779581A EP 1929749 A1 EP1929749 A1 EP 1929749A1
Authority
EP
European Patent Office
Prior art keywords
location
activity
based information
activity based
data
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP06779581A
Other languages
German (de)
French (fr)
Inventor
Andrew Peter Gower
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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
Priority claimed from EP05256148A external-priority patent/EP1770956A1/en
Priority claimed from EP05256147A external-priority patent/EP1770955A1/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Priority to EP06779581A priority Critical patent/EP1929749A1/en
Publication of EP1929749A1 publication Critical patent/EP1929749A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • 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

Definitions

  • the present invention relates to context or location aware computing, and in particular though not exclusively to providing an activity based view of a location.
  • the Internet and World Wide Web have been successful in providing users with the ability to access information and computing or information technology (IT) services from virtually any location. This has been further enhanced by the development of wireless access technologies which in addition to enhancing the connectivity coverage, additionally provides the user with mobility.
  • IT information technology
  • context aware provision of connectivity and IT services include the provision of local information such as nearby restaurants and the automatic connection to different types of networks depending on location, for example home or work. Numerous other examples of context aware services are increasingly available.
  • wireless identifiers such as Bluetooth TM fixed equipment (eg printer) as locators. This information is used to model human interactions.
  • US2005/0020307 discloses configuring computing or electronic devices depending on the user's current context which in turn is related to their current location. For example a so configured device may only show secure work-related wireless connections when the user is at work, but any wireless connections when the user is elsewhere, for example at home.
  • US2004/0203851 discloses monitoring of activities the user engages in at a location for uploading to service providers serving that location; in order that they may better configure their services at that location based on user activity.
  • JP9053957 discloses monitoring of activities over location and time on a device, for use in re-configuring the device to better service the user's habits.
  • the present invention provides a method and system for providing activity based information for a location.
  • the location is a virtual location in that it is defined in terms of activity.
  • a virtual location may in addition be identified as and/or defined according to an actual physical or geographical location, or it may be identified and/or defined solely according to the services provided there, for example a virtual location may be defined by a WiFi identifier which could change its physical location.
  • the virtual location is also associated with the current and/or past activities performed there, for example by a high percentage of user media streaming in that virtual location. This information can be used by new devices entering the virtual location, or devices already in the virtual location, to reconfigure themselves, dependent on the activities of other devices in the virtual location.
  • the virtual location is associated with a library
  • this activity based information could be used to automatically present the user of a device entering the virtual location with an option to do the same activity.
  • Such an arrangement eases operation of user interfaces on devices by automatically providing likely options for a user. Also the provision of an activity based view of a location allows a user to manually re-configure their device according to user preferences and expectations, for example the activities the user believes they are most likely to engage in. Users may set their device to automatically action (rather than manually action) local dynamic group activity such as the theatre example outlined above.
  • the activity information gathered about a virtual location may also be used by service providers supporting the virtual location, for example to rationalize their information delivery processes. This could include the caching of 'popular' information on a local server that is most likely to be requested by others in that location. Alternatively, likely information could be temporarily cached on the users device in anticipation of it being requested.
  • the present invention provides a method of providing activfty based information associated with a virtual location.
  • the method comprises automatically determining data about a process on a device within the virtual location, the process associated with an activity; and receiving at another device activity based information which is dependent on the determined process data.
  • An embodiment provides a view of most popular information requested at this location, for example the top 10 WebPages viewed at this virtual location, or the most popular games.
  • the user device may be configured such that a user looking for places and times where people gather to play mobile a specific Bluetooth games is alerted by their mobile device that the virtual location they have just encountered is a 'gaming hotspot'.
  • the virtual location is defined by reference to services provided within a space or area, for example a WLAN having a specific WiFi BSSID and/or encryption key.
  • a WLAN having a specific WiFi BSSID and/or encryption key.
  • the beacon provides a virtual location clue, and can be used by the device to identify that it has entered a predefined virtual location.
  • the predefined virtual location may be stored on the device's memory, such that when it detects the corresponding signature or clue, it assumes it has entered the virtual location.
  • the WLAN access point may transmit an identifier according to a predetermined protocol which the device is able to recognise.
  • the device may send a request to a central server together with the virtual location clue or clues it has detected.
  • a service provider such as a Wi-Fi access point associated with defining a virtual location may recognise devices that enter its network coverage area. This information can then be used by the server to forward a virtual location identifier and/or virtual location dependent activity based information.
  • the virtual location clues will typically correspond to one or more wireless technologies, for example a WiFi and a Bluetooth beacon carrying a respective identifier which can be used together with the technology type (eg lEEE802.11g and BT v2).
  • the virtual location may or may not correspond with a geographical location, for example the definition of the virtual location may also include a range of GPS coordinates.
  • the virtual location is defined by reference to a WLAN, the WLAN could move geographical location but the virtual location defined by it would be the same.
  • the virtual locations are defined by reference to one or more wireless technologies, for example a WiFi identifier and/or GPS provided coordinates. Virtual locations could also be defined using GPS or even WLAN signal strength to subdivide a large wireless network thereby creating a cluster of individual Virtual Locations.
  • the virtual location may be defined by the devices that form it, for example i whenever three predetermined devices are within a certain range of each other, they are said to be in a virtual location and carry out the above defined method.
  • the range may be that sufficient for them to communicate with each other using a nominated wireless technology for example Bluetooth.
  • a record of activities performed at this virtual location can be recorded (on the devices rather than on a server) for future reference. Rather than the system being reliant on a server in this example a smaller system could run on each host device.
  • a virtual location is an area defined by available wireless network technologies (server-client or peer-to-peer) for the purpose of situation or activity profiling.
  • Situation profiling combines the users activities (applications, services, content utilised be users), activity chronology, and user or device profiling to provide enhanced application, service or content customisation.
  • the process data may be determined by each device within the virtual location uploading its respective data to a central server. Alternatively, each device may use peer-to-peer connections with other devices within the virtual location in order to determine the process data.
  • the process data corresponds to an application executed or a function carried out on the device. Examples include an email client, a web browser, or switching the devices backlight or ringer off.
  • the processes are associated with an activity such as sending and receiving email, surfing the internet, or putting the device in a "sleep" mode.
  • the activities are typically user initiated in the sense that a user of the device activates or instructs the device to carry out the function or application associated with the process. This can include an automatic procedure that a user has previously set-up. For example when entering a virtual location (toilet, library, managers office, customer reception area) divert all incoming calls to my answer phone or turn my ringer off.
  • the relationship between the process data and the activity based information could be one-to-one, or typically the process data is processed for example by deriving statistics relating to the process data from a number of devices within the location. For example the most popular activity in a virtual location as determined from the process data from all the devices in the virtual location can be provided to a requesting device.
  • Either a client-server or a peer-to-peer architecture can be used for implementing the automatic gathering and provision of activity based information to the devices within the virtual location.
  • Virtual location definition in a peer-to-peer architecture may use a predetermined virtual location clue such as a WL-AN beacon, or alternatively devices within a space or area may form a virtual location according to a predetermined protocol, for example using an ad hoc WLAN in which each device is with range of every other device within the WLAN.
  • the virtual location definition or clue can be the identifier or BSSID and the corresponding beacon.
  • the virtual location can be defined using multiple wireless technologies, for example WiFi; Bluetooth; UMTS; and/or GPS.
  • a virtual location is defined using a number of clues which combine the wireless technology and a corresponding identifier such as a WiFi BSSID.
  • Examples of user initiated activities include: establishing an Internet connection; establishing an email connection; establishing a streaming media connection; changing the user interface of the device, for example switching on the backlight or executing a process such as a game.
  • Some of this information may be more specific such as the web-site visited or the game played - though this type of information would typically not be linked to a particular user for privacy reasons, but used only to provide an indication of the most popular web-site or game currently in the virtual location for example.
  • a time dimension may also be added to the activity based information, which may change depending on the time of day. For example users in a coffee shop at lunchtime may receive different activity based information than users in the same coffee shop after work.
  • a user profile dimension can also be added to the activity based information, for example the activity based information downloaded to a teenage user of a virtual location may be different to that downloaded for a middle-aged salesman. For example the teenager may be more interested in gaming levels or popularity for the virtual location whereas the salesman may be more interested in the most popular websites visited in the same virtual location. Similarly, mobile police officers may be interested in information related to the activities of previous police officers, such as relevant and/or recent incidents at the same virtual location.
  • the activity based information downloaded to a device may be provided in the form of a virtual location profile (VLP) whose content may vary depending on the time of day and/or a user profile for the downloading device.
  • VLP virtual location profile
  • the VLP may include for example the most popular websites visited at that virtual location, the most popular games played, the most popular media streamed, and the most common device control re-setting such as ringer volume reduction in an eBook zone.
  • the activity based information provided about a virtual location may be used to infer additional information or context likelihood's, for example a high number of gaming activities might designate a virtual location as a gaming hot-spot.
  • high eBook application usage may indicate that the virtual location is likely to offer seating and food facilities.
  • the activity based information associated with a virtual location can also be used by other devices or users not within the virtual location, for example a home personal computer (PC).
  • the virtual location can be associated with a geographical location
  • the activity based information can be mapped for use by others in identifying locations corresponding to certain activity profiles. For example a teenager may use a map based application or search engine on their home PC to find local gaming hotspots, such as places where people in the past (or possibly currently) have played a particular peer-to-peer game.
  • a local area suitable for reading an eBook could be identified based on the activities (ie reading eBooks) of others.
  • the presenting invention provides a method of providing activity based information associated with a location.
  • the method comprises automatically determining data about a process on a number of devices within the location, the process associated with an activity; and receiving at another device activity based information which is dependent on the determined process data.
  • the activities are not limited to interactions with a single wireless service provider, and include all of a number of predetermined activities on the devices within the location.
  • the location may be a virtual location, or it may be a physical location.
  • the determined process data can be associated with a geographical identifier corresponding of the location, for example GPS co-ordinates or a post code. This data or information can then be used with mapping applications, for example to identify physical locations having a high incidence of a particular activity, such as gaming or a particular P2P game.
  • Figure 1 illustrates a number of virtual locations according to an embodiment
  • Figure 2 illustrates a client-server architecture for automatically gathering activity based data from devices within a virtual location according to an embodiment
  • Figure 3 illustrates the provision of activity based information to a device entering a virtual location according to an embodiment
  • Figure 4 is a flow chart illustrating a method of operating a device according to an embodiment
  • Figure 5 is a flow chart illustrating a method of operating a server according to an embodiment
  • Figure 6 illustrates a number of virtual locations according to another embodiment
  • Figure 7 illustrates the gathering of activity based information using a peer-to-peer architecture according to another embodiment.
  • Figure 8 is a flow chart illustrating a method of operating a device in the peer-to-peer architecture of figure 7.
  • a number of virtual locations 100 are illustrated. These virtual locations are defined by reference to a number of virtual location clues, in this case provided by a number of wireless technology providers 102.
  • These wireless service providers 102 include a global positioning system satellite (GPS), WLAN access points WiFi(a), WiFi(b), and WiFi(c), static Bluetooth devices such as printers or PC's BT, and a cellular radio network base station GSM.
  • GPS global positioning system satellite
  • static Bluetooth devices such as printers or PC's BT
  • GSM cellular radio network base station
  • the virtual location clue provided by the GPS satellite are coordinates
  • the clue provided by the WLAN access points WiF(a)-(c) are their respective BSSID's
  • the virtual location clue provided by the static Bluetooth device is its Bluetooth MAC address
  • the clue provided by the cellular base station is the cellular ID.
  • the first virtual location 100A is defined according to predetermined GPS coordinates, a WLAN identifier WiFi(a), and a Bluetooth device MAC address BT.
  • the GPS coordinates of a candidate device must be within a predetermined range - of longitude, latitude, and altitude.
  • the candidate device must also be able to receive the beacon from the WLAN access point (102WiFi(a)), and the beacon from the static Bluetooth device (102BT).
  • each of the identifiers or clues received matches those required for defining the virtual location A. If one of these virtual location identifiers or "clues" if not detected by the candidate device, then it is not within the virtual location A - it may perhaps be in another virtual location. Indeed it is possible that one virtual location may be within a larger virtual location, for example when seeing only the GPS coordinates and the WiFi(a) clues, the candidate device may be within a larger virtual location A' (not shown).
  • the second virtual location B is identified or defined by reference to identifiers for two wireless service providers 102, and is detected or confirmed when a candidate device (not shown) can detect both the beacon from another WLAN (102WiFi(b)) and the beacon from the cellular base station (GSM). This may or may not overlap the first virtual location A.
  • the third virtual location C is defined solely by reference to a third WL-AN beacon - 102WiFi(c) - provided by the corresponding wireless service provider or access point 102. If a device can detect this WLAN (WiFi(c)), then it is said to be in the virtual location C. Note that this virtual location C is not associated with a permanent physical location, as the WiFi(c)access point 102 for the WLAN could be moved to another geographical location. This compares with the first virtual location A, which is defined by reference to GPS coordinates and so is associated with a permanent physical location - unless it is later defined by different location clues.
  • the fourth virtual location D is defined solely be reference to geographical coordinates provided by the GPS wireless service provider 102.
  • the "clue” in this case is simply geographical coordinates within a predetermined range.
  • the virtual locations A-D are all defined by wireless technologies - GPS (global positioning system), WLAN for example WiFi, cellular wireless such a GSM, CDMA2000, UMTS, and piconets such a Bluetooth. Other types of wireless technologies could also be used, and the virtual locations 100 may be defined by reference to two or more wireless technologies for greater certainty and accuracy. In some cases redundancy may also be an issue, in which case if for example the WLAN access point 102 (WiFi(a)) of virtual location A was disabled, the virtual location A might be temporarily redefined according to the remaining two wireless technologies - GPS and BT.
  • WLAN global positioning system
  • Figure 2 illustrates a number of devices 201 within a virtual location 200 and communicating with a number of wireless access points or gateways 202, using wireless links 203.
  • the communication between the devices and the wireless service providers 202 allow the devices to carry out various activities or processes. Examples of activities include surfing the Internet, sending and/or receiving email, and streaming media.
  • the activities carried out need not involve the wireless communications links 203, for example playing a game on a device 201 , or switching on the backlight.
  • the activities may be user initiated such as surfing the Internet, or may be automatic such as adjusting the device's sound output according to ambient sound levels.
  • Various processes are carried out on the device in order to support the user activities, for example to support a user surfing the Internet a wireless application must establish and maintain a connection with one of the wireless service providers 202, and an Internet browsing application must be executed.
  • Data about the types of processes carried out on each device 201 are monitored and uploaded to a central server 204, via a suitable upload channel 205.
  • the uploading 205 of the processes or activity based data may be carried out using the wireless links 203 or some other manner.
  • some devices may have a wired as well as a wireless capability, in which case the uploaded or determined process data may be uploaded using the wired link.
  • the virtual location 200 each of the devices 201 is operating within can be defined by reference to the various wireless service providers 202 shown.
  • the activity data uploaded may simply be a virtual location identifier (eg A from figure 1) together with a predetermined activity type such as playing a game, sending email and so on.
  • a virtual location identifier eg A from figure 1
  • a predetermined activity type such as playing a game, sending email and so on.
  • the user's identity is not associated with the activity, and merely the numbers or types of different activities being engage in within the virtual location is made available to the server 204.
  • Devices using the system may be configured to send the processes or activity data periodically, for example once every minute. More specific information may be gathered, for example actual URL's visited during web browsing activities, or songs downloaded or Internet radio stations "tuned" to during streaming activities. In this way, the most requested song in the virtual location may be made available to other user's in the location.
  • the most popular activity may be visiting the band's web-site, and this may then be provided to users of the system, for example so that they can go straight to the website as well.
  • the activity based information provided to a user in a virtual location may simply be the most popular activities within a number of categories.
  • the data about processes activated or running on a device described above is related to user initiated activity in which the user is required to actuate a user interface button for example, and that is context or location dependent, such as an eBook or Gaming application. However in some configurations it may be extended to location independent activities such as receiving information, for example emails.
  • Figure 3 illustrates determining process data on a first device 301a and receiving activity based information at another device 301b within the same virtual location 300.
  • the first device 301a is interacting with a WLAN access point WiFi(c) 302 to surf the Internet, and has just downloaded a website 305.
  • Additional functionality 309a within the device 301a monitors the processes carried out on the device to support these user activities, and sends this process data or data dependent on it to a central server 304.
  • the data 306 uploaded to the server 304 may be a periodic packet with the virtual location's identifier C together with the URL of the web-site visited, or simply a code corresponding to the generic activity of web-browsing or internet surfing; and depending on configuration of the system the connection (eg to WiFi(c)) supporting this.
  • the central server 304 may process this data from a number of similar devices 301 within the same virtual location C, for example by determining the most visited web-sites within the last ten minutes within the virtual location, or simply that the most popular current activity within the virtual location C is web-browsing.
  • additional functionality 309b within it determines the virtual location C and requests 307 from the system the corresponding activity based information. Determining the virtual location may involve noting the various wireless service 302 available to the new device 301b, and sending this information with the request 307 to the server 304 which returns a corresponding virtual location identifier C.
  • the server 304 forwards the processed information 308 (and if appropriate the virtual location identifier C) to the second device 301b, which may simply display this for the user, or may use this information to reconfigure the device for use in the virtual location C.
  • a User of the new device 301 b may be able to determine that a particular url or web-site is currently very popular within the virtual location, and may be prompted to visit this. Alternatively at a lower level of information granularity, the user of the device may be informed that the most popular activity within the virtual location is media streaming, and the device's start top-level menu may be adjusted to show this activity at the top of the list.
  • Each of the devices 301 within the virtual location C may be configured to periodically request 307 activity based information from the server 304, or this might be provided automatically to each device "registered" in the virtual location C.
  • each device 301 monitoring its own processes sends an "activity ranking . list" to the central server 304, rather than each process at a time.
  • each device 301 may be further configured to notify the server 304 of its type, for example laptop or mobile phone.
  • the process data provided by each device 301 may be categorised such that devices only receive activity based information for their own device type within the virtual location. Thus what occurs on a laptop may have little effect on what information is provided to a mobile device which has substantially less processing power and likely less bandwidth over wireless communications links.
  • the same activity based information may be downloaded to each device 301 , but the device itself may be configured to handle it differently depending on its device type.
  • Each device may also or alternatively be categorised by a user type or profile. Examples include teenager interested in gaming; middle aged executive; elderly retired; male/female.
  • the user profile may be extended to membership of special interest groups such as the police; specific employer or company; fan club; and so on. This may be indicated to the server using a predetermined tag on capable devices for uploading gathered process data 306, and requesting virtual location profile (VLP) data or activity based information in a request 307.
  • VLP virtual location profile
  • the server 304 can then send VPL or information 308 according to the device's associated user profile.
  • the server 304 may also be configured to vary the downloaded activity based information according to the time of day.
  • the activity based view of a cafe/bar at lunchtime may differ significantly from the activity based view of the same virtual location in the evening.
  • the activity based characterisation of the virtual location may be different at weekends compared with week days; or there may even be seasonal or annual variations.
  • Figure 4 illustrates a method of operating a device according to an embodiment.
  • a device 301b when a device 301b is operating according to the method (400), it looks for wireless systems or service providers 302 that can offer clues as to its virtual whereabouts or location. These can include GPS, Bluetooth, GPRS, and WLAN signatures or beacons.
  • the device 301 b monitors for predetermined virtual location clues (410), such as identifiers associated with the identified wireless systems 302, for example GPS coordinates, WLAN BSSID, and GPRS cell ID.
  • the device may be configured to periodically send these clues (415) to the system server 304, or it may have various virtual locations pre-identified within its memory and then simply match the detected clues with those stored in order to determine that it has entered the virtual location. As a further alternative it may only request a virtual location identity when a new clue and/or wireless service provider 302 is identified.
  • the device then receives the virtual location information (420), and if required a virtual location identifier C.
  • the device may not require the virtual location identifier at all, and may simply receive the activity based location information.
  • the device may be configured simply to display or store this information, or it may be configured to adjust an operating or user interface parameter dependent on the received activity based information (425).
  • the user interface start menu may be rearranged to put the most popular activities currently or historically engaged in by others in the virtual location towards the top of the menu.
  • the other users on which the downloaded activity based information is dependent may be restricted to suers having the same profile - for example middle aged executive compared with teenage gamer.
  • the user may be directly prompted as to whether they wish to start the most popular activity. If the virtual location corresponds to a darkened room for example, other users may have switched their backlights on, and the device of the user newly entering the virtual location may be configured to automatically switch its backlight on.
  • the device may determine that it is unlikely to carry out certain activities such as playing games, and may therefore shut down its 3D graphics capability in order to reduce power consumption.
  • the device may also be configured to provide a quick-link list of things to do in the new virtual location.
  • Other examples include changing on-line presence from "Available” to "Do not disturb" in a chat application for example, automatically downloading some service or content, and vibrate on ringer off.
  • the activity based information (or VLP) provided to a user device by the system or server is system configurable.
  • the information may simply be a list of the most popular activities within certain predefined activity categories such as web browsing, media streaming, gaming, and device re-configuring.
  • Respective activity examples include most popular web-sites visited within the virtual location, most popular songs or videos streamed, most popular peer-to- peer games played, and the most common device adjustments such as ringer off and/or backlight on.
  • These lists of activities in each activity category may be further categorised for example according to user profile and/or time.
  • the provided activity based information may alternatively relate to changes or anomalies in activity patterns. For example some groups (eg Police) may be interested in building a view of the least popular activities or significant changes in type of content consumed at a location.
  • groups eg police
  • the device 301 is also likely to be configured to automatically monitor its own user activities (430), for example by simply noting a code for each of a number of predetermined processes - web-browser application, email client, media streaming client, game playing application, e-book reading application, and so on. This information may be accumulated locally over a period, and then sent to the central server (435). This may even extend to the device 301 storing activity related data for a number of different virtual locations and then uploading the data to the central server 304 say at the end of the day, when it is synchronised with a wired PC for example. Alternatively each new process activated on the device may trigger it to report this to the server 304.
  • the device 301 may have a standard template which is updated periodicaljy and forwarded to the server after a period.
  • the recorded processes can be time-stamped in order to aid processing by the central server, and the data sent may also include the length of time over which a process was active.
  • the method (400) then returns to the receiving activity based information step (420) to refresh this information.
  • users of devices in a virtual location may affect each other over time, for example an event may cause a number of users to access a particular web-site, which in turn may prompt other users in the virtual location to do the same.
  • the system may be configured to bias towards current or recent user activity information, or it may be more historically based, using data about the processes run on many devices over a considerable period of time.
  • Figure 5 shows a method for the central server 304 which receives device process data from a number of devices 301 in a number of virtual locations 300.
  • the method (500) comprises two branches, in the first the server processes requests for identifiers for virtual locations, and receives clues from devices (505) such as the various wireless services providers it is able to currently access and/or their identifiers.
  • the server determines from these clues a corresponding virtual location (515). This may be achieved simply by attempting to match the received clues with clues corresponding to a number of predetermined virtual locations.
  • the server 304 retrieves and sends the virtual location identifier to the requesting device (520).
  • the method (500) then moves on to sending activity based information for that virtual location to the requesting device (535).
  • the second branch of the method (500) relates to monitoring and sending activity based information to devices within a virtual location.
  • the server 304 receives data about processes on each device within a virtual location (525), and updates the activity based information it holds for that virtual location (530). This may comprise re-processing all the stored activity based information, for example the new process data may be used to adjust a "top activities" list within the activity based information.
  • the updated information is then sent to the devices within the corresponding virtual location (535), and the method returns to receive further data about processes on the devices (525).
  • Figure 6 illustrates another embodiment in which virtual locations can include non- wireless devices.
  • the virtual locations 600 include wireless devices 601 which determine whether they are within a virtual location 600 by reference to wireless clues associated with a number of wireless service providers 602.
  • the wireless 5 clues 602 are a coordinates range provided by the GPS system, a WLAN access point identifier WiFi(a), and a Bluetooth MAC address BT. If the device 601 detects all three clues 602, then it can assume it is within virtual location A.
  • a fixed or wired device 603a can also be determined to be within the virtual
  • a personal computer PC is connected for example by Ethernet to the WLAN access point WiFi(a), and by virtue of the type of wired connection (Ethernet is typically used only locally) is determined to be within the virtual location.
  • the system could automatically link wired devices together by fact that they are all connected into a switch and use specific IP addresses within a certain range.
  • WLAN access point may be connected to the Internet via a specific router or gateway.
  • An external service could therefore assume that any information request via this router or gateway was within the same virtual location.
  • a static PC could simply be assigned to a virtual
  • the system still records user initiated activities (time, device and user specific) at specified locations and provides that information back to any device, service, or application within that virtual location that could benefit.
  • the wired device 603a may in fact not be within the physical range of the various wireless service providers 602 providing the virtual location clues, however is consider logically to be within the virtual location.
  • a pub regular may be in another country on business but may want to virtually interact with his friends in their usual or local pub, and may do so according to this embodiment by assigning the PC the virtual location identifier B of the virtual location B, in order to receive the activities based information corresponding to the virtual location B from the server.
  • the assigned PC 603b may or may not upload data about its own activities or processes to the central server.
  • the remote PC 603b may also be influenced by what other devices are doing within the virtual location B. This might be extended for example to supporters of a football team, some of whom may not be in a particular location to watch a match, but want to participate remotely at the location with other members of the football team supporters club. This concept could even be used as a way to build and support virtual communities, groups and Special Interest Groups.
  • FIG. 7 illustrates another embodiment using a peer-to-peer architecture to implement the activities based view of a virtual location.
  • each of the devices 701 is using a number of wireless gateways or service providers 702 to perform various activities such as surfing the Internet. Other activities not requiring wireless links 703 may also be carried out on the devices 701.
  • Each device 701 also includes additional functionality 704 to carry out the monitoring of device based processes within the virtual location.
  • Each device polls 705 . each other device 701 within the virtual location 700 about the types of activities it is engaging in. Instead of this data being stored in a central server, each respective device 701 stores this information locally and if so configured, adjusts its user interface or some other operating parameter depending on the activities based information received.
  • a protocol for determining and agreeing a virtual location can be used, for example all devices that recognise the Bluetooth piconet coordinator BT, the WLAN access point WiFi, and the cellular base station CDMA.
  • Figure 8 is a flow chart showing operation of a device using the peer-to-peer architecture of figure 7.
  • the device determines location clues (810) for example various wireless technology beacons and GPS coordinates. It agrees with other wireless devices within its vicinity that it is within a particular virtual location, and requests data from other devices using the same virtual location identifier about the user processes running on them (815).
  • Activity based information from the other devices in the same virtual location is received (820), and the device updates its own on-board database or store of activity based information within the virtual location (825).
  • the device may then adjust its user interface or other operating parameter as described above according to the activities based information recovered (830).
  • the method then returns to the requesting step (815) in order to refresh the activity based information for the devices current virtual location.
  • the device is also configured to respond to requests for its own processes data from other devices within the same virtual location, forwarding this data to them.
  • This facility may also be used by others at significant geographical distances but who are intending to visit a city and want to view it in an activity based way, for example in order to plan a nightlife "tourist" itinerary.
  • the gathered process data in this case may be associated with a geographical location, which may be provided using a definition of the virtual location which includes real coordinates such as provided by GPS.
  • This geographically associated activity based information can then be used by other users, for example in mapping and/or search engine type applications.
  • a map of a city may show gaming hotspots, quiet spaces for reading eBooks, areas having high numbers of web-site hits relating to a particular pop-star, or even bars or cafes where certain user profiles are prevalent.
  • processor control code for example on a carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier.
  • a carrier medium such as a disk, CD- or DVD-ROM
  • programmed memory such as read only memory (Firmware)
  • a data carrier such as an optical or electrical signal carrier.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the code may comprise conventional programme code or microcode or, for example code for setting up or controlling an ASIC or FPGA.
  • the code may also comprise code for dynamically configuring re-configurable apparatus such as re-programmable logic gate arrays.
  • the code may comprise code for a hardware description language such as Verilog TM or VHDL (Very high speed integrated circuit Hardware Description Language).
  • Verilog TM or VHDL Very high speed integrated circuit Hardware Description Language
  • the code may be distributed between a plurality of coupled components in communication with one another.
  • the embodiments may also be implemented using code running on a field- (re)programmable analogue array or similar device in order to configure analogue hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The present invention relates to context or location aware computing, and in particular though not exclusively to providing an activity based view of a location. The invention provides a method for providing activity based information for a location (100), and comprises determining the location (410); automatically determining data about a process associated with an activity on a device within the location (430); receiving at another device within the location activity based information which is dependent on the determined process data (420).

Description

INFORMATION BASED ON LOCATION AND ACTIVITY OF A USER
Field of the Invention
The present invention relates to context or location aware computing, and in particular though not exclusively to providing an activity based view of a location.
Background of the Invention
The Internet and World Wide Web (The Web) have been successful in providing users with the ability to access information and computing or information technology (IT) services from virtually any location. This has been further enhanced by the development of wireless access technologies which in addition to enhancing the connectivity coverage, additionally provides the user with mobility. On the other hand, there has also been a growing demand for context aware provision of connectivity and IT services. Such services include the provision of local information such as nearby restaurants and the automatic connection to different types of networks depending on location, for example home or work. Numerous other examples of context aware services are increasingly available.
"Future of Location Based Experiences" by Steve Benford University of Nottingham, TSW0501 , JISC Technology and Standards Watch, January 2005, describes various examples of context aware computing, including the ability of tourists to upload comments about a tourist attraction for later download by other tourists, and the ability to adjust the virtual location of a computer game depending on the actual physical location of the player.
The Massachusetts Institute of Technology (MIT) Media Lab Reality Mining Project at http://reality.media.mit.edu/ describes monitoring user activities of time and place using wireless identifiers such as Bluetooth ™ fixed equipment (eg printer) as locators. This information is used to model human interactions.
US2005/0020307 discloses configuring computing or electronic devices depending on the user's current context which in turn is related to their current location. For example a so configured device may only show secure work-related wireless connections when the user is at work, but any wireless connections when the user is elsewhere, for example at home.
US2004/0203851 discloses monitoring of activities the user engages in at a location for uploading to service providers serving that location; in order that they may better configure their services at that location based on user activity.
JP9053957 (English Abstract) discloses monitoring of activities over location and time on a device, for use in re-configuring the device to better service the user's habits.
Summary of the Invention
In general terms the present invention provides a method and system for providing activity based information for a location. The location is a virtual location in that it is defined in terms of activity. A virtual location may in addition be identified as and/or defined according to an actual physical or geographical location, or it may be identified and/or defined solely according to the services provided there, for example a virtual location may be defined by a WiFi identifier which could change its physical location. The virtual location is also associated with the current and/or past activities performed there, for example by a high percentage of user media streaming in that virtual location. This information can be used by new devices entering the virtual location, or devices already in the virtual location, to reconfigure themselves, dependent on the activities of other devices in the virtual location. For example if the virtual location is associated with a library, this may result in a lot of wireless connections being established to download the library's information index, and this activity based information could be used to automatically present the user of a device entering the virtual location with an option to do the same activity. In another example, as more and more devices within a virtual location associated with a theatre start turning their device ringers off prior to the performance, this might prompt other user's who have not yet done this with the option to switch off their device, ringers.
Such an arrangement eases operation of user interfaces on devices by automatically providing likely options for a user. Also the provision of an activity based view of a location allows a user to manually re-configure their device according to user preferences and expectations, for example the activities the user believes they are most likely to engage in. Users may set their device to automatically action (rather than manually action) local dynamic group activity such as the theatre example outlined above.
The activity information gathered about a virtual location may also be used by service providers supporting the virtual location, for example to rationalize their information delivery processes. This could include the caching of 'popular' information on a local server that is most likely to be requested by others in that location. Alternatively, likely information could be temporarily cached on the users device in anticipation of it being requested.
In one aspect the present invention provides a method of providing activfty based information associated with a virtual location. The method comprises automatically determining data about a process on a device within the virtual location, the process associated with an activity; and receiving at another device activity based information which is dependent on the determined process data.
An embodiment provides a view of most popular information requested at this location, for example the top 10 WebPages viewed at this virtual location, or the most popular games.
Alternatively or additionally the user device may be configured such that a user looking for places and times where people gather to play mobile a specific Bluetooth games is alerted by their mobile device that the virtual location they have just encountered is a 'gaming hotspot'.
The virtual location is defined by reference to services provided within a space or area, for example a WLAN having a specific WiFi BSSID and/or encryption key. Thus any device which is able to receive the corresponding WLAN beacon is said to be within the virtual location. The beacon provides a virtual location clue, and can be used by the device to identify that it has entered a predefined virtual location. The predefined virtual location may be stored on the device's memory, such that when it detects the corresponding signature or clue, it assumes it has entered the virtual location. Alternatively, the WLAN access point may transmit an identifier according to a predetermined protocol which the device is able to recognise. In another alternative, the device may send a request to a central server together with the virtual location clue or clues it has detected. In another alternative, a service provider such as a Wi-Fi access point associated with defining a virtual location may recognise devices that enter its network coverage area. This information can then be used by the server to forward a virtual location identifier and/or virtual location dependent activity based information. The virtual location clues will typically correspond to one or more wireless technologies, for example a WiFi and a Bluetooth beacon carrying a respective identifier which can be used together with the technology type (eg lEEE802.11g and BT v2).
The virtual location may or may not correspond with a geographical location, for example the definition of the virtual location may also include a range of GPS coordinates. On the other hand, where the virtual location is defined by reference to a WLAN, the WLAN could move geographical location but the virtual location defined by it would be the same. In an embodiment, the virtual locations are defined by reference to one or more wireless technologies, for example a WiFi identifier and/or GPS provided coordinates. Virtual locations could also be defined using GPS or even WLAN signal strength to subdivide a large wireless network thereby creating a cluster of individual Virtual Locations.
Alternatively the virtual location may be defined by the devices that form it, for example i whenever three predetermined devices are within a certain range of each other, they are said to be in a virtual location and carry out the above defined method. The range may be that sufficient for them to communicate with each other using a nominated wireless technology for example Bluetooth. A record of activities performed at this virtual location can be recorded (on the devices rather than on a server) for future reference. Rather than the system being reliant on a server in this example a smaller system could run on each host device.
More generally a virtual location is an area defined by available wireless network technologies (server-client or peer-to-peer) for the purpose of situation or activity profiling. Situation profiling combines the users activities (applications, services, content utilised be users), activity chronology, and user or device profiling to provide enhanced application, service or content customisation.
The process data may be determined by each device within the virtual location uploading its respective data to a central server. Alternatively, each device may use peer-to-peer connections with other devices within the virtual location in order to determine the process data. The process data corresponds to an application executed or a function carried out on the device. Examples include an email client, a web browser, or switching the devices backlight or ringer off. The processes are associated with an activity such as sending and receiving email, surfing the internet, or putting the device in a "sleep" mode. The activities are typically user initiated in the sense that a user of the device activates or instructs the device to carry out the function or application associated with the process. This can include an automatic procedure that a user has previously set-up. For example when entering a virtual location (toilet, library, managers office, customer reception area) divert all incoming calls to my answer phone or turn my ringer off.
The relationship between the process data and the activity based information could be one-to-one, or typically the process data is processed for example by deriving statistics relating to the process data from a number of devices within the location. For example the most popular activity in a virtual location as determined from the process data from all the devices in the virtual location can be provided to a requesting device.
Either a client-server or a peer-to-peer architecture can be used for implementing the automatic gathering and provision of activity based information to the devices within the virtual location. Virtual location definition in a peer-to-peer architecture may use a predetermined virtual location clue such as a WL-AN beacon, or alternatively devices within a space or area may form a virtual location according to a predetermined protocol, for example using an ad hoc WLAN in which each device is with range of every other device within the WLAN. Thus the virtual location definition or clue can be the identifier or BSSID and the corresponding beacon.
The virtual location can be defined using multiple wireless technologies, for example WiFi; Bluetooth; UMTS; and/or GPS. In an embodiment a virtual location is defined using a number of clues which combine the wireless technology and a corresponding identifier such as a WiFi BSSID.
Examples of user initiated activities include: establishing an Internet connection; establishing an email connection; establishing a streaming media connection; changing the user interface of the device, for example switching on the backlight or executing a process such as a game. Some of this information may be more specific such as the web-site visited or the game played - though this type of information would typically not be linked to a particular user for privacy reasons, but used only to provide an indication of the most popular web-site or game currently in the virtual location for example.
A time dimension may also be added to the activity based information, which may change depending on the time of day. For example users in a coffee shop at lunchtime may receive different activity based information than users in the same coffee shop after work.
A user profile dimension can also be added to the activity based information, for example the activity based information downloaded to a teenage user of a virtual location may be different to that downloaded for a middle-aged salesman. For example the teenager may be more interested in gaming levels or popularity for the virtual location whereas the salesman may be more interested in the most popular websites visited in the same virtual location. Similarly, mobile police officers may be interested in information related to the activities of previous police officers, such as relevant and/or recent incidents at the same virtual location.
Thus the activity based information downloaded to a device may be provided in the form of a virtual location profile (VLP) whose content may vary depending on the time of day and/or a user profile for the downloading device. The VLP may include for example the most popular websites visited at that virtual location, the most popular games played, the most popular media streamed, and the most common device control re-setting such as ringer volume reduction in an eBook zone.
The activity based information provided about a virtual location may be used to infer additional information or context likelihood's, for example a high number of gaming activities might designate a virtual location as a gaming hot-spot. In another example, high eBook application usage may indicate that the virtual location is likely to offer seating and food facilities.
The activity based information associated with a virtual location can also be used by other devices or users not within the virtual location, for example a home personal computer (PC). Where the virtual location can be associated with a geographical location, the activity based information can be mapped for use by others in identifying locations corresponding to certain activity profiles. For example a teenager may use a map based application or search engine on their home PC to find local gaming hotspots, such as places where people in the past (or possibly currently) have played a particular peer-to-peer game. Similarly, a local area suitable for reading an eBook could be identified based on the activities (ie reading eBooks) of others.
In another aspect the presenting invention provides a method of providing activity based information associated with a location. The method comprises automatically determining data about a process on a number of devices within the location, the process associated with an activity; and receiving at another device activity based information which is dependent on the determined process data. The activities are not limited to interactions with a single wireless service provider, and include all of a number of predetermined activities on the devices within the location. The location may be a virtual location, or it may be a physical location. The determined process data can be associated with a geographical identifier corresponding of the location, for example GPS co-ordinates or a post code. This data or information can then be used with mapping applications, for example to identify physical locations having a high incidence of a particular activity, such as gaming or a particular P2P game.
Brief Description of the Drawings
Embodiments will now be described with reference to the following drawings, by way of example only and without intending to be limiting, in which:
Figure 1 illustrates a number of virtual locations according to an embodiment;
Figure 2 illustrates a client-server architecture for automatically gathering activity based data from devices within a virtual location according to an embodiment; Figure 3 illustrates the provision of activity based information to a device entering a virtual location according to an embodiment;
Figure 4 is a flow chart illustrating a method of operating a device according to an embodiment;
Figure 5 is a flow chart illustrating a method of operating a server according to an embodiment;
Figure 6 illustrates a number of virtual locations according to another embodiment;
Figure 7 illustrates the gathering of activity based information using a peer-to-peer architecture according to another embodiment; and
Figure 8 is a flow chart illustrating a method of operating a device in the peer-to-peer architecture of figure 7.
Detailed Description
Referring to figure 1 , a number of virtual locations 100 (A-D) are illustrated. These virtual locations are defined by reference to a number of virtual location clues, in this case provided by a number of wireless technology providers 102. These wireless service providers 102 include a global positioning system satellite (GPS), WLAN access points WiFi(a), WiFi(b), and WiFi(c), static Bluetooth devices such as printers or PC's BT, and a cellular radio network base station GSM. The clues are provided by an identifier associated with each wireless service provider 102 relied upon to define the virtual location 100. For example the virtual location clue provided by the GPS satellite are coordinates, the clue provided by the WLAN access points WiF(a)-(c) are their respective BSSID's, the virtual location clue provided by the static Bluetooth device is its Bluetooth MAC address, and the clue provided by the cellular base station is the cellular ID. The clues may also comprise an identifier for each respective wireless technology, for example for virtual location C, the clue may be - "IEEE802.11 b + BSSID=BT00223029", and may also comprise an encryption key.
The first virtual location 100A is defined according to predetermined GPS coordinates, a WLAN identifier WiFi(a), and a Bluetooth device MAC address BT. Thus to be in virtual location A, the GPS coordinates of a candidate device must be within a predetermined range - of longitude, latitude, and altitude. The candidate device must also be able to receive the beacon from the WLAN access point (102WiFi(a)), and the beacon from the static Bluetooth device (102BT). Thus each of the identifiers or clues received matches those required for defining the virtual location A. If one of these virtual location identifiers or "clues" if not detected by the candidate device, then it is not within the virtual location A - it may perhaps be in another virtual location. Indeed it is possible that one virtual location may be within a larger virtual location, for example when seeing only the GPS coordinates and the WiFi(a) clues, the candidate device may be within a larger virtual location A' (not shown).
The second virtual location B is identified or defined by reference to identifiers for two wireless service providers 102, and is detected or confirmed when a candidate device (not shown) can detect both the beacon from another WLAN (102WiFi(b)) and the beacon from the cellular base station (GSM). This may or may not overlap the first virtual location A.
The third virtual location C is defined solely by reference to a third WL-AN beacon - 102WiFi(c) - provided by the corresponding wireless service provider or access point 102. If a device can detect this WLAN (WiFi(c)), then it is said to be in the virtual location C. Note that this virtual location C is not associated with a permanent physical location, as the WiFi(c)access point 102 for the WLAN could be moved to another geographical location. This compares with the first virtual location A, which is defined by reference to GPS coordinates and so is associated with a permanent physical location - unless it is later defined by different location clues.
The fourth virtual location D is defined solely be reference to geographical coordinates provided by the GPS wireless service provider 102. The "clue" in this case is simply geographical coordinates within a predetermined range.
The virtual locations A-D are all defined by wireless technologies - GPS (global positioning system), WLAN for example WiFi, cellular wireless such a GSM, CDMA2000, UMTS, and piconets such a Bluetooth. Other types of wireless technologies could also be used, and the virtual locations 100 may be defined by reference to two or more wireless technologies for greater certainty and accuracy. In some cases redundancy may also be an issue, in which case if for example the WLAN access point 102 (WiFi(a)) of virtual location A was disabled, the virtual location A might be temporarily redefined according to the remaining two wireless technologies - GPS and BT.
Figure 2 illustrates a number of devices 201 within a virtual location 200 and communicating with a number of wireless access points or gateways 202, using wireless links 203. The communication between the devices and the wireless service providers 202 allow the devices to carry out various activities or processes. Examples of activities include surfing the Internet, sending and/or receiving email, and streaming media. The activities carried out need not involve the wireless communications links 203, for example playing a game on a device 201 , or switching on the backlight. The activities may be user initiated such as surfing the Internet, or may be automatic such as adjusting the device's sound output according to ambient sound levels. Various processes are carried out on the device in order to support the user activities, for example to support a user surfing the Internet a wireless application must establish and maintain a connection with one of the wireless service providers 202, and an Internet browsing application must be executed. Data about the types of processes carried out on each device 201 are monitored and uploaded to a central server 204, via a suitable upload channel 205. The uploading 205 of the processes or activity based data may be carried out using the wireless links 203 or some other manner. For example some devices may have a wired as well as a wireless capability, in which case the uploaded or determined process data may be uploaded using the wired link.
As discussed with respect to figure 1 , the virtual location 200 each of the devices 201 is operating within can be defined by reference to the various wireless service providers 202 shown.
The activity data uploaded may simply be a virtual location identifier (eg A from figure 1) together with a predetermined activity type such as playing a game, sending email and so on. In this way the user's identity is not associated with the activity, and merely the numbers or types of different activities being engage in within the virtual location is made available to the server 204. Devices using the system may be configured to send the processes or activity data periodically, for example once every minute. More specific information may be gathered, for example actual URL's visited during web browsing activities, or songs downloaded or Internet radio stations "tuned" to during streaming activities. In this way, the most requested song in the virtual location may be made available to other user's in the location. Similarly at a concert, where an unknown band has taken the stage, the most popular activity may be visiting the band's web-site, and this may then be provided to users of the system, for example so that they can go straight to the website as well. Thus the activity based information provided to a user in a virtual location may simply be the most popular activities within a number of categories.
Typically the data about processes activated or running on a device described above is related to user initiated activity in which the user is required to actuate a user interface button for example, and that is context or location dependent, such as an eBook or Gaming application. However in some configurations it may be extended to location independent activities such as receiving information, for example emails.
Figure 3 illustrates determining process data on a first device 301a and receiving activity based information at another device 301b within the same virtual location 300. In the example the first device 301a is interacting with a WLAN access point WiFi(c) 302 to surf the Internet, and has just downloaded a website 305. Additional functionality 309a within the device 301a monitors the processes carried out on the device to support these user activities, and sends this process data or data dependent on it to a central server 304. The data 306 uploaded to the server 304 may be a periodic packet with the virtual location's identifier C together with the URL of the web-site visited, or simply a code corresponding to the generic activity of web-browsing or internet surfing; and depending on configuration of the system the connection (eg to WiFi(c)) supporting this. The central server 304 may process this data from a number of similar devices 301 within the same virtual location C, for example by determining the most visited web-sites within the last ten minutes within the virtual location, or simply that the most popular current activity within the virtual location C is web-browsing.
When a second device 301b enters the virtual location C, additional functionality 309b within it determines the virtual location C and requests 307 from the system the corresponding activity based information. Determining the virtual location may involve noting the various wireless service 302 available to the new device 301b, and sending this information with the request 307 to the server 304 which returns a corresponding virtual location identifier C. The server 304 forwards the processed information 308 (and if appropriate the virtual location identifier C) to the second device 301b, which may simply display this for the user, or may use this information to reconfigure the device for use in the virtual location C. Thus a User of the new device 301 b may be able to determine that a particular url or web-site is currently very popular within the virtual location, and may be prompted to visit this. Alternatively at a lower level of information granularity, the user of the device may be informed that the most popular activity within the virtual location is media streaming, and the device's start top-level menu may be adjusted to show this activity at the top of the list. Each of the devices 301 within the virtual location C may be configured to periodically request 307 activity based information from the server 304, or this might be provided automatically to each device "registered" in the virtual location C.
The embodiment might be alternatively configured such that each device 301 monitoring its own processes sends an "activity ranking . list" to the central server 304, rather than each process at a time. Alternatively or additionally, each device 301 may be further configured to notify the server 304 of its type, for example laptop or mobile phone. In this way, the process data provided by each device 301 may be categorised such that devices only receive activity based information for their own device type within the virtual location. Thus what occurs on a laptop may have little effect on what information is provided to a mobile device which has substantially less processing power and likely less bandwidth over wireless communications links. Alternatively the same activity based information may be downloaded to each device 301 , but the device itself may be configured to handle it differently depending on its device type.
Each device may also or alternatively be categorised by a user type or profile. Examples include teenager interested in gaming; middle aged executive; elderly retired; male/female. The user profile may be extended to membership of special interest groups such as the police; specific employer or company; fan club; and so on. This may be indicated to the server using a predetermined tag on capable devices for uploading gathered process data 306, and requesting virtual location profile (VLP) data or activity based information in a request 307. The server 304 can then send VPL or information 308 according to the device's associated user profile.
The server 304 may also be configured to vary the downloaded activity based information according to the time of day. Thus the activity based view of a cafe/bar at lunchtime may differ significantly from the activity based view of the same virtual location in the evening. Similarly the activity based characterisation of the virtual location may be different at weekends compared with week days; or there may even be seasonal or annual variations.
Figure 4 illustrates a method of operating a device according to an embodiment. Referring also to figure 3, when a device 301b is operating according to the method (400), it looks for wireless systems or service providers 302 that can offer clues as to its virtual whereabouts or location. These can include GPS, Bluetooth, GPRS, and WLAN signatures or beacons. The device 301 b monitors for predetermined virtual location clues (410), such as identifiers associated with the identified wireless systems 302, for example GPS coordinates, WLAN BSSID, and GPRS cell ID. The device may be configured to periodically send these clues (415) to the system server 304, or it may have various virtual locations pre-identified within its memory and then simply match the detected clues with those stored in order to determine that it has entered the virtual location. As a further alternative it may only request a virtual location identity when a new clue and/or wireless service provider 302 is identified.
The device then receives the virtual location information (420), and if required a virtual location identifier C. The device may not require the virtual location identifier at all, and may simply receive the activity based location information. The device may be configured simply to display or store this information, or it may be configured to adjust an operating or user interface parameter dependent on the received activity based information (425).' For example the user interface start menu may be rearranged to put the most popular activities currently or historically engaged in by others in the virtual location towards the top of the menu. As mentioned above, the other users on which the downloaded activity based information is dependent may be restricted to suers having the same profile - for example middle aged executive compared with teenage gamer. In an alternative arrangement, the user may be directly prompted as to whether they wish to start the most popular activity. If the virtual location corresponds to a darkened room for example, other users may have switched their backlights on, and the device of the user newly entering the virtual location may be configured to automatically switch its backlight on.
Another example of device adjustment or automatic re-configuration when receiving the activities based information, the device may determine that it is unlikely to carry out certain activities such as playing games, and may therefore shut down its 3D graphics capability in order to reduce power consumption. The device may also be configured to provide a quick-link list of things to do in the new virtual location. Other examples include changing on-line presence from "Available" to "Do not disturb" in a chat application for example, automatically downloading some service or content, and vibrate on ringer off.
The activity based information (or VLP) provided to a user device by the system or server is system configurable. For example the information may simply be a list of the most popular activities within certain predefined activity categories such as web browsing, media streaming, gaming, and device re-configuring. Respective activity examples include most popular web-sites visited within the virtual location, most popular songs or videos streamed, most popular peer-to- peer games played, and the most common device adjustments such as ringer off and/or backlight on. These lists of activities in each activity category may be further categorised for example according to user profile and/or time.
The provided activity based information may alternatively relate to changes or anomalies in activity patterns. For example some groups (eg Police) may be interested in building a view of the least popular activities or significant changes in type of content consumed at a location.
The device 301 is also likely to be configured to automatically monitor its own user activities (430), for example by simply noting a code for each of a number of predetermined processes - web-browser application, email client, media streaming client, game playing application, e-book reading application, and so on. This information may be accumulated locally over a period, and then sent to the central server (435). This may even extend to the device 301 storing activity related data for a number of different virtual locations and then uploading the data to the central server 304 say at the end of the day, when it is synchronised with a wired PC for example. Alternatively each new process activated on the device may trigger it to report this to the server 304. As a further alternative, the device 301 may have a standard template which is updated periodicaljy and forwarded to the server after a period. The recorded processes can be time-stamped in order to aid processing by the central server, and the data sent may also include the length of time over which a process was active. The method (400) then returns to the receiving activity based information step (420) to refresh this information. In this way, users of devices in a virtual location may affect each other over time, for example an event may cause a number of users to access a particular web-site, which in turn may prompt other users in the virtual location to do the same.
The system may be configured to bias towards current or recent user activity information, or it may be more historically based, using data about the processes run on many devices over a considerable period of time.
Figure 5 shows a method for the central server 304 which receives device process data from a number of devices 301 in a number of virtual locations 300. The method (500) comprises two branches, in the first the server processes requests for identifiers for virtual locations, and receives clues from devices (505) such as the various wireless services providers it is able to currently access and/or their identifiers. The server determines from these clues a corresponding virtual location (515). This may be achieved simply by attempting to match the received clues with clues corresponding to a number of predetermined virtual locations. The server 304 then retrieves and sends the virtual location identifier to the requesting device (520). The method (500) then moves on to sending activity based information for that virtual location to the requesting device (535).
The second branch of the method (500) relates to monitoring and sending activity based information to devices within a virtual location. The server 304 receives data about processes on each device within a virtual location (525), and updates the activity based information it holds for that virtual location (530). This may comprise re-processing all the stored activity based information, for example the new process data may be used to adjust a "top activities" list within the activity based information. The updated information is then sent to the devices within the corresponding virtual location (535), and the method returns to receive further data about processes on the devices (525). Figure 6 illustrates another embodiment in which virtual locations can include non- wireless devices. The virtual locations 600 include wireless devices 601 which determine whether they are within a virtual location 600 by reference to wireless clues associated with a number of wireless service providers 602. For example in the case of the first virtual location A, the wireless 5 clues 602 are a coordinates range provided by the GPS system, a WLAN access point identifier WiFi(a), and a Bluetooth MAC address BT. If the device 601 detects all three clues 602, then it can assume it is within virtual location A.
However a fixed or wired device 603a can also be determined to be within the virtual
10 location A without reference to the wireless clues 602. In this example, a personal computer PC is connected for example by Ethernet to the WLAN access point WiFi(a), and by virtue of the type of wired connection (Ethernet is typically used only locally) is determined to be within the virtual location. For example the system could automatically link wired devices together by fact that they are all connected into a switch and use specific IP addresses within a certain range. The wireless
15 access point that provides the wireless network would also be connected on to the same LAN and switch and have a specific IP addresses within the same range. Also the LAN switch and
WLAN access point may be connected to the Internet via a specific router or gateway. An external service could therefore assume that any information request via this router or gateway was within the same virtual location. Alternatively a static PC could simply be assigned to a virtual
20 location. In this way the system still records user initiated activities (time, device and user specific) at specified locations and provides that information back to any device, service, or application within that virtual location that could benefit.
For example, in a library setting corresponding to a virtual location, all the wired
25 computers provided to users of the library may be determined to be within the library virtual location. The wired device 603a may in fact not be within the physical range of the various wireless service providers 602 providing the virtual location clues, however is consider logically to be within the virtual location.
30 In the example of virtual location B, there is no Ethernet or other (relatively) short distance wired connection between the wired device 603b and a wireless service provider 602 associated with that virtual location. In this case, a personal computer PC or other device is not at all associated by physical location with other devices within the virtual location, but is logically associated by being assigned as being part of the virtual location B. The remote device 603b may
35. be connected to the server via the internet for example. For example, a pub regular may be in another country on business but may want to virtually interact with his friends in their usual or local pub, and may do so according to this embodiment by assigning the PC the virtual location identifier B of the virtual location B, in order to receive the activities based information corresponding to the virtual location B from the server. The assigned PC 603b may or may not upload data about its own activities or processes to the central server. In this way, the remote PC 603b may also be influenced by what other devices are doing within the virtual location B. This might be extended for example to supporters of a football team, some of whom may not be in a particular location to watch a match, but want to participate remotely at the location with other members of the football team supporters club. This concept could even be used as a way to build and support virtual communities, groups and Special Interest Groups.
Figure 7 illustrates another embodiment using a peer-to-peer architecture to implement the activities based view of a virtual location. As with the arrangement of figure 2, each of the devices 701 is using a number of wireless gateways or service providers 702 to perform various activities such as surfing the Internet. Other activities not requiring wireless links 703 may also be carried out on the devices 701. Each device 701 also includes additional functionality 704 to carry out the monitoring of device based processes within the virtual location. Each device polls 705 . each other device 701 within the virtual location 700 about the types of activities it is engaging in. Instead of this data being stored in a central server, each respective device 701 stores this information locally and if so configured, adjusts its user interface or some other operating parameter depending on the activities based information received.
A protocol for determining and agreeing a virtual location can be used, for example all devices that recognise the Bluetooth piconet coordinator BT, the WLAN access point WiFi, and the cellular base station CDMA.
Figure 8 is a flow chart showing operation of a device using the peer-to-peer architecture of figure 7. Following initiation (805) of the system or method (800), the device determines location clues (810) for example various wireless technology beacons and GPS coordinates. It agrees with other wireless devices within its vicinity that it is within a particular virtual location, and requests data from other devices using the same virtual location identifier about the user processes running on them (815). Activity based information from the other devices in the same virtual location is received (820), and the device updates its own on-board database or store of activity based information within the virtual location (825). The device may then adjust its user interface or other operating parameter as described above according to the activities based information recovered (830). The method then returns to the requesting step (815) in order to refresh the activity based information for the devices current virtual location.
Although not shown, the device is also configured to respond to requests for its own processes data from other devices within the same virtual location, forwarding this data to them.
Whilst the embodiments have been described with respect to providing or acting on downloaded activity based information, this information could also be used to infer further information or context about a virtual location. For example a high number or percentage of eBook applications may indicate a library or coffee shop with a high likelihood of having seating and food facilities for reading eBooks,
Whilst embodiments have been described with respect to automatically determining process data related to user activities in a virtual location, and providing this to other users within the virtual location, this gathered information or process data could additionally or alternatively be provided to others who are not in the virtual location. For example a user at a home PC may be reviewing the activity based view of a number of nearby locations, to identify a gaming hotspot.
This facility may also be used by others at significant geographical distances but who are intending to visit a city and want to view it in an activity based way, for example in order to plan a nightlife "tourist" itinerary. The gathered process data in this case may be associated with a geographical location, which may be provided using a definition of the virtual location which includes real coordinates such as provided by GPS.
This geographically associated activity based information can then be used by other users, for example in mapping and/or search engine type applications. Thus a map of a city may show gaming hotspots, quiet spaces for reading eBooks, areas having high numbers of web-site hits relating to a particular pop-star, or even bars or cafes where certain user profiles are prevalent.
The skilled person will recognise that the above-described apparatus and methods may be embodied as processor control code, for example on a carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. For many applications embodiments of the invention will be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus the code may comprise conventional programme code or microcode or, for example code for setting up or controlling an ASIC or FPGA. The code may also comprise code for dynamically configuring re-configurable apparatus such as re-programmable logic gate arrays. Similarly the code may comprise code for a hardware description language such as Verilog ™ or VHDL (Very high speed integrated circuit Hardware Description Language). As the skilled person will appreciate, the code may be distributed between a plurality of coupled components in communication with one another. Where appropriate, the embodiments may also be implemented using code running on a field- (re)programmable analogue array or similar device in order to configure analogue hardware.
The skilled person will also appreciate that the various embodiments and specific features described with respect to them could be freely combined with the other embodiments or their specifically described features in general accordance with the above teaching. The skilled person will also recognise that various alterations and modifications can be made to specific examples described without departing from the scope of the appended claims.

Claims

1. A method of profiling a location to provide activity based information associated with the location, the method comprising: automatically detecting an activity performed by at least one wireless communications device; determining the location of each at least one wireless communications device performing said activity; determining data about a process associated with said activity and correlating this with information associated with the location of a plurality of said devices; receiving at another device, activity based information which is dependent on the determined process data, said activity based information providing a profile of the location.
2. A method according to claim 1 wherein said other device comprises a wireless communications device and said step of receiving at another device activity based information automatically occurs when said other device crosses a boundary into said location.
3. A method according to claim 1 or 2 wherein said step of receiving at another device activity based information occurs when said other device is located within said location and a user of said other device generates a request for activity based information on the user's location.
4. A method according to claim 1 or 2 wherein said step of receiving at another device activity based information occurs when said device is not in said location and a comprises the steps of: said other device generating a request for said activity based information; and providing said activity based information in association with said location.
5. A method according to claim 4 further comprising the step of: identifying the location of the other device; and providing navigation information to said other device from its location to the location associated with the activity based information.
6. A method according to any previous claim wherein the location associated with the activity based information comprises a geographic location.
7. A method according to any one of claims 1 to 5 wherein the location associated with the activity based information is identified as a virtual location.
8. A method according to any previous claim wherein the step of automatically determining data about a process associated with an activity comprises the step of uploading said data to a server and wherein the step of receiving at another device said activity based information comprises the step of downloading the activity based information from the server to the receiving device.
9. A method according to any one of claims 1 to 7, wherein the determining data about activity associated processes comprises the receiving device requesting said data from other devices within the virtual location over peer-to-peer communication links; and wherein receiving said information comprises receiving said data over said links.
10. A method according to any one preceding claims wherein the location is defined by a wireless service provider identifier.
11. A method according to any one preceding claim wherein the activity comprises: establishing an Internet connection and/or browsing the Internet; establishing an email - connection; establishing a streaming media connection; downloading files; uploading files; changing the user interface of the respective device; executing an application on the respective device.
12. A method according to any one preceding claim wherein the received activity based information comprises a pre-determined number of the most popular activities in a number of activity categories.
13. A method according to any one preceding claim wherein the automatically determined process data comprises an indication of each of a number of predetermined processes running on the device together with a location identifier.
14. A method according to any one preceding claim wherein the received activity based information is further dependent on a user profile associated with the other device.
15. A method according to any one preceding claim wherein the received activity based information is further dependent on the time at which it is received.
16. A method according to any one preceding claim wherein operational parameters of the receiving device are adjusted according to the received activity based information.
17. A method according to any one preceding claim wherein the received activity based information is further associated with a geographical identifier.
18. A carrier medium carrying processor code which when implemented on a processor is arranged to carry out a method according to any one preceding claim.
19. A system for providing activity based information for a location, the system comprising: means for defining the location; means for automatically determining data about a process associated with an activity on a device within the location; means for receiving, at another device within the location, activity based information which is dependent on the determined process data.
20. A system as claimed in claim 19, arranged to profile a location to provide activity based information associated with the location, wherein: said means for defining the location comprise location-positioning apparatus arranged to define the geographic location, and further comprise means to generate information identifying the position of said location;
said means for automatically determining data about a process associated with an activity comprise means for determining data about a process associated with activity of at least one wireless communication device within the location;
wherein said means for receiving at another device comprise means for receiving activity based information providing a profile of the location and means for receiving information identifying the position of said location.
21. A system as claimed in claim 18 or 20, wherein said other device comprises a wireless communications device and said system communicates information to said other device using a wireless transmission link.
22. A device comprising: means for identifying a defined location; means for automatically determining data about a process on the device associated with an activity; and means for receiving activity based information which is dependent on determined process data associated with other devices.
23. A device according to claim 22 wherein the means for determining data about activity associated processes comprises means for uploading said data to a server and wherein the means for receiving activity based information comprises means for downloading said information from the server.
24. A device according to claim 22 wherein the determining data about activity associated processes comprises means for requesting said data from other devices within the location over peer-to-peer communication links; and wherein the means for receiving said information comprises means for receiving said information over said links from the other devices.
25. A device according to any one of claims 22 to 24 wherein the means for determining the process data comprises means for sending an indication of each of a number of predetermined processes running on the device together with a virtual location identifier.
26. A device according to any one of claims 22 to 24 wherein the received activity based information is further dependent on a user profile associated with the device.
27. A device according to any one of claims 22 to 24 wherein the received activity based information is further dependent on the time at which it is received.
28. A device according to any one claims 22 to 24 and arranged such that operational parameters of said device are adjusted according to the received activity based information.
29. A device according to any one of claims 22 to 24 wherein the received activity based information is further associated with a geographical identifier.
30.. A server arranged to provide information profiling a location by associating a location with activity based information, the server comprising: means for identifying a location; means for receiving automatically determined data about a process associated with an activity on a device within the location; means for forwarding to another device within the location activity based information which is dependent on the determined process data.
31. A method of identifying a geographic location in dependence of activity based information associated with usage of communications devices within the location, the method comprising: automatically determining data about a process associated with an activity on a communications device within a communications network; determining the location of the communications device performing the activity; associating the activity data with the location; requesting at another device a location associated with said activity; receiving at said other device said activity based information which is dependent on the determined process data and associated with the geographical location.
32. A method according to claim 31 wherein the activity based information comprises a geographical identifier.
33. A method according to claim 31 or 32 wherein the determined process data comprises a geographical identifier.
34. A method according to claim 32 or 33 wherein the geographical identifier comprises GPS coordinates and/or a post code.
35. A method according to any one of preceding claims 31 to 34 wherein the determining data about activity associated processes comprises uploading said data to a server and wherein the activity based information is downloaded from the server to the receiving device.
36. A method according to any one of preceding claims 31 to 35 wherein the determining data about activity associated processes comprises the receiving device requesting said data from other devices within the location over peer-to-peer communication links; and wherein receiving said information comprises receiving said data over said links.
37. A method according to any one of preceding claims 31 to 36 wherein the activity comprises: establishing an Internet connection and/or browsing the Internet; establishing an email connection; establishing a streaming media connection; downloading files; uploading files; changing the user interface of the respective device; executing an application on the respective device.
38. A method according to any one of preceding claims 31 to 37 wherein the received activity based information comprises a number of the most popular activities in a number of activity categories.
39. A method according to any one of preceding claims 31 to 38 wherein the automatically determined process data comprises an indication of each of a number of predetermined processes running on the device together with a location identifier.
40. A method according to any one of preceding claims 31 to 39 wherein the received activity based information is further dependent on a user profile associated with the other device.
41. A method according to any one of preceding claims 31 to 40 wherein the received activity based information is further dependent on the time at which it is received.
42. A method according to any one of preceding claims 31 to 41 wherein operational parameters of the receiving device are adjusted according to the received activity based information.
43. A carrier medium carrying processor code which when implemented on a processor is arranged to carry out a method according to any one of preceding claims 31 to 42.
44. A system for providing activity based information for a location, the system comprising: means for defining a geographical location; means for automatically determining data about a process associated with an activity on a device within the location; means for receiving at another device within the location activity based information which is dependent on the determined process data and the geographical location.
45. A device comprising: means for identifying a geographical location; means for automatically determining data about a process on the device associated with an activity; means for receiving activity based information which is dependent on determined process data associated with other devices and the geographical location.
46. A device according to claim 45 wherein the activity based information and/or the determined process data comprises a geographical identifier.
47. A device according to claim 45 or 46 wherein the means for determining data about activity associated processes comprises means for uploading said data to a server and wherein the means for receiving activity based information comprises means for downloading said information from the server.
48. A device according to claim 45 or 46 wherein the determining data about activity associated processes comprises means for requesting said data from other devices within the location over peer-to-peer communication links; and wherein the means for receiving said information comprises means for receiving said information over said links from the other devices.
49. A device according to any one of claims 45 to 48 wherein the means for determining the process data comprises means for sending an indication of each of a number of predetermined processes running on the device together with a location identifier.
50. A device according to any one of claims 45 to 49 wherein the received activity based information is further dependent on a user profile associated with the device.
51. A device according to any one claims 45 to 50 and arranged such that operational parameters of said device are adjusted according to the received activity based information.
52. A server for providing activity based information for a location, the server comprising: means for identifying a geographical location; means for receiving from a device within the location automatically determined data about a process associated with an activity on the device; means for forwarding to another device within the location activity based information which is dependent on the determined process data and the geographical location.
EP06779581A 2005-09-30 2006-09-29 Information based on location and activity of a user Withdrawn EP1929749A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP06779581A EP1929749A1 (en) 2005-09-30 2006-09-29 Information based on location and activity of a user

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP05256148A EP1770956A1 (en) 2005-09-30 2005-09-30 Information based on location and activity of a user
EP05256147A EP1770955A1 (en) 2005-09-30 2005-09-30 Information based on location and activity of a user
PCT/GB2006/003630 WO2007036737A1 (en) 2005-09-30 2006-09-29 Information based on location and activity of a user
EP06779581A EP1929749A1 (en) 2005-09-30 2006-09-29 Information based on location and activity of a user

Publications (1)

Publication Number Publication Date
EP1929749A1 true EP1929749A1 (en) 2008-06-11

Family

ID=37499315

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06779581A Withdrawn EP1929749A1 (en) 2005-09-30 2006-09-29 Information based on location and activity of a user

Country Status (3)

Country Link
US (1) US20080248809A1 (en)
EP (1) EP1929749A1 (en)
WO (1) WO2007036737A1 (en)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832100B2 (en) 2005-09-14 2014-09-09 Millennial Media, Inc. User transaction history influenced search results
US8131271B2 (en) * 2005-11-05 2012-03-06 Jumptap, Inc. Categorization of a mobile user profile based on browse behavior
US8615719B2 (en) 2005-09-14 2013-12-24 Jumptap, Inc. Managing sponsored content for delivery to mobile communication facilities
US8989718B2 (en) 2005-09-14 2015-03-24 Millennial Media, Inc. Idle screen advertising
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US8812526B2 (en) 2005-09-14 2014-08-19 Millennial Media, Inc. Mobile content cross-inventory yield optimization
US8805339B2 (en) 2005-09-14 2014-08-12 Millennial Media, Inc. Categorization of a mobile user profile based on browse and viewing behavior
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8156128B2 (en) 2005-09-14 2012-04-10 Jumptap, Inc. Contextual mobile content placement on a mobile communication facility
US8688671B2 (en) 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
US8027879B2 (en) 2005-11-05 2011-09-27 Jumptap, Inc. Exclusivity bidding for mobile sponsored content
US8364540B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Contextual targeting of content using a monetization platform
US8666376B2 (en) 2005-09-14 2014-03-04 Millennial Media Location based mobile shopping affinity program
US8660891B2 (en) 2005-11-01 2014-02-25 Millennial Media Interactive mobile advertisement banners
US7769764B2 (en) 2005-09-14 2010-08-03 Jumptap, Inc. Mobile advertisement syndication
US8290810B2 (en) 2005-09-14 2012-10-16 Jumptap, Inc. Realtime surveying within mobile sponsored content
US7577665B2 (en) 2005-09-14 2009-08-18 Jumptap, Inc. User characteristic influenced search results
US10592930B2 (en) 2005-09-14 2020-03-17 Millenial Media, LLC Syndication of a behavioral profile using a monetization platform
US8209344B2 (en) 2005-09-14 2012-06-26 Jumptap, Inc. Embedding sponsored content in mobile applications
US8433297B2 (en) 2005-11-05 2013-04-30 Jumptag, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US8103545B2 (en) 2005-09-14 2012-01-24 Jumptap, Inc. Managing payment for sponsored content presented to mobile communication facilities
US8364521B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Rendering targeted advertisement on mobile communication facilities
US9201979B2 (en) 2005-09-14 2015-12-01 Millennial Media, Inc. Syndication of a behavioral profile associated with an availability condition using a monetization platform
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US8311888B2 (en) 2005-09-14 2012-11-13 Jumptap, Inc. Revenue models associated with syndication of a behavioral profile using a monetization platform
US20110313853A1 (en) 2005-09-14 2011-12-22 Jorey Ramer System for targeting advertising content to a plurality of mobile communication facilities
US9076175B2 (en) 2005-09-14 2015-07-07 Millennial Media, Inc. Mobile comparison shopping
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
US8302030B2 (en) 2005-09-14 2012-10-30 Jumptap, Inc. Management of multiple advertising inventories using a monetization platform
US8238888B2 (en) 2006-09-13 2012-08-07 Jumptap, Inc. Methods and systems for mobile coupon placement
US7676394B2 (en) 2005-09-14 2010-03-09 Jumptap, Inc. Dynamic bidding and expected value
US8229914B2 (en) 2005-09-14 2012-07-24 Jumptap, Inc. Mobile content spidering and compatibility determination
US7702318B2 (en) 2005-09-14 2010-04-20 Jumptap, Inc. Presentation of sponsored content based on mobile transaction event
US9471925B2 (en) 2005-09-14 2016-10-18 Millennial Media Llc Increasing mobile interactivity
US8819659B2 (en) 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
US7912458B2 (en) 2005-09-14 2011-03-22 Jumptap, Inc. Interaction analysis and prioritization of mobile content
US7660581B2 (en) 2005-09-14 2010-02-09 Jumptap, Inc. Managing sponsored content based on usage history
US8175585B2 (en) 2005-11-05 2012-05-08 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US8055762B2 (en) * 2007-04-16 2011-11-08 Samsung Electronics Co. Ltd Method and system for location identification
US7921218B2 (en) * 2007-06-15 2011-04-05 Samsung Electronics Co., Ltd. Method and system for generating a space signature
US20090119155A1 (en) * 2007-09-12 2009-05-07 Regions Asset Company Client relationship manager
US20090228574A1 (en) * 2008-03-10 2009-09-10 Jill Lewis Maures Digital media content distribution and promotion methods
US20090228567A1 (en) * 2008-03-10 2009-09-10 Jill Lewis Maurer Digital media content promotion methods including automatic alerts
US9218465B2 (en) 2008-03-10 2015-12-22 Jill Lewis Maurer Digital media content creation and distribution methods
US8078192B2 (en) * 2008-04-22 2011-12-13 Nokia Corporation Supporting the use of a virtual reference station
EP2120411A1 (en) 2008-05-15 2009-11-18 France Telecom Adaptation of the presence status in instant messaging
US8462745B2 (en) * 2008-06-16 2013-06-11 Skyhook Wireless, Inc. Methods and systems for determining location using a cellular and WLAN positioning system by selecting the best WLAN PS solution
US8022877B2 (en) 2009-07-16 2011-09-20 Skyhook Wireless, Inc. Systems and methods for using a satellite positioning system to detect moved WLAN access points
US8594738B2 (en) * 2009-09-01 2013-11-26 Qwest Communications International Inc. System, method and apparatus for automatic location-based silencing of wireless transceivers
US8425289B2 (en) * 2009-09-23 2013-04-23 Disney Enterprises, Inc. Traveling virtual pet game system
US8638256B2 (en) 2009-09-29 2014-01-28 Skyhook Wireless, Inc. Accuracy and performance of a hybrid positioning system
JP2011107557A (en) * 2009-11-20 2011-06-02 Fuji Xerox Co Ltd Image forming apparatus
WO2011128722A1 (en) * 2010-04-12 2011-10-20 Nokia Corporation Selection of a relative positioning method
SG177018A1 (en) 2010-06-09 2012-01-30 Smart Communications Inc System and method for the provision of content to a subscriber
US9374670B2 (en) * 2010-08-20 2016-06-21 Blackberry Limited System and method for determining a location-based preferred media file
EP2424199B1 (en) * 2010-08-27 2015-01-14 BlackBerry Limited System and method for determining action spot locations relative to the location of a mobile device
US8326327B2 (en) 2010-08-27 2012-12-04 Research In Motion Limited System and method for determining action spot locations relative to the location of a mobile device
US20120096088A1 (en) * 2010-10-14 2012-04-19 Sherif Fahmy System and method for determining social compatibility
US9143881B2 (en) * 2010-10-25 2015-09-22 At&T Intellectual Property I, L.P. Providing interactive services to enhance information presentation experiences using wireless technologies
EP2635915B1 (en) 2010-11-03 2016-05-18 Skyhook Wireless, Inc. Method of system for increasing the reliability and accuracy of location estimation in a hybrid positioning system
US20130103760A1 (en) * 2011-04-11 2013-04-25 Robert K. Golding Location-sensitive virtual identity system, apparatus, method and computer-readable medium
US8788520B2 (en) 2011-08-30 2014-07-22 International Business Machines Corporation Gathering device attributes from multiple devices to exploit the common or complimentary features on those devices
US20140129334A1 (en) * 2012-11-02 2014-05-08 Pitney Bowes Inc. Method and system for modeling consumer activity areas based on social media and mobile data
JP2014197759A (en) * 2013-03-29 2014-10-16 富士通株式会社 Presence management method, information processing device, and program
US9756549B2 (en) * 2014-03-14 2017-09-05 goTenna Inc. System and method for digital communication between computing devices
CN105430032A (en) 2014-09-17 2016-03-23 阿里巴巴集团控股有限公司 Method of pushing information by combining geographic position of terminal, and server
US9872150B2 (en) 2015-07-28 2018-01-16 Microsoft Technology Licensing, Llc Inferring logical user locations
US10013462B2 (en) * 2015-07-28 2018-07-03 Microsoft Technology Licensing, Llc Virtual tiles for service content recommendation
US9565521B1 (en) 2015-08-14 2017-02-07 Samsung Electronics Co., Ltd. Automatic semantic labeling based on activity recognition
US11263552B2 (en) 2018-11-12 2022-03-01 International Business Machines Corporation Preparing computing devices in anticipation of predicted user arrival
US11184476B2 (en) 2019-10-01 2021-11-23 International Business Machines Corporation Preventing photo image related risks

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555376A (en) * 1993-12-03 1996-09-10 Xerox Corporation Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request
US5889518A (en) * 1995-10-10 1999-03-30 Anysoft Ltd. Apparatus for and method of acquiring, processing and routing data contained in a GUI window
US7058376B2 (en) * 1999-01-27 2006-06-06 Logan James D Radio receiving, recording and playback system
US6421068B1 (en) * 1997-09-04 2002-07-16 Ncr Corporation Method for collecting and displaying information for activex controls simplifying CTI enabled application development
US6215784B1 (en) * 1997-12-24 2001-04-10 Nortel Networks Limited Method and system for voice call completion using information retrieved from an open application on a computing machine
DE19811829A1 (en) * 1998-03-18 1999-09-30 Siemens Ag Method for determining and processing information relevant for establishing a telephone connection in a CTI system and corresponding CTI system
EP1068717B1 (en) * 1998-03-31 2011-03-02 BRITISH TELECOMMUNICATIONS public limited company Computer telephony integration
US6289373B1 (en) * 1998-08-24 2001-09-11 Rockwell Electronic Commerce Corp. Method of processing E-mail in an automatic call distributor
US6442242B1 (en) * 1999-06-25 2002-08-27 Verizon Services Corporation Multifunction autoattendant system and method of operation thereof
US6287200B1 (en) * 1999-12-15 2001-09-11 Nokia Corporation Relative positioning and virtual objects for mobile devices
US7096029B1 (en) * 2000-04-05 2006-08-22 Microsoft Corporation Context aware computing devices having a common interface and related methods
WO2002020111A2 (en) * 2000-09-07 2002-03-14 Omnisky Corporation Coexistent interaction between a virtual character and the real world
AU2002219857A1 (en) * 2000-11-27 2002-06-03 Butterfly.Net, Inc. System and method for synthesizing environments to facilitate distributed, context-sensitive, multi-user interactive applications
US7685224B2 (en) * 2001-01-11 2010-03-23 Truelocal Inc. Method for providing an attribute bounded network of computers
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
JP4684536B2 (en) * 2001-05-08 2011-05-18 ユナイテッド パーセル サービス オブ アメリカ インコーポレイテッド Carrier and parcel delivery desktop tools
US7013149B2 (en) * 2002-04-11 2006-03-14 Mitsubishi Electric Research Laboratories, Inc. Environment aware services for mobile devices
US20040032410A1 (en) * 2002-05-09 2004-02-19 John Ryan System and method for generating a structured two-dimensional virtual presentation from less than all of a three-dimensional virtual reality model
US20030217171A1 (en) * 2002-05-17 2003-11-20 Von Stuermer Wolfgang R. Self-replicating and self-installing software apparatus
US7170881B2 (en) * 2002-10-29 2007-01-30 Nokia Corporation Method and apparatus providing user programmable, personalized location-aware services
US20050215284A1 (en) * 2004-03-26 2005-09-29 Broadcom Corporation Collaborative coexistence with dynamic prioritization of wireless devices
US7383517B2 (en) * 2004-04-21 2008-06-03 Microsoft Corporation System and method for acquiring a target with intelligent pointer movement
US7310625B2 (en) * 2004-08-12 2007-12-18 Sap Aktiengesellschaft Knowledge network generation
US20060094456A1 (en) * 2004-10-29 2006-05-04 Rittle Loren J Device and method for service discovery in adhoc networks using beacon signalling
US20060106674A1 (en) * 2004-11-16 2006-05-18 Gpshopper, Inc. Mobile shopping method and application

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2007036737A1 *

Also Published As

Publication number Publication date
US20080248809A1 (en) 2008-10-09
WO2007036737A1 (en) 2007-04-05

Similar Documents

Publication Publication Date Title
US20080248809A1 (en) Location Aware Activity Profiling
EP1770956A1 (en) Information based on location and activity of a user
US20140071895A1 (en) Network Selection Based On Customizing Crowdsourced Connection Quality Data
JP5855292B2 (en) Method for locating data spot, and network and user equipment using data spot
US8069219B2 (en) Method and apparatus for implementing a mobile web server based system
KR100976430B1 (en) Mobile wireless presence and situation management system and method
US8750906B2 (en) Dynamic elements on a map within a mobile device, such as elements that facilitate communication between users
EP2641382B1 (en) Interacting with a subscriber to a social networking service based on passive behavior of the subscriber
US8040858B2 (en) Method for enabling communications between a communication device and a wireless access point
US20040242240A1 (en) Location assisted communications mode switching
US10410251B2 (en) System and method for handset operation in a wireless communication network
US20090233602A1 (en) Personalisable heterogeneous network handover scheme
US7634294B2 (en) Method and apparatus for exchanging content over distinct wireless access technologies
US20070037574A1 (en) Method and apparatus of a location-based network service for mutual social notification
US20110244875A1 (en) System and method for direct communication between wireless communication devices
US20120072528A1 (en) Methods of processing requests for content and initiating an interconnection for the content
US20130090093A1 (en) Method for Communications Between a Communication Device and Wireless Access Points
US20090017749A1 (en) System and Method for Enhancing Live Events via Coordinated Content Delivery to Mobile Devices
WO2012149031A2 (en) System and method for management of a dynamic network using wireless communication devices
KR20150031426A (en) Determining availability of an access network
WO2013140384A2 (en) Hot spot detection
US8577732B1 (en) Method and system for providing custom background-downloads
JP2007104663A (en) Database construction method, database capturing system, and distribution method of location relating information
EP1770955A1 (en) Information based on location and activity of a user
US8095642B1 (en) Method and apparatus for dynamically adjusting frequency of background-downloads

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20080222

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20120403