WO2006008559A2 - A method of mapping a first interface to a second interface, and people presence estimation method - Google Patents

A method of mapping a first interface to a second interface, and people presence estimation method Download PDF

Info

Publication number
WO2006008559A2
WO2006008559A2 PCT/GB2005/050117 GB2005050117W WO2006008559A2 WO 2006008559 A2 WO2006008559 A2 WO 2006008559A2 GB 2005050117 W GB2005050117 W GB 2005050117W WO 2006008559 A2 WO2006008559 A2 WO 2006008559A2
Authority
WO
WIPO (PCT)
Prior art keywords
electronic data
data communication
address
interface
user
Prior art date
Application number
PCT/GB2005/050117
Other languages
French (fr)
Other versions
WO2006008559A3 (en
Inventor
Abdol Hamid Aghvami
Paul Anthony Pangalos
Vasilis Athanasios Friderikos
Michael Dohler
Original Assignee
King S College London
Abdol Hamid Aghvami
Paul Anthony Pangalos
Vasilis Athanasios Friderikos
Michael Dohler
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 GB0416467A external-priority patent/GB2416645A/en
Priority claimed from GB0416470A external-priority patent/GB2416648A/en
Application filed by King S College London, Abdol Hamid Aghvami, Paul Anthony Pangalos, Vasilis Athanasios Friderikos, Michael Dohler filed Critical King S College London
Priority to GB0701678A priority Critical patent/GB2432757A/en
Publication of WO2006008559A2 publication Critical patent/WO2006008559A2/en
Publication of WO2006008559A3 publication Critical patent/WO2006008559A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0226Mapping or translating multiple network management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Definitions

  • the present invention relates to a method of mapping a first interface to a second interface, to a method of delivering data to an electronic data communication device, to a method of assigning a reward to a customer, to a network node, to a computer program and to a computer program product.
  • Both first generation mobile and second generation mobile digital terminals were designed primarily to receive a single service i.e. speech. They also have limited capability to accept low data rates over voice channels using conventional modems e.g. Short Messaging Service (SMS) on second generation mobile.
  • SMS Short Messaging Service
  • third and fourth generation mobile is expected to support high-quality multimedia over the cellular network.
  • Mobile devices are increasingly being manufactured with the ability to connect to a wide variety of different networks over a number of interlaces.
  • PDAs Personal Digital Assistants
  • mobile telephones are now provided with a cellular interface (e.g. GSM), possibly a wireless interface (e.g. Wireless LAN) and with a short-range interface (e.g. Bluetooth®). If not actually provided with such interfaces many of the devices are adaptable with network interface cards.
  • GSM Global System for Mobile Communications
  • wireless interface e.g. Wireless LAN
  • Bluetooth® short-range interface
  • mobile devices have the possibility of communicating wirelessly with many other networks including the cellular network, the Internet and directly with other users by establishing an ad-hoc network (such as a piconet under Bluetooth®).
  • ad-hoc network such as a piconet under Bluetooth®.
  • Such devices are herein referred to as multimode devices.
  • Each interface in the mobile device remains autonomous and has its own identifier recognisable by its own network but 'invisible' to others.
  • the cellular network "sees" only cellular interfaces and mobile devices are recognised and addressed by the mobile telephone number and International Subscriber Identity (IMSI) number; WLAN access points see only WLAN interfaces and mobile devices are recognised and addressed by the Media Access Control (MAC) address of the wireless network interlace card; and a Bluetooth® device sees only other Bluetooth® devices and other Bluetooth® devices are recognised and addressed with a Bluetooth® device address (BD ADDR), similar to a MAC address.
  • IMSI International Subscriber Identity
  • WLAN access points see only WLAN interfaces and mobile devices are recognised and addressed by the Media Access Control (MAC) address of the wireless network interlace card
  • MAC Media Access Control
  • Bluetooth® device sees only other Bluetooth® devices and other Bluetooth® devices are recognised and addressed with a Bluetooth® device address (BD ADDR), similar to a MAC address.
  • BD ADDR Bluetooth® device address
  • the cellular network has no knowledge of the identity of the wireless and Bluetooth® interfaces on the same mobile device. Accordingly, service providers offer their services only in a homogeneous manner i.e. using only one interface on the user's mobile device. For example, ORANGE® may offer their customers voice and data (e.g. text messaging, e-mail) services only over the GSM interface. Some Internet services are now available over the cellular interface of a mobile device, such as the General Packet Radio Service (GPRS) that uses the GSM interface. Other services launched recently by mobile service providers include multiplayer gaming facilities on mobile phones. For example the NOKIA N-GAGE® comprises a Bluetooth® interface via which users in range may play multiplayer games.
  • GPRS General Packet Radio Service
  • Multimode will greatly enhance existing services. For example, multiplayer games will be able to be played by users not just in range of other Bluetooth® devices, but by several users in Bluetooth® range and several other users participating over the cellular network and/or a WLAN.
  • a further problem with which the present invention is concerned is the provision of information to customers of businesses.
  • customers are targeted with a wide range of advertising and promotional information some of which is partly customised based on a user's shopping history for example.
  • This information is usually sent by mail and e-mail. This is inefficient and relatively expensive for the business operator. Furthermore the customer often does not want to receive such information through these communication channels.
  • a method of mapping a first interface to a second interface both of an electronic data communication device which first interface enables exchange of data with a first electronic data communication network and which second interface enables exchange of data with a second electronic data communication network, the method comprising the steps of:
  • the addresses may be representative of interfaces on the same or different devices.
  • the addresses may be representative of interfaces owned or used by one particular user or a group of users.
  • Each address representative of each interface may be a physical hardware address or a software address such as a telephone number, e- mail address or Uniform Resource Identifier (URI) such as a presence address e.g. a Session Initiation Protocol (SIP) URI.
  • URI Uniform Resource Identifier
  • the address representative of the first interface is a physical address and the address representative of the second interlace is a software address.
  • the address representative of the second interface might be a broadcast MAC address used by a digital broadcast network for example.
  • the electronic data communication device may be any mobile device such as a mobile telephone, PDA, etc.
  • a mobile telephone PDA
  • One particular advantage of this method is that no hardware or software changes are necessary at the electronic data communication device and therefore the method can be easily deployed by network operators. Gathering and storage of these mappings enables businesses to determine when customers enter their premises for example and to send data to the electronic data communication device at that time. This is a major benefit, particularly as users do not need any special hardware or software.
  • step (1) comprises the steps of scanning radio frequencies for an indication of the presence of said electronic data communication device. This may be done by transmitting messages for discovering other devices and/or by listening for the devices.
  • said scanning step is performed substantially continuously.
  • the scanning step may be performed in response to user activation.
  • step (1) further comprises the step of transmitting said address representative of said first interface to said memory that is provided on a remote computer processing and storage device.
  • the functions of invention may be distributed over both the user and provider sides of the network, with different computing devices performing different parts of the method and transmitting results to other computing devices.
  • one computing device e.g. personal computer or registration kiosk
  • steps (1) and (4) above and transmits the address representative of the first interface to another computing device (e.g. remote server) in the cellular network or elsewhere.
  • another computing device e.g. remote server
  • That other computing device performs steps (2), (3), (5) and (6).
  • the registration kiosk is required to perform the fewest iunctions with the majority of the method being performed by a central server located elsewhere.
  • said identifier is generated by a computer processing device and said identifier is unique as between a number of devices reachable over said first electronic data communication network.
  • the identifier only need be unique for the number of devices that the computing processing device is handling during any one time period while it awaits the data containing the address representative of the second interface.
  • the computer processing device is a remote server responsible for generating said identifier.
  • said identifier comprises data representing text and/or numerals.
  • the number of characters is small (e.g. 3-10) and comprises a word and two or three numbers making it easier for the user to remember.
  • the identifier may be text data, picture data, video data, sound data, etc. that may be sent using a Multimedia Messaging Service (MMS).
  • MMS Multimedia Messaging Service
  • step (4) comprises the step of making said identifier available to a user of said electronic data communication device.
  • the identifier may be printed on a ticket or receipt, displayed on a screen, etc.
  • step (4) comprises the step of transmitting said identifier to said address representative of said first interface. In this way the electronic communication device receives the identifier without the need for user input, thereby reducing mistakes.
  • step (4) further comprises the step of providing an indication in a data message comprising said identifier, that said identifier should be transmitted to an address on said second electronic data communication network.
  • the message may be relayed automatically on to the second electronic data communication network if desired.
  • said indication comprises data representing a request to a user of said electronic data communication device to transmit said identifier to said address on said second network.
  • the user must enter the identifier into an SMS text message and send it to a cellular interface where the memory may be accessed to obtain the address representing the first interface.
  • the user may send the identifier by e-mail or register on a website.
  • step (5) comprises the step of initiating a time period during which said data is expected to be received.
  • step (6) comprises the step of searching said memory for said identifier, and reading said address representative of said first interface from said memory.
  • the method further comprises the step of mapping a user identity to said address representative of said first interface and to said address representative of said second interface.
  • said user identity comprises a data structure having a field storing data representing an ID associated with said user.
  • said field comprises an account number belonging to said user.
  • the ID may be a loyalty or clubcard number for example.
  • business operators can take advantage of existing clubcard and loyalty scheme databases (which contain purchase history for example) and link the short-range interface and substantially permanent communication interface of the user to that database.
  • clubcard and loyalty scheme databases which contain purchase history for example
  • the business operator can generate a customised promotional offer for example and send it to the substantially permanent communication interface.
  • step (6) comprises the steps of storing in a database said mapping for a plurality of electronic data communication devices, said database queryable with an address of an interface on said first electronic data communication network to return an address of an interface on said second electronic data communication network.
  • the database may be stored on a remote network node that handles mappings of customers for one or more businesses.
  • the method further comprises the steps of composing a message, addressing said message to said address on said second electronic data communication network and transmitting said message using that network.
  • the message is an SMS message.
  • the method further comprises the steps of storing with each mapping in said database a user identity for customising the data content of said message for said user.
  • the user identity may comprise a user profile for example.
  • step (1) comprises the step of discovering electronic communication devices within a range of between approximately 0.1m and 1.0m radius, with about 0.01m to 0.3m being preferable.
  • a registration kiosk can be provided, to which users must bring devices within range in order to register.
  • the method iurther comprises the step of initiating a combined data communication service over said first and second electronic data communication networks using said mapping between said first and second interfaces.
  • said address representative of said first interface is a physical address of said first interface.
  • said physical address is a Media Access Control (MAC) address of a network interface on said electronic data communication device.
  • MAC Media Access Control
  • said address representative of said second interface comprises an alphabetic and/or numeric string for contacting a user of the device.
  • said alphabetic and/or numeric string comprises a telephone number, a Uniform Resource Indicator, or an e-mail address. It may also be a SIP URI or other presence address.
  • the method may also comprise the steps of mapping said first address to said presence address, generating and storing in said memory a presence list of those devices within short range communication (e.g.
  • said first and second electronic data communication networks are substantially logically and/or physically distinct. This distinction may be from the user's perspective i.e. some internetworking may take place, although this may not be immediately apparent to a user.
  • said first electronic data communication network is a short-range, location based communication protocol such as Bluetooth, Zigbee or Wireless USB.
  • said second electronic data communication network provides a substantially permanent means of communication via said second interface.
  • a substantially permanent means of communication may include a telephone number or an e-mail address.
  • said first electronic data communication network comprises
  • Bluetooth®-enabled devices capable of establishing piconets or other ad-hoc network amongst one another in accordance with the Bluetooth® protocol.
  • said second electronic data communication network comprises a cellular network and/or an IPDC (IP Datacast) network and/or a DVB network.
  • IPDC IP Datacast
  • a network node for use in an electronic data communication network, which network node comprises means for storing and executing computer executable instructions for performing a method as set out above.
  • Such instructions may comprise only some of the steps of the method, for example steps (1) and (4).
  • a network node for use in an electronic data communications network, which network node comprises means for storing and executing computer executable instructions for performing method steps (2), (3), (5) and (6) above.
  • a computer program comprising computer executable instructions for causing an electronic data communication apparatus to perform the method steps above.
  • a computer program comprising computer executable instructions for causing an electronic data communication apparatus to perform steps (2), (3), (5) and (6) above.
  • the computer program product as may be embodied on a record medium, in a computer memory, in a read-only memory, or on an electrical carrier signal.
  • a method of delivering data to an electronic data communication device comprises the steps of:
  • the method further comprises the step of caching discovered first communication addresses each with a lifetime.
  • the method further comprises the steps searching said cache when a first communication addresses is discovered, and discarding it if already cached. This helps to inhibit repeat messages being sent to the remote network node.
  • the method further comprises the step of discovering said first communication address adjacent an entry/exit point to a defined physical area.
  • the defined physical area may be a marketplace, fenced-off area, indoor/outdoor venue, etc.
  • said defined physical area comprises a business premises.
  • step (1) comprises discovering devices within a range of between approximately Im and 1500m radius.
  • a comparatively large area may be covered if the Bluetooth signal is amplified and the communication channel permits the response from the device to be received.
  • devices may be discovered up to about 300m radius.
  • a comparatively small area may be covered in a store, or substantially an entire floor for example.
  • devices are discovered in a much smaller range, e.g. about 0-5m to provide a localised point of discovery such as a promotion area in a store.
  • a network node for use in an electronic data communication network, which network node comprises a memory storing computer executable instructions for performing the method steps as set out above.
  • a method of delivering data to an electronic data communication device comprises the steps of: (1) discovering at a particular location a first communication address of a short-range communication interlace of said device;
  • the method further comprises the step of using said location identifier to query said database to return customised data for a user of said electronic data communication device, which customised data comprises data dependent on the location of said user when said device was discovered at step (1).
  • the method further comprises the steps of examining a data structure associated with said user, which data structure comprises fields storing data unique to said user, and customising said data further based on said fields.
  • said second communication address comprises a telephone number to which a Short Messaging Service (SMS) message or Multimedia Messaging Service (MMS) message may be addressed.
  • SMS Short Messaging Service
  • MMS Multimedia Messaging Service
  • a method of providing a service to a user which method comprises the steps of:
  • step (3) activating said service when said communication address is returned.
  • users can simply register a short-range interface address in a database and then associate that interface with a particular service that they wish to receive, for example by configuring a web-based account.
  • a temporary location buddy list as part of a presence service visible to other users.
  • the discovery may be performed by a short-range communication device such as a Bluetooth device, and a query sent to a remote server that performs or instructs step (3) when a result is returned from the database.
  • said service comprises a presence service and step (3) comprises the step of registering said user in a temporary buddy list based on said particular location.
  • said service comprises a data delivery service and step (3) comprises the step of transmitting data to said user.
  • the data delivery service may be an SMS service or MMS service, with a message being sent to the user by either of these communication channels when a device is discovered at the particular location.
  • said communication address comprises the address of a short -range communication interlace or an application identifier such as a Bluetooth MAC address (BD ADDR).
  • BD ADDR Bluetooth MAC address
  • Fig. 1 is a schematic block diagram of part of an electronic data communication network operating using a method according to the present invention
  • Fig. 2 is a schematic block diagram of an electronic communication apparatus in accordance with the present invention
  • Fig. 3 is a schematic block diagram of an electronic data communication device for use in a method according to the present invention
  • Fig. 4 is a flowchart of steps of a method in accordance with the present invention.
  • Fig. 5 is a schematic block diagram of a shop comprising a registration kiosk according to the invention.
  • Fig. 6 is a schematic block diagram of the registration kiosk of Fig. 5;
  • Fig. 7 is a schematic block diagram of network architecture according to the invention.
  • Fig. 8 is a schematic block diagram of a main server according to the present invention
  • Fig. 9 is a schematic flowchart of steps performed by the registration kiosk of Fig. 5;
  • Fig. 10 is schematic flow chart of steps performed by the main server of Fig.
  • Fig. 11 is a schematic block diagram of a Bluetooth portal according the present invention.
  • Fig. 12 is a schematic flow chart of steps performed by the Bluetooth portal of Fig. 11;
  • Fig. 13 is a schematic block diagram of a checkout according to the present invention.
  • Fig. 14 is schematic flowchart of steps performed by the checkout of Fig. 13.
  • an electronic data communication network generally identified by reference numeral 10 comprises cellular network infrastructure 12, an electronic data communication apparatus 14 and an electronic data communication device 16.
  • the cellular network infrastructure 12 comprises a number of base stations (not shown) each of which provides for transmission and reception of data to and from user devices by radio links 17 and a cellular interface over a limited geographical area.
  • the geographical area is typically of the order of several hundred metres up to about several kilometres, depending on the exact location of the base station.
  • the base stations transmit and receive data to and from the cellular network that for the purposes of the present invention it is not necessary to describe in any further detail, other than to say that the cellular network facilitates exchange of data (voice, SMS text, multimedia, etc.) between users and other networks.
  • the electronic data communication apparatus 14 is owned (or otherwise controlled) by a business and is resident on the premises of that business.
  • the apparatus 14 comprises a personal computer (PC) 18 provided with a Bluetooth® transceiver 20 (either separate e.g. with a commercially available USB Bluetooth® adapter, or integral).
  • the PC 18 is also in communication with a cellular device 22 by means of an interface 24.
  • the interface 24 may be a short range wireless TX/RX protocol (Bluetooth®, WLAN, WUSB, infra-red, etc.) or wired (USB, phone-to-PC data cable, etc.)
  • the electronic data communication apparatus has two interfaces by which it may communicate with other devices: a cellular interlace providing access to the cellular network 12 and a Bluetooth® interface for communicating with other Bluetooth®-enabled devices that are in range using a Bluetooth® network 13.
  • the PC 18 is shown in more detail. It comprises a memory 26, a Central Processing Unit (CPU) 28, amplifiers 30, a display 32 (and an input means not shown e.g. keyboard, touch-sensitive screen), digital-signal processing (DSP) 34, radio control 36 and an antenna 38.
  • the aforementioned parts are in electronic communication with one another.
  • the cellular device 22 comprises a memory 40, a Central Processing Unit (CPU) 42, amplifiers 44, a display 46 (and an input means not shown e.g. keyboard, touch-sensitive screen), digital-signal processing (DSP) 48, radio control 50 and an antenna 52.
  • the aforementioned parts are in electronic communication with one another.
  • the cellular device has an identity on the cellular network 12 provided by a telephone number and by an International Mobile Station Identity (IMSI).
  • IMSI International Mobile Station Identity
  • Stored on the memory 26 of the PC is a set of computer executable instructions that when executed may gain access, via the interface 24, to the operating system and data stored in the memory 40 of the cellular device 22.
  • Such computer executable instructions are commercially available.
  • HTTP-SMS Gateway is available for download from www.ozekisms.com.
  • This software enables the PC 18 to control the cellular device 22, for example to send a text message, retrieve data from the memory 40 (including SMS text messages received by the cellular device 22), etc. In this way a text message sent to the telephone number of the cellular device 22 may be downloaded and stored in the memory 26 of the PC 18 together with telephone number of the cellular device 22.
  • the electronic data communication apparatus 14 has (1) a substantially permanent means of communication with other devices via the cellular network infrastructure 12 and (2) a substantially temporary means of communication with other devices via the Bluetooth® communication link.
  • the PC 18 will only be able to communicate with other Bluetooth®-enabled devices that are within range (typically 10-10Om at a data transmission rate of 72IkB s "1 , although this will very much depend on the transmission power of signals and the propagation channel around the transceiver 20) i.e. by means of a location based communication protocol, whereas it will be able to communicate with almost any other device in any location having access to the cellular network i.e. by means of a substantially permanent communication protocol (since the cellular network covers very large areas of many countries at present).
  • the electronic data communication device 16 comprises a multimode device 54 (e.g. mobile telephone, Personal Digital Assistant) having a memory 56, a Central Processing Unit (CPU) 58, amplifiers 60, a display 62 (and an input means not shown e.g. keyboard, touch-sensitive screen), digital-signal processing (DSP) 64, radio control 66, a first antenna 68 and a second antenna 70.
  • the aforementioned parts are in electronic communication with one another.
  • the first antenna 68 provides for data to be transmitted to and received from the cellular network infrastructure 12, whereas the second antenna 70 is part of a short-range wireless TX/RX protocol (Bluetooth®, etc.) device that is either integral with separate from the multimode device 54.
  • a short-range wireless TX/RX protocol Bluetooth®, etc.
  • a user 23 uses the multimode device 54 and carries it about his person substantially at all times. In doing so the device will come in and out of range of other Bluetooth®-enabled devices either as a result of movement of the user 23 or as a result of other users bringing devices within Bluetooth® communication range (-0-100m) of the device 54.
  • the multimode device 54 also has a cellular interface (for example a GSM interface) by means of which it may send and receive data to and from the cellular network 12.
  • the user 23 is identified on the cellular network by the International Mobile Station Identity (IMSI) number which is in turn mapped to the user's telephone number.
  • IMSI International Mobile Station Identity
  • the electronic data communication device 16 can communicate with the PC 18 either over a cellular interface (using the cellular network 12 and cellular device 22,) or over the Bluetooth® interface.
  • a Bluetooth®-enabled device in this case the PC 18
  • the transceiver 20 broadcasts inquiry packets containing its device address (a 48-bit link layer address known as BD ADDR).
  • IAC Inquiry Access Code
  • GIAC General Inquiry Access Code
  • DIAC Dedicated Inquiry Access Code
  • a GIAC is used when all devices in range are to be discovered and a DIAC is used when only certain specific devices are to be discovered.
  • the PC 18 wishes to discover all devices in range the inquiry packets that it broadcasts should use a GIAC. However, in some scenarios it may be that a user of the PC 18 only wants to discover certain types of device in range. In that case the appropriate DIAC should be used in the broadcast.
  • the PC 18 During the inquiry substate the PC 18 generates a channel hopping sequence derived from its local clock and the GIAC that hops through 32 channels of the 79 available channels. Once the channel hopping sequence has been generated, the PC 18 broadcasts inquiry packets on each channel defined in the hopping sequence.
  • Discoverable devices periodically enter what is known as an inquiry scan substate. In this state the transceiver of each device listens for inquiry packets on its inquiry scan channel. If an inquiry packet is received the device enters what is known as an inquiry response substate in which the device returns an inquiry response (Frequency Hop Synchronisation - FHS) packet containing the BD ADDR of the device that received the inquiry packet and the clock of that device amongst other things.
  • an inquiry response substate in which the device returns an inquiry response (Frequency Hop Synchronisation - FHS) packet containing the BD ADDR of the device that received the inquiry packet and the clock of that device amongst other things.
  • the PC 18 can discover the Bluetooth® device address BD ADDR of each discoverable device that is within range. Having done this the notebook 18 does not have to proceed to any of the connection establishment substates as the minimum required information has been gathered from discoverable devices to enable the interfaces to be mapped.
  • a particular advantage is that the user does not have to give permission for this data to be sent from the device other than just switching ON his Bluetooth interface. More precise details of the discovery procedure are given in "Bluetooth® Specification Version 1.2" (presently available to download from www.bluetooth.com) to which reference is made.
  • steps of a method performed by the electronic data communication apparatus 14 is generally identified by reference numeral 80.
  • step 80 steps of a method performed by the electronic data communication apparatus 14 is generally identified by reference numeral 80.
  • the PC 18 monitors its Bluetooth® device for discovery of other Bluetooth® devices, such as the cellular device 16. As explained above this is done by placing the
  • Bluetooth® interface into an inquiry substate in which inquiry messages are repeatedly transmitted at different hop frequencies. In between inquiry message transmissions the Bluetooth® interface scans for inquiry response messages from any other Bluetooth® device, in this case the multimode device 54.
  • the PC 18 does not receive any indication of the presence of another Bluetooth® device it repeats the scanning procedure step Sl substantially continuously. Alternatively there may be a delay between scans.
  • step S2 the method proceeds to step S2 where the aforementioned FHS packet is read and the MAC address (BD ADDR) of the Bluetooth® interface of the multimode device 54 is extracted and stored in the memory 26 at step S3.
  • the PC generates a unique code word for the user of the multimode device 54 that it maps to the MAC address already stored in the memory 26 at step S5.
  • the range of Bluetooth® communication is short range i.e. less than a radius of about 100m, the code word only needs to be unique for a likely number of Bluetooth® device users within that range.
  • the code word will be alphanumeric such as "BOOKS 123”, “COFFEE789” or simply numerical "4567", making it easy to remember. It is possible for the code word to be a number, a text string, a pictogram or any other symbol or series of symbols including video, pictures and/or sound. In general the code word will be associated with the service provided from entities such as hotels, bookstores, restaurants, theatres, etc.
  • the PC 18 then forms a message that contains the code word and the telephone number of the cellular device 22 to which the PC 18 has access.
  • the message also contains an invitation to the user of the multimode device 54 to send the code word by SMS text message (or by other means such as e-mail or by MMS) to the telephone number provided in the message if they would like access to a range of other services.
  • the message is based on the communication protocol when using a short-range wireless transmission method, such as Bluetooth®. Examples of the protocol that can be used for the message are Object Exchange (OBEX) and serial port communication.
  • OBEX Object Exchange
  • the PC 18 transmits the message to the multimode device 54 via the Bluetooth® interface.
  • the code word (or other identifier) may be printed on a ticket or receipt, displayed on a screen etc.
  • the multimode device 54 receives the message, stores it in memory 56 and alerts the user 23 that a new message has arrived.
  • SMS text message containing the code word and sends it to the number provided in the earlier message.
  • the SMS text message is routed over the cellular network 12 and is transmitted to the cellular device 22. If received on the cellular device 22 before the timer has expired the SMS text message is immediately passed on the PC 18 by means of the OZEKISMS software mentioned above, where it is stored in the memory 26. If the timer has expired the SMS text message is discarded and an appropriate notification is sent to the user. Since the SMS text message contains both the code word and the telephone number of multimode device 54, the PC 18 can use the code word to map the telephone number of the multimode device 54 to the MAC address of the Bluetooth® interface of the same device.
  • the PC 18 searches the memory 26 for the code word contained in the text message.
  • the code word is used to map the MAC address to the telephone number of the multimode device 54.
  • the memory 26 of the PC 18 then stores for each cellular device which short-range transmission interlace (Bluetooth®) of devices around the PC 18 corresponds to the cellular interlace (telephone number) of each device. It is now possible for a combined service to provide to the user using both interfaces for example. If the code word is not found in the memory 26 the PC 18 discards the text message at step SlO. Having performed a successful mapping the system may now reuse the code word for another user. However code words that have been assigned to users that have not yet successfully registered should never be reused to avoid errors in the mapping procedure. If a user looses his/her code word the procedure must be repeated and the user be assigned the same code as before.
  • the PC 18 may now inform the cellular network infrastructure 12 (or any other network node such as a server on the Internet) of the MAC address and matching telephone number if desired.
  • Businesses will be able to map the interlace of a merely temporary or location (i.e. geographically limited) based communication means (e.g. Bluetooth®) with the interface of a substantially permanent communication means (cellular or other interface e.g. IP address).
  • a substantially permanent communication means cellular or other interface e.g. IP address.
  • cellular devices may be provided with a service whereby the user is invited to complete a profile containing fields such as age, sex, interests, what characteristics they are looking for in a partner, etc. All users' profiles are stored on a remote server accessible to the PC 18 (e.g. over the Internet).
  • the PC 18 may be located in a nightclub for example. Whilst the nightclub is open the PC 18 may scan for Bluetooth®-enabled devices within range. On finding a device, the PC 18 performs the steps shown in Fig. 4 in an attempt to map the Bluetooth® device address to the mobile telephone number of the device.
  • the user may be sent a message using Bluetooth® such as "Would you like to know if there are any matches for you here in the club? If so text MATCHME 123 to 84448".
  • this information may be printed on a ticket or receipt, displayed on a screen etc.
  • the PC can retrieve the message and then map the telephone number of the user to the Bluetooth® device address of that user.
  • the PC 18 can then use one profile to send a query to the remote server to search for matching data in other fields of the other user profiles. If a match is found the PC may contact (using SMS messages or over the Bluetooth® link) both users of the matching profiles to inform them that a match has been found and providing the relevant contact details of the other person. This could be a telephone number or a photograph using an MMS message. Users will determine in their profiles what details are to be made available to other people.
  • the steps performed by computer executable instructions stored on the electronic communication apparatus 14 need not be performed at the same physical location.
  • the electronic communication apparatus 14 may simply play the role of a dumb terminal that gathers and exchanges data with an entity on the cellular network infrastructure 12.
  • the PC 18 may gather Bluetooth® device MAC addresses and send them by GPRS using the cellular device 22 to the cellular network infrastructure 12 where a suitable computing device will store this data in memory.
  • This computing device may also perform steps S4, S5, S8 and S9 of the method shown in Fig. 4.
  • a cellular network operator may do the necessary computing.
  • the PC 18 may gather Bluetooth® device MAC addresses and send them (by any suitable means such as over the Internet) to a remote computer where they may be processed as described above and the results stored in memory for later access.
  • the remote computer may be a server accessible by computers in a network (e.g. intranet) used employees of a company for example.
  • any short-range, location limited transmission protocol interface e.g. Zigbee - see www.zigbee.org; Wireless USB
  • any substantially permanent means of communication e.g. e-mail, presence address
  • Typical communication ranges for Zigbee are between about 10m and 100m at 250kbs ⁇ ⁇
  • the short-range communication protocol may be a Wireless Local Area Network (WLAN) with communication provided under IEEE802.i l
  • the permanent means of communication may be an e-mail address.
  • WLAN Wireless Local Area Network
  • the transceiver may be in the form of a separate Access Point that communicates with the PC 18 either over a wired or wireless interface.
  • Typical ranges of WLAN are: about 100m radius at 11MB s "1 and 300m radius at 1MB s "1 .
  • NIC wireless Network Interface Card
  • the method provides a means of mapping one interface to different communication means for users.
  • Other interfaces may be mapped to any of the interfaces mentioned herein by a method according to the invention.
  • Such interfaces include as Digital Video Broadcast (DVB) interfaces and Infrared (IrDA).
  • DVD Digital Video Broadcast
  • IrDA Infrared
  • the method may be used to map more than one interface to another interface e.g. two Bluetooth® interlaces of two different devices (or two interfaces of one device) of one user may be mapped to one cellular interface.
  • the PC 18 may use any device or software application that can be contacted by the device of the user 23.
  • the PC 18 may use modem to receive the code word over a wired network (e.g. PSTN).
  • the user 23 might have a PDA with a presence application.
  • the user 23 might be asked (with a printed ticket, on a display or over the Bluetooth® network) to forward (using his presence application) a code word accessible by the PC 18.
  • This code word will be sent using the presence application thus having the user's presence login details associated with it.
  • the PDA might use GPRS to send the message via the cellular network to the Internet.
  • Presence in the computer sense can be defined as the ability to detect whether other users are online (not necessarily over the Internet) and whether they are available. Presence services are commonly provided through applications like Finger and instant messaging clients, although there are products in other areas that leverage presence, such as VoIP.
  • a signalling protocol such as SIP can be used for instant messaging between two users.
  • a SIP address (one example of a presence address) enables SIP servers to exchange the necessary information to establish communication between users over an IP network.
  • a permanent “buddy list” on each device shows the status of each buddy such as “online”, “busy”, “offline”, etc.
  • the Bluetooth® BD ADDR of the user's device maps by the method described above the Bluetooth® BD ADDR of the user's device to the presence address used by that user (as described above). Having done this for a number of users within range of the transceiver 20 it is possible to generate and store a database comprising a temporary (i.e. location-based) buddy list of users present within range of the transceiver 20. In this way all users within range of the transceiver 20 running compatible presence clients will be able to "see” one another be means of the temporary buddy list.
  • FIG. 5 part of a shopping environment generally identified by reference numeral 90 comprises a registration kiosk 91 near which customers 92 peruse items on sale (not shown).
  • Each user has a multimode device 93 such as a mobile telephone or PDA with a Bluetooth® interface and a cellular interface as described above, and a clubcard 94 (or so called loyalty card) associated with the store in which he is shopping.
  • Clubcard and loyalty card schemes are in widespread use; they provide a way for businesses to reward customers for purchases in stores of the business. The rewards often take the form of awarding points to customers in proportion to an amount of money spent.
  • each customer Details of each customer are stored in a central loyalty database having fields storing identity data (name, contact details, etc.) account data (number, etc.), shopping history data (time, date, products purchased, etc.).
  • identity data name, contact details, etc.
  • shopping history data time, date, products purchased, etc.
  • the registration kiosk 91 comprises a stand 95 on which is mounted a printing device 96, a card reader 97 and a short range Bluetooth® access point (BTAP) 98.
  • the registration kiosk 91 further comprises a computer memory (e.g. RAM) 99, a CPU 100 and a NIC 101. All of the components of the registration kiosk 91 are in electronic communication with one another under control of the CPU 100 and computer executable instructions stored on the memory 99 as described in greater detail below.
  • the user 92b is drawn to the registration kiosk 91 by means of suitable promotional material that offers a discount on certain items of shopping for example.
  • the function of the registration kiosk 91 is to facilitate mapping the BD ADDR of the Bluetooth® interface to the telephone number of the cellular interface, both of the user's multimode device 93 and to relate this mapping to the central loyalty database mentioned above.
  • the operator of the store and/or operator of a clubcard/loyalty scheme has a substantially permanent means of communication i.e. the telephone number by which appropriate data may be sent to the multimode device 93 at strategic times triggered by the short-range location-based communication protocol i.e. Bluetooth®.
  • the customer 92b swipes his clubcard in the card reader 97 or presses a button (not shown) to activate the registration process.
  • the clubcard 94 comprises a loyalty ID 102 that uniquely identifies the user 92b to the store operator for the purposes of collecting points in return for making purchases in stores of the operator. Users without a clubcard may also take part in the registration and may later insert their clubcard number online for example.
  • the BTAP 98 is configured to transmit at very low power i.e. -50dbm or less, such that only multimode devices within range of the registration kiosk 91 i.e. within approximately 0-1. Om will receive inquiry messages and respond with an FHS packet. In this way the BTAP 98 discovers the BD ADDR of the multimode device
  • the registration kiosk 91 then outputs a code for the customer 92b which is printed onto a ticket by the printing device 96 and asks the customer 92b to send the code by SMS to a particular telephone number. The customer may then text the code back at any convenient time or within a time limit specified on the ticket.
  • the registration kiosk 91 then transmits the BD ADDR, code and loyalty ID to a main server (see Fig. 7) via the NIC 101.
  • the main server having access to the cellular network and the interface identified by the telephone number awaits receipt of the code from the user 92b. When received, the main server may use the code to look up the BD ADDR of the multimode device 93 and map it to the cellular interface of the same device.
  • network architecture generally identified by reference numeral 110 comprises a main server 111 having access to a user profile database 112, an SMS server 113 and a web server 114.
  • the main server comprises CPUs 115, memory 116 and NICs 117 that are in electronic communication with one another.
  • the NICs provide access for the main server 111 to other networks such as WANs, LANs and the Internet.
  • the main server 111 also has access to Bluetooth® portals in business premises 119 (A, B ... Z) and the Bluetooth portals 120 in the supermarkets 118 (1, 2 ... M).
  • the main server 111, user profile database 112, SMS server 113 and a web server 114 are operated by a loyalty scheme operator such as Nectar® (see www.nectar.co.uk).
  • the user profile database is stored in the memory 116 and maps the fields BD ADDR, CODE, LOYALTY ID and USER PROFILE for each user registered with the loyalty scheme. How the user profile database 112 is populated is described below. Thus a number of different businesses can take part in a single loyalty or clubcard scheme administered by the loyalty scheme operator.
  • Each supermarket 118 comprises a Bluetooth® Portal 120, one or more registration kiosk 91, and N checkouts 121, each of which has a very short-range Bluetooth AP and a loyalty card interface for transceiving loyalty data.
  • a registration kiosk requests a code for a user;
  • C a user wishes to update his account with a new multimode device 93 or add another device;
  • This functionality is provided by a number of distributed network nodes interlacing with the main server 111.
  • the various network nodes and the functions A to G that they perform are described below.
  • FIG. 9 computer executable instructions generally identified by reference numeral 130 are stored in the memory 99 and performed by the registration kiosk 91 when it is activated by the customer 92b.
  • the registration kiosk is idle and awaits swipe of the clubcard 94 in the card reader 97 or pressing of a button by the user.
  • the registration kiosk stores the loyalty ID in the memory 99 at step S9-2.
  • the remainder of the description assumes that the user has swiped the clubcard 94 to activate the kiosk 91, although it is to be noted that this data is not essential to register a user.
  • the registration kiosk determines how many BD ADDR are returned; if more than one is found the kiosk waits and then enters the inquiry substate perhaps 5 s later until it finds only one BD ADDR. Alternatively a display may display those devices discovered and the user may confirm which one is to be registered.
  • the BD ADDR is stored in the memory 99 at step S9-5.
  • the registration kiosk 91 composes a code request message (CRM) at step S9-6 that comprises the following data: kiosk ID, loyalty ID and BD ADDR, together with a header which identifies the message as type CRM.
  • CRM code request message
  • the kiosk ID is an identifier of the kiosk and the loyalty ID identifies the customer to the loyalty scheme operator.
  • the function of the CRM is to trigger the main server 111 to generate a code for that customer 92b and send it to the registration kiosk 91 (function B).
  • the registration kiosk awaits receipt of the code and then outputs the code by printing it onto a ticket at step S9-7.
  • the user is then instructed at step S9-8 to send the code to 80001 in order to complete the registration procedure (function A).
  • the instructions may be printed onto the ticket or displayed on a screen for example.
  • Function C is handled by the registration kiosk 91 in an identical way to the registration procedure.
  • the functionality necessary to enable this is stored on the main server 111, described in more detail below.
  • Fig. 10 computer executable instructions generally identified by reference numeral 140 are stored in the memory 116 and performed by the main server 111 to deal with scenarios (A) to (G) mentioned above. It will be recalled (see Fig. 7) that the main server 111 interfaces many different devices.
  • the main server 111 checks the message format at step S 10-2 to determine whether or not it is valid.
  • the header of the most messages sent by the devices should each comprise data to identify the type of message.
  • this header is read to determine what part of the method to perform subsequently.
  • messages will arrive through different interfaces in the main server 111 e.g. GPRS or cellular interface. Therefore the main server 111 will know what action to take based either on the interface and/or on the message header.
  • the message is discarded at step S 10-3.
  • the message is validated it is examined to determine whether it is an SMS type message (no header) or whether it is a message with a header. If it is an SMS message the main server 111 executes steps in the column headed A, C, F, G in Fig. 10, described below; if the message has a header, the header is read to determine its type and then either column headed B, D or E is executed.
  • the data in the message is read at step S 10-4 to decide if is a de-register message. If not, the user profile database 112 is queried at step S 10-5 with the data in the message which must be a code assigned by the main server 111 previously. The user profile database 112 returns the BD ADDR mapped to that code.
  • the main server 111 updates the mapping in the user profile database with the cellular telephone number in the text message, so that the database comprises a mapping between the BD ADDR and the telephone number of the customer 92b (function A). The customer 92b may be updating his account with a new multimode device with the same telephone number.
  • the main server 111 replaces the existing old MAC address in the user profile database with the new MAC Address detected.
  • the customer 92b may have changed telephone number but still uses his old device.
  • the main server 111 replaces the existing telephone number in the user profile database with the new telephone number in the text message. If the customer is adding an extra multimode device to his clubcard account, the main server 111 makes a new entry in the user profile database 112 as though it were an ordinary registration; however, the loyalty ID provides a relational mapping to link the two devices together (function C).
  • a confirmation message may be sent to the customer 92b by the SMS server 113 at step S 10-7.
  • the customer 92b may decide that he does not wish to receive the service any further; to de-register he sends a text message containing DEREGISTER to the cellular interface of the main server 111 which is detected at step S 10-4.
  • the main server 111 queries the user profile database 112 with the source telephone number of the text message and removes the corresponding entry at step S 10-8.
  • a confirmation message may be sent to the customer 92b by the SMS server 113 at step S 10-7.
  • the main server 111 determines that the received message is a CRM message it executes the column of steps headed B in Fig. 10.
  • the data in the message is read to extract the loyalty ID, BD ADDR and kiosk ID.
  • the kiosk ID may be used to gather statistics about the number of customers visiting a particular registration kiosk for example, and may also be used to address each kiosk for the purposes of sending messages.
  • the user profile database 112 is searched using the BD ADDR to determine if that multimode device 93 has already been discovered. If the device has already been discovered, this indicates that a code has already been assigned and that the main server should not generate another.
  • the assigned code is extracted from the database at step SlO-I l and transmitted at step S 10- 12 to the registration kiosk 91 for use in the steps described with reference to Fig. 9. If at step SlO-10 there is no existing entry in the user profile database 112, a multimode device 93 is attempting to register for the first time. Accordingly the main server 111 generates a code for that device at step S 10- 13 and creates an entry in the user profile database 112 mapping the code, BD ADDR and loyalty ID to one another. The code generated need only be unique enough to enable the main server 111 to distinguish multimode devices sending codes to the same cellular interface address (i.e. telephone number).
  • main server 111 may also construct a relational reference to the central loyalty database operated by a loyalty scheme operator so that the code, BD ADDR and loyalty ID are also mapped to a user profile of the customer 92b which may include name, contact details, shopping history, points in account, etc.
  • the main server then awaits receipt of the code on its cellular interlace to execute steps S 10-4 to S 10-8 described above to complete the registration process.
  • An entry made in the user profile database 112 under steps S 10-9 to S 10- 12 may have a lifetime associated with it, for example one month.
  • the Bluetooth portal When the customer enters one of the business premises 119, the Bluetooth portal therein will discover the presence of their multimode device 93 (described in greater detail below).
  • the Bluetooth portal composes a message to the main server 111 containing a header that identifies the message as a Discovery Message (DM).
  • the DM contains the BD ADDR of the device that has been discovered and a store ID.
  • the store ID is an identifier that uniquely identifies either each individual store (i.e. business premises 119 and supermarkets 118) or each operator of a number of stores to the main server 111.
  • the supermarkets 118 may all be operated by Walmart® and may therefore be assigned a single store ID.
  • the business premises 119 may be operated by different operators selling any goods and/or services from a physical business premises, each having their own store ID. Alternatively a large store may have more than one store ID as described in greater detail below.
  • the main server On receiving a DM the main server executes the steps in column D of Fig. 10: the user profile database 112 is queried at step S 10- 14 with the BD ADDR. Once the entry for that address is returned, the main server 111 has access to the cellular interlace (i.e. the telephone number) of the customer and the SMS server 113 is instructed to send a text message to the customer 92b at step S 10- 15 as described in greater detail below.
  • the cellular interlace i.e. the telephone number
  • the main server 111 assists the mapping of a customer's multimode device to their loyalty account.
  • the checkout is configured to discover the multimode device of that customer (described in greater detail below). Once discovered the checkout composes a Checkout Message (CM) comprising a header identifying the message, and carries the BD ADDR discovered.
  • CM Checkout Message
  • the main server executes the steps shown under column E in Fig. 10: the user profile database 112 is queried at step S 10- 16 with the BD ADDR.
  • the main server 111 has access to the loyalty ID of the customer by virtue of the mapping.
  • the main server 111 transmits a response message to the checkout that contains the loyalty ID at step S 10- 17.
  • the checkout reads the loyalty ID is uses the existing loyalty scheme interface to update the customer's account.
  • the user profile associated with the BD ADDR may be a relational data structure comprising fields storing data about the user's shopping habits, preferences, credit rating, etc. populated by the store operators and/or loyalty scheme operators. Based on this user profile and the store ID the main server 111 can determine what type of data might be appropriate to send to the user. For example, if a customer has entered supermarket A the Bluetooth® portal 120 detects the presence of the customer's multimode device 93 as it enters the inquiry substate substantially continuously to discover devices coming into the store.
  • the Bluetooth® portal 120 comprises an access point 151, a CPU 152, a cache (i.e. memory) 153 and a NIC 154 all in electronic communication with one another.
  • the Bluetooth portal 120 may be similar to the PC described in conjunction with Fig. 1.
  • the NIC 154 may be a cellular interface (e.g. a mobile telephone connected to a PC) so that data from the portal can be sent to the main server 111 over a GPRS network for example; alternatively it may be a WLAN NIC or an Ethernet NIC or a NIC that connects to the existing backbone of the stores.
  • the Bluetooth® portal 120 maybe positioned at the main entrance to the store and is configured to broadcast inquiry packets over a radius of 0.1m to 100m such that substantially only multimode devices 93 in the area around the entrance will receive the inquiry packets and respond.
  • the range of Bluetooth devices is classified as follows:
  • Class I Bluetooth devices are the most powerful broadcast class. They operate at 10OmW (+20bB/m) and are able to received, with a clear line of sight (LOS), up to about 100 meters away;
  • Class II Bluetooth devices are midrange broadcast class. They operate at 2.5mW (+4bB/m) and are able to received, with a clear line of sight (LOS), up to about 10 meters away; and
  • Class III Bluetooth devices are the least powerful in broadcast class. They operate at ImW (+0bB/m) and are able to received, with a clear line of sight (LOS), up to about 1 meter away.
  • LOS line of sight
  • the Bluetooth portal 120 may be any suitable Class according to the needs of the business operator to provide coverage for substantially all or part of a business premises.
  • the memory 153 stores computer executable instructions that when executed perform the method steps of Fig. 12.
  • the Bluetooth® portal 120 is performed by the Bluetooth® portal 120.
  • the inquiry substate is entered and inquiry packets are broadcast at a power (e.g. Class II/III) sufficient to cover approximately 5-2Om.
  • the Bluetooth® portal 120 scans for inquiry response messages from any multimode device in range with a Bluetooth® interface at step S12-2. If none is received the method returns to step S 12-1 and scanning continues.
  • the BD ADDR is extracted at step S 12-3; a lifetime of any suitable duration may be associated with the entry in the cache. The portal continues to scan for other devices while handling the FHS packet it has received.
  • the cache is searched to determine if the BD ADDR is already present.
  • the FHS packet is simply discarded at step S 12-5.
  • the BD ADDR is not repeatedly sent to the main server 111 which reduces signalling overhead.
  • the BD ADDR is cached if not already stored and a Discovery Message composed and transmitted to the main server 111 at step S 12-7 with the store ID.
  • the lifetime associated with the BD ADDR expires it is removed from the cache at step S 12-8. The caching of each BD ADDR with a lifetime ensures that the BD ADDR is not repeatedly send to the main server reducing overhead signalling.
  • Bluetooth® portal 120 there may more than one Bluetooth® portal 120 in each store: for example a portal at the entrance to the store, another at first area and another at a second area.
  • the first area may be a floor of a department store for example and the second area may be a specific promotional area of very limited dimensions e.g. approximately 5m by 5m. Accordingly it will be apparent that the transmission power of the portal may be adjusted according to the area to be covered.
  • the store ID may therefore comprise data representing an identifier of the operator of the store and an identifier of the location of the customer within the store.
  • the main server 111 may use this store identifier to further customise the data to be transmitted to the customer based not only on their presence in the store, but also upon their location in that store as detected by the Bluetooth® portals 120.
  • a customer need do nothing further to receive data via the cellular interface of their multimode device 93 other than switching on the Bluetooth interface of his/her device.
  • Bluetooth® portals in each store participating in the loyalty scheme will be triggered as described above as each customer's multimode device comes within range.
  • the customer then automatically receives a customised text message containing details of products and/or services.
  • the mapping between a location-based interface and a substantially permanent interface, combined with the discovery of devices using the location-based means of communication enables store operators to transmit customised data to the customer.
  • the user profile of the customer may comprise user preferences that enable the main server to determine when not to send data even though the customer's presence in the store has been discovered. For example the customer may configure his account via the web server 114 so that no more than two text messages are sent per day.
  • the main server 111 may decide that a customised text message can be sent to the customer informing him that he can obtain a free or reduced price item from that store for example.
  • the text message may comprise an offer to the user even if he is not registered with the loyalty scheme.
  • the user is part of the loyalty scheme the text message may be uniquely generated for that customer based on his user profile e.g. purchase history, preferences, credit rating, etc. and his current physical position as indicated by the store ID.
  • the method overcomes the technical difficulties of providing customers with information about products and/or services at the right time, and of deciding which products and/or services to inform the customer about.
  • the method utilises existing technology whereby the customer is not required to purchase any new technology.
  • Use of the cellular network enables offers to be made to many different customers substantially simultaneously.
  • the checkout 121 (see Fig. 7) comprises a card reader 170, a printing device 171, an interface 172 to the main server 111, a loyalty card interface 173, a memory 174, a CPU 175, and a very short range Bluetooth® Access Point (AP) 176 all of which are in electronic communication with one another.
  • the memory stores computer executable instructions that when executed perform the method steps of Fig. 14.
  • Fig. 14 method steps generally identified by reference numeral 180 are performed by the checkout 121 as part of the usual transaction process.
  • the Bluetooth® AP 176 enters the inquiry substate at step S 14-1 to discover if the customer has a multimode device with a Bluetooth® interlace (the inquiry substate may run substantially continuously). If no device was discovered at step S 14-1, the checkout 121 indicates at step S 14-2 to the cashier that the loyalty card should be requested and swiped in the conventional manner. If an FHS packet is received by the Bluetooth® AP 176, the BD ADDR is read at step S 14-3 and transmitted to the main server 111 in the aforementioned Checkout Message.
  • the main server 111 queries the user profile database 112 and returns to the checkout 121 the loyalty ID associated with the BD ADDR. If no loyalty ID is received at step S 14-4, a message is composed and sent by the main server 111 to the cashier that the loyalty card should be requested and swiped in the conventional manner. If the loyalty ID is received it is associated with the cashier till in the same way that a normal card swipe works. The customer's items are then scanned and details stored in the memory 174. The purchase of the items will earn loyalty points that could be assigned/redeemed at step S 14-5 using the existing loyalty card interface 173. Thus no new technology is required to operate the loyalty points system and the invention interlaces with it to provide additional functionality.
  • customers who wish to register for the service may do so without a clubcard or loyalty card.
  • the registration kiosk may be activated by pressing a button or simply by placing a multimode device 93 on the near to the BTAP 98.
  • the process described above is repeated except that no mapping to a loyalty card ID is made.
  • Such users will not be able to receive exclusive personal promotions but could still receive messages with general promotions.
  • the application will then be installed on the user's multimode device.
  • the application enables the user to perform the mapping as follows: assume user A has a device with the application and wishes to register user B. User A asks user B to switch on his/her Bluetooth interlace. User A loads the registration application that then performs a search for all Bluetooth devices in the area ( ⁇ 10m radius) and displays all the results on user A's device. User B's device will also be displayed in the search results. User A then confirms that the device with name 'JOHN' is actually the device of user B. User A then asks for the telephone number of user B.
  • User A selects the device called 'JOHN' from the search results and inputs the telephone number of user B.
  • the application then establishes a GPRS connection and sends data comprising the MAC- telephone number mapping to the main server 111 where the mapping is stored.
  • This method can be performed by users that have a Bluetooth card attached to their PC (also for Bluetooth enabled laptops).
  • the user downloads a registration application from the web server 113. Once the application is running, it detects all Bluetooth-enabled devices in range (e.g. 5m) and asks the user to select the device name he wants to register. Once selected the user inserts his/her telephone number of that device.
  • the mapping is transmitted by the application to the main server 111, and the user is sent a confirmation message via SMS. This message also contains a code word that the user is required to either text back to the server or insert on the website to complete the registration. This is to confirm that the telephone number inserted is that of the actual user and not someone else's number.
  • Each user wishing to register downloads a software application to their multimode device and uses the application to register their MAC-telephone number mapping on the main server 111.
  • BD ADDR MAC address
  • the user obtains the BD ADDR of his device using a special dial number (this number currently exists for some phones: for Nokia 6310 it is *#2028#).
  • the user registers with the service via a website hosted by the web server 113.
  • the website asks the user to enter his mobile telephone number and MAC address thereby obtaining a mapping between the two.
  • the main server 111 then texts the user a code word to validate his telephone number; the user must either SMS the code back to the main server 111 using a telephone number provided on the website or enter this code word in the website to complete the registration procedure.
  • text is intended to include conventional the SMS and the newer MMS associated with 3G networks.
  • the registration kiosk may be incorporated into the checkout 121 instead.
  • the cashier may ask if he wishes to register with the Bluetooth service by switching on his multimode device 93 if not already activated.
  • the customer's receipt may then be printed with the code word to text to back to the main server 111 to activate the service.
  • the functionality provided by the registration kiosk may be incorporated into any device that reads a card containing data. Such devices include Automatic Teller Machines (ATMs) and ticket machines. In this way details of devices may be mapped to bank accounts, credit cards, etc. if desired.
  • ATMs Automatic Teller Machines
  • ticket machines In this way details of devices may be mapped to bank accounts, credit cards, etc. if desired.
  • the registration kiosk may simply discover BD ADDRs and perform service discovery on each device (i.e. no mapping is performed between the Bluetooth interface and the cellular interface). The results are sent to central server where they are stored. Whenever a device comes within range of Bluetooth portal the BD ADDR is sent to the central server where the database is queried to discover the services to which the user is subscribed and to activate one of those services. For example, the user may be added to a temporary buddy list whilst in the particular location.
  • map may mean "providing a logical connection or association between”.
  • the embodiments of the invention described with reference to the drawings comprise computer apparatus and methods performed in computer apparatus, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice.
  • the program may be in the form of source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the implementation of the methods according to the invention.
  • the carrier may be any entity or device capable of carrying the program.
  • the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk.
  • a storage medium such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk.
  • the carrier may be a transmissible carrier such as an electrical or optical signal that may be conveyed via electrical or optical cable or by radio or other means.
  • the carrier may be constituted by such cable or other device or means.
  • the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant methods.
  • the present invention relates to a method of estimating the number of people within a predetermined range of a particular location, to an electronic data communication apparatus, to a computer program and to a computer program product.
  • SMS Short Message Service
  • Short-range wireless transmission protocols offer businesses an opportunity to target services to customers in highly geographically limited areas e.g. radius of 10m- 100m, and to research where is ideal for opening a shop in a new location or performing promotional activity.
  • In order to tailor these services to the customer it is important to know how many people pass a particular location from where the service will be delivered, and what percentage of those people have devices (e.g. mobile telephones, Personal Digital Assistants, notebook computers) capable of accessing the new service.
  • Preferred embodiments of the present invention are based on the insight by the applicant that a short-range wireless communication protocol enables detection of passing electronic communication devices carried by users within a small geographical area, typically less than about 500m in radius, and very often much smaller (e.g. 25m). This can provide a means to estimate the number of people within that geographical area and to research locations for new business premises, promotions, etc.
  • the invention is also based on the realisation that existing short- range communication protocols can be exploited to make such an estimate with surprising simplicity, whereby the need to upgrade the hardware and/or software of users' mobile devices is mitigated.
  • a method of estimating the number of people within a predetermined range of a particular location comprises the steps of: - (a) using an antenna to listen for electromagnetic communication signals indicative of the presence of one or more remote electronic data communication device likely to be carried about the person of one or more of said people; and
  • step (1) comprises passively listening for said electromagnetic communication signals.
  • step (1) comprises actively sending electromagnetic communication signals intended to cause any remote electronic data communication device within said predetermined range to respond.
  • step (1) comprises actively sending electromagnetic communication signals intended to cause any remote electronic data communication device within said predetermined range to respond.
  • This method is that it is more robust than the passive method. In particular, a remote device that can be discovered will respond if within range.
  • the method further comprises the step of associating an electronic identifier with the or each remote electronic data communication device within said predetermined range, which electronic identifier helps to reduce the chance of including the same remote electronic data communication device more than once in said estimate. In this way it is possible to remove a multiplicity of signals from one device during a listening period.
  • said electronic identifier is an address of an interface of each remote electronic data communication device at the physical layer or link layer.
  • this is a Bluetooth® device address (BD ADDR) that is included in the inquiry response message sent out by remote devices.
  • BD ADDR Bluetooth® device address
  • step (a) is performed substantially continuously whereby the number of people within said predetermined range may be estimated substantially in real-time.
  • step (a) is performed for a predetermined length of time and is repeated periodically. This may help to save network resources.
  • the method further comprises the step of interrogating each remote electronic data communication device to discover what services are available thereon.
  • the response from the remote devices may be stored in computer memory and/or transmitted to another computer for storage and analysis.
  • a Service Discovery Protocol (SDP) may be used for this step, such as the Bluetooth® SDP, Service Location Protocol, Jini, and Universal Plug and Play. Greater Detail of these SDPs can be found in "A Comparison of Service Discovery Protocols and Implementation of the Service Location Protocol", Bettstetter, C. and Renner C. in Proceedings of 6 th EUNICE Open European Summer School: Innovative Internet Applications (EUNICE), 2000.
  • said antenna is in communication with an electronic data processing and storage device, the method further comprising the step of storing data communicated in said electronic output signal representing presence of said one or more remote electronic data communication device.
  • the data processing and storage device is a notebook computer and the antenna is provided therein.
  • the antenna may transmit said output signal over a wired or wireless interface to a remote computer.
  • the method further comprises the step of electronically storing data representing the time of detection of the or each remote electronic data communication device.
  • the step of electronically storing data representing the time of detection of the or each remote electronic data communication device By also storing data of when the remote device is no longer present it is possible to estimate the duration that each remote device stayed within the predetermined range.
  • the method further comprises the step of storing data representing an identity of said particular location and associating said one or more remote electronic data communication apparatus with said identity.
  • repetition of said storage step generates in said electronic storage device a database of those remote electronic data communication devices within said predetermined range.
  • This database may either be stored on a computer at the particular location or data may be sent to a remote computer for storage and remote access.
  • the method further comprises the steps of electronically comparing entries in said database to determine those remote electronic data communication devices that have (a) just arrived within said predetermined range, (b) just left said predetermined range, and (c) still within said predetermined range, and storing data representative of said (a), (b) or (c).
  • said comparison step is performed by electronically comparing a first list of data obtained at a first time with a second list of data at second time earlier than said first time.
  • the method further comprises the steps of generating a structured message comprising electronic data divided into fields representing data defined above, and forwarding said structured message to a remote computer device or apparatus.
  • the method further comprises the step of generating said structured message for each remote electronic data communication device discovered within said predetermined range.
  • said structured message comprises data representing more than one remote electronic data communication device.
  • the structured message may send all of the data in one message.
  • the method further comprises the step of providing remote access to said database, whereby remote users may access said database to request retrieval of data therefrom. Access may be via a web page for example.
  • the method further comprises the step of generating and storing a plurality of databases providing said estimate for a plurality of particular locations. This may be done on a computer server that provides access to the databases over the Internet for example.
  • said electromagnetic communication signals are used by a short- range wireless communication protocol.
  • a radius range of said short-range wireless transmission protocol is less than approximately 500m.
  • said radius range is less than approximately 300m.
  • said radius range is less than approximately 100m. In one embodiment said radius range is less than approximately 25m.
  • said short-range wireless communication protocol is Bluetooth® and/or Wireless Local Area Network (WLAN) and/or Zigbee and/or Wireless USB.
  • WLAN Wireless Local Area Network
  • Zigbee Zigbee and/or Wireless USB.
  • said particular location is a business premises.
  • the method may be applied to any location: stations, bus stops, theatres, restaurants, shops, cinemas, etc. It is not necessary for the location to be associated with a specific business or business premises, however.
  • an electronic data communication device for use in an electronic data communication network, which electronic data communication device comprises for a memory storing computer executable instructions for performing a method as set out above.
  • an electronic data communication network comprising one or more electronic data communication device provided with computer executable instructions for performing a method as set out above. It will be apparent that different electronic data communication apparatus in the network can perform different steps of the method. Thus the method may be performed on computing apparatus that are distributed over a network such as the Internet.
  • a computer program comprising computer executable instructions for causing an electronic data communication device to perform the method steps set out above.
  • the computer program product is embodied on a record medium, in a computer memory, in a read-only memory, or on an electrical carrier signal.
  • Part or all of the computer executable instructions may be stored on a server for download to one or more remote computer.
  • Fig. 15 is a schematic block diagram of part of an electronic data communication network operating using a method according to the present invention
  • Fig. 16 is a schematic block diagram of an electronic data communication apparatus according to the present invention
  • Fig. 17 is a schematic block diagram of a remote electronic data communication device present in the network of Fig 15;
  • Fig. 18 is a schematic block diagram of an electronic data processing and storage apparatus according to the present invention.
  • Fig. 19 is a flowchart of steps of a method in accordance with the present invention performed by the apparatus of Fig. 16;
  • Fig. 20 is a schematic diagram of a structured message composed and sent by the apparatus of Fig. 16; and Fig. 21 is a flowchart of steps of a method in accordance with the present invention performed by the apparatus of Fig. 18.
  • FIG. 15 part of an electronic data communication network generally identified by reference numeral 10 comprises an electronic data communication apparatus 12 in the form of a notebook computer.
  • the notebook computer 12 is located on a business premises such as a retail outlet or other environment accessible by the general public such as a theatre, restaurant, museum, etc.
  • the notebook computer 12 is connected to the Internet 14 by means of a suitable network interface card (not shown in Fig. 1) by means of which applications run on the notebook computer may send to and receive data from a remote electronic data communication apparatus in the form of a server 16 described in greater detail below.
  • the notebook computer 12 comprises a Bluetooth® transceiver 18 (either separate e.g. with a commercially available USB Bluetooth® adapter, or integral) that is in electronic communication with a data processing system 20 in the notebook computer 12.
  • the Bluetooth® transceiver 18 enables the notebook computer 12 to communicate with other Bluetooth®-enabled devices that are within range, as shown schematically by the ellipse 22.
  • Three electronic data communication devices 24, 26, 28 are shown within range of the Bluetooth® transceiver 18.
  • Each electronic data communication device 24, 26, 28 comprises a respective Bluetooth® transceiver 30, 32, 34 by means of which each device may communicate with the notebook computer 12.
  • Each electronic data communication device 24, 26, 28 is owned by a user 36, 38, 40 respectively and may be in the form of a mobile telephone, personal digital assistant, notebook computer, etc.
  • the notebook computer 12 comprises a memory 42, a Central Processing Unit (CPU) 44, amplifiers 46, a display 48 (and an input means not shown e.g. keyboard), digital-signal processing (DSP) 50, radio control 52 and an antenna 54 (that make up the transceiver 18).
  • the aforementioned parts are in electronic communication with one another.
  • the antenna 54 provides for data to be transmitted and received by the notebook computer 12 using the Bluetooth® communication protocol.
  • the typical range over which the Bluetooth® transceiver 18 can send and receive data is a radius of approximately 10m- 100m (at a data transmission rate of 72IkB s "1 ), although this will very much depend on the transmission power of signals and the propagation channel around the transceiver 18.
  • each electronic data communication device 24, 26, 28 comprises a memory 56, a Central Processing Unit (CPU) 58, amplifiers 60, a display 62 (and an input means not shown e.g. keyboard, touch-sensitive screen), digital- signal processing (DSP) 64, radio control 66 and an antenna 68.
  • the aforementioned parts are in electronic communication with one another.
  • the antenna 68 provides for data to be transmitted to and received from the notebook computer 12 (and any other Bluetooth®-enabled device nearby) using the Bluetooth® communication protocol.
  • the devices 24, 26, 28 are carried by the users substantially at all times and are (usually) left powered on so as to receive incoming communications such as telephone calls and e-mails.
  • each device will come in and out of range of the notebook computer 12 as a result of movement of the users 36, 38, 40 past or into the business premises where the notebook computer is positioned.
  • the typical range over which the antenna 68 can send and receive data is a radius of approximately 10m- 100m (at a data transmission rate of 72IkB s "1 ), although this will very much depend on the transmission power and propagation channel around the transceiver.
  • the server 16 comprises a memory 70, a Central Processing Unit (CPU) 72, amplifiers 74, digital- signal processing (DSP) 76, and a network interface card 78.
  • the aforementioned parts are in electronic communication with one another.
  • the network interface card 78 applications running on the server 16 may send and receive data over the Internet to other computers, including the notebook computer 12.
  • a Bluetooth®-enabled device in this case the notebook 12
  • the transceiver 18 broadcasts inquiry packets containing its device address (a 48-bit link layer address known as BD ADDR).
  • Each inquiry packet commences with an Inquiry Access Code (IAC) that may be one of two types: General Inquiry Access Code (GIAC) and Dedicated Inquiry Access Code (DIAC).
  • IAC Inquiry Access Code
  • GIAC General Inquiry Access Code
  • DIAC Dedicated Inquiry Access Code
  • a GIAC is used when all devices in range are to be discovered and a DIAC is used when only certain specific devices are to be discovered.
  • the notebook 12 wishes to discover all devices in range the inquiry packets that it broadcasts should use a GIAC. However, in some scenarios it may be that a user of the notebook 12 only wants to discover certain types of device in range. In that case the appropriate DIAC should be used in the broadcast.
  • the notebook computer 12 During the inquiry substate the notebook computer 12 generates a channel hopping sequence derived from the notebook computer's local clock and the GIAC that hops through 32 channels of the 79 available channels. Once the channel hopping sequence has been generated, the notebook computer 12 broadcasts inquiry packets on each channel defined in the hopping sequence.
  • Discoverable devices periodically enter what is known as an inquiry scan substate. In this state the transceiver of each device listens for inquiry packets on its inquiry scan channel. If an inquiry packet is received the device enters what is known as an inquiry response substate in which the device returns an inquiry response
  • the notebook 12 can discover the Bluetooth® device address BD ADDR of each discoverable device that is within range. Having done this the notebook 12 does not have to proceed to any of the connection establishment substates as the minimum required information has been gathered from discoverable devices to enable an estimation of the number of people within range of the business premises to be estimated. More precise details of the discovery procedure are given in "Bluetooth® Specification Version 1.2" (presently available to download from www.Bluetooth®.com) to which reference is made. Particular advantages of using the Bluetooth® protocol are that devices can be discovered without requiring users to authorise communication, and that no hardware and/or software upgrades are required for users' devices. This enables an estimate of the number of people present to be made with surprising simplicity.
  • the notebook 12 It is not possible for the notebook 12 to passively discover devices in range by entering the inquiry scan substate because the inquiry packet (as defined in the Bluetooth® Specification) does not contain the BD ADDR of the sender. If this changes, or if another protocol is used in which devices broadcast data sufficient to resolve different devices (i.e. by means of some suitable identifier), then it is possible that the notebook 12 could passively discover devices in range by listening to the correct channel(s).
  • step Sl Stored in the memory 42 of the notebook computer 12 is a set of computer executable instructions that when executed perform steps of a method as shown in Fig. 19.
  • an integer t is set equal to zero; this integer provides a means to track the number of iterations of the method.
  • the notebook is caused to enter the inquiry substate for a duration of 25-30s whereby substantially all discoverable devices (i.e. those that actually enter the inquiry scan substate periodically) within range of the notebook's antenna 54 can be identified during that period. If a device is switched off or has been set by the user so as not to be discoverable then it will not be detected by the notebook computer 12. As described above the notebook computer 12 broadcasts inquiry scan packets and listens for FHS packets from discoverable devices. At step S3 the method repeats step S2 if no FHS packets have been received. If any FHS packets are received the CPU 44 extracts the BD ADDR of each such device, records a time stamp of when the FHS packet was - Al -
  • the step may be repeated immediately or there may be delay between scans to reduce overhead on network resources. It is possible for this delay to be adaptive for example as a function of the radius of coverage of the Bluetooth® transceiver 18 and/or of the number of people estimated in a previous iteration. More frequent scans will increase the chances of discovering those devices that enter and leave the area of coverage very quickly.
  • back-to-back scanning is ideal in terms of resolution, but this may place unacceptable overheads on the network.
  • the notebook computer 12 may interrogate the discovered devices to determine what services are available and to determine the characteristics of those available service.
  • SDP Service Discovery Protocol
  • a service is any device or application that can provide information, perform an action, or control a resource on behalf of another device or application.
  • Sending a file between one network node and another, sending or exchanging business cards and providing means to establish a connection to a Bluetooth® serial port are examples of services.
  • a service may be implemented as software, hardware or a combination of software and hardware.
  • An SDP client located on the notebook 12 for example) sends requests for information about services to an SDP server on another device (such as one of the discovered devices).
  • the SDP server replies with SDP responses that included one or more service record, a service attribute and/or service class of services it has available.
  • a service record comprises all information about a service that is maintained by an SDP server.
  • the service record comprises a list of service attributes each of which describes a single characteristic of a service such as ServiceClassIDList and ProviderName.
  • Each service is an instance of a service class.
  • a service class provides definitions of all service attributes contained in that service record.
  • Each service class is assigned a Universal Unique Identifier (UUID).
  • UUID Universal Unique Identifier
  • the notebook 12 may receive data representing a service record, a service attribute and/or a service class from discovered devices, and may store and/or forward this data to the server 16 where it may be stored for retrieval.
  • step S5 it is determined whether or not t ⁇ 1 i.e. whether or not it is the first iteration of the method and therefore whether or not there is any data already stored in the memory 42 from a previous iteration. If t is not greater than or equal to 1 it is assumed that this is the first iteration of the method either since the notebook was powered on or if t has been reset as described below. In this case the method proceeds directly to step S 8 that is described in greater detail below.
  • step S6 the BD ADDR data just obtained (i.e. iteration t) is compared to that obtained in the previous iteration (i.e. t - Y).
  • step S7 the comparison determines: (1) those devices that were present in both lists (i.e. those that are still within the predetermined range); (2) those devices that were present in the previous list but not in the current list (i.e. those devices that have left the vicinity of the business premises); and (3) those devices present in the current list but not in the previous list (i.e. those devices that have arrived near the business premises).
  • a field is used to indicate (1), (2) or (3) in the BD ADDR data.
  • a structured message generally identified by reference numeral 80 comprises a BD ADDR field 82, an ID field 84, a TIME field 86, a STATUS field 88 and a CHK field 90.
  • the BD ADDR field 82 contains the 48-bit BD ADDR of the particular device.
  • the ID field 86 contains an identity of the business that has subscribed to the service. It may further include an identity of a particular business premises if the business uses more than one retail location.
  • the TIME field 86 contains data representing the time stamp made when the FHS packet was received.
  • the STATUS field 88 whether the device falls into category (1), (2) or (3) above.
  • the CHK field is an error correction field such as a checksum.
  • the structured message may be wrapped in an IP header and is sent to the network interface on the server 16 over the Internet 14 at step S9.
  • the structured message can of course be sent using any suitable message format such as HTTP, SIP, etc.
  • the entire BD ADDR list with all of the above fields of the structured message could be sent in a database format in one message or as an attachment to an e-mail message for example.
  • the notebook 12 transmits all of the data in the BD-ADDR list to the server 16.
  • step SlO and step S2 there may be a predetermined wait period such that the number of discoverable devices is obtained every 30s, 1 minute, 2 minutes, or 5 minutes, etc.
  • the method may repeat continuously so that the only delay between inquiry scans is the time taken to process the rth set of data as described above.
  • the integer t may be reset if the wait period is particularly long e.g. greater than 5 minutes. This helps to ensure that devices do not appear to be present within the predetermined range longer than they actually are.
  • the notebook 12 executing the aforementioned computer executable instructions is able to estimate the number of customers and potential customers from the number of Bluetooth®-enabled devices near the business premises. By repeating these steps periodically the number of customers and potential customers can be monitored over time. Likewise the services available and the characteristics of these services can be discovered and recorded.
  • step Sl Stored in the memory 70 of the server 16 is a set of computer executable instructions that when executed perform steps of a method as shown in Fig. 21.
  • step Sl the server 16 awaits a structured message 80 prepared by the notebook 12.
  • the server 16 Upon receiving a structured message 80 the server 16 extracts the data at step S2.
  • the server 16 examines the ID field 84 of the structured message and searches the databases it already holds in memory for a database corresponding to that ID. Since the ID field of the structured messages is used to identify each database, this step enables the server to determine whether or not there is a database already in existence for that ID. If there is no database the server 16 creates one at step S4. The database includes all of the fields of the structured message and each database is identified by the ID of the sender of the structured messages. If no database exists the method proceeds directly to step S5.
  • the server 16 examines the STATUS field 88 of the structured message. Depending on the value, the server 16 either: -
  • Step S6 maintains the existing database entry for that BD ADDR since the device is still within the range of coverage of the notebook 12; or
  • Step S7 removes the database entry for that BD ADDR since the device has been moved out of the area of coverage of the notebook 12; or
  • Step S8 creates a new database entry for that BD ADDR since the device has moved into the area of coverage of the notebook 12.
  • the server 16 contains a database of the most recent discoverable devices near the business premises and therefore an estimate of the number of customers and potential customers near the business premises.
  • the database may also contain details of the services discovered as described above. Other parameters may be entered: for example the time stamp of when a device arrives and when the same device leaves can be used to record the amount of time a user of that device was near the business premises; the overall number of devices near the business premises can be recorded over time to give statistical data for that business over the last day, week, month, year, etc.
  • the server 16 makes this statistical information available for viewing and/or download over the Internet 14.
  • Suitable middleware enables a user to access a website and log on to their account giving access to the database representing then- business premises. If the user owns more than one business premises it is possible that IDs of databases can be associated so that the user can see all of or a subset of the business premises they own.
  • the middleware enables a user to view the data for the business premises in the form that they choose, for example traffic patterns over a given time period or in near real-time. The user may choose to view data of traffic patterns on a particular day at a particular time. For example it would be possible to view how many people came near the business premises each Saturday between 9 and 10am over the past year.
  • the server may also perform other functions including user subscription and authentication. This may include storing the computer executable instructions described with reference to Fig. 19 and permitting them to be downloaded to a remote computer after any necessary payment and authentication.
  • the computer executable instructions shown in Figs. 19 and 21 may be provided in the form of one computer program comprising computer executable instructions for causing a computer to perform the steps of Figs. 19 and 21 without requiring communication of data over the Internet or other external network.
  • steps S8 and S9 of Fig. 19 and steps Sl - S3 may not be required.
  • Such computer executable instructions may be stored on a remote server for download over the Internet, or stored on a CD-ROM for sale for example.
  • server 16 could carry out steps S6 and S7, and/or S 8 of Fig. 19. In this way the notebook 12 would simply gather all inquiry response messages during the inquiry substate, form a structured message for each, and send each structured message to the server 16.
  • the method of the invention is not limited to Bluetooth®-enabled devices. Any short-range communication protocol such as Wireless Local Area Network (WLAN), Wireless USB and Zigbee may be used instead or in combination with the Bluetooth® transceiver 18, but particularly any short-range communication protocol that does not require establishment of a connection for a layer 2 address to be discovered.
  • WLAN Wireless Local Area Network
  • the transceiver may be in the form of a separate Access Point that communicates with the notebook 12 either over a wired or wireless interface.
  • Typical ranges of WLAN are: about 100m radius at HMB s "1 and 300m radius at 1MB s "1 .
  • Typical ranges for Zigbee are between about 10m and 100m
  • Bluetooth® is preferred as increasing numbers of mobile electronic data communication devices such as mobile telephones and personal digital assistants (PDAs) are being manufactured with Bluetooth® capability. These types of devices are easily carried by people as opposed to notebook computers, etc. that tend to be slightly more cumbersome. Therefore, the method of the invention is likely to give the most accurate picture of traffic near a business premises when searching for devices that are most likely to be carried by users substantially at all times i.e. mobile telephones and PDAs. It will be apparent that the method of the invention provides an estimate since of the number of people near a business premises since not everyone carries an electronic communication device, some devices are switched off, and other devices may have their short-range communication means disabled for example. Some users may even have more than one discoverable Bluetooth® interface about their person.
  • Any communication link may be used to send the structured messages between the notebook 12 and server 16 including a cellular network.
  • the method of the invention may be applied to research locations for promotional or other activities.
  • a notebook computer 12 (comprising the computer executable instructions of Fig. 19) may be set up in a shopping centre to record the number of people passing that location over a given period. It is to be noted that the notebook 12 does not have to be in communication with the server 16. The notebook 12 alone can perform all of the functionality and store the results in memory. This may be repeated at different points in the shopping centre to enable a business to determine where best to place a promotion for example. Once the promotion is underway the method provides an automatic way to monitor the success of the promotion as customer numbers can be automatically monitored throughout the promotion period and then compared to numbers beforehand.
  • the notebook 12 may also measure and record a Received Signal Strength Indication (RSSI) for each device 24, 26, 28, and/or the name of the device (i.e. the username that a user of the device has assigned).
  • RSSI Received Signal Strength Indication
  • This data may also be stored and sent in additional fields of the structured message 80 to the server 16 where it may be stored in the database.
  • the RSSI data may be used as an estimate of the distance of each discovered device from the Bluetooth transceiver 18 of the notebook 12.
  • the RSSI might be compared to a threshold RSSI to ascertain the BD ADDRs of those devices that are within a certain radius from the transceiver 18. This enables devices that are deemed to be too far away to be ignored in the estimate.
  • the transceiver 18 may discover Bluetooth® enabled devices that are within a radius of approximately 100m. However, a business may only consider the number people within a radius of up to about 40m as of interest. Measuring the RSSI of each discovered device provides a means to exclude those devices discovered between 40m and 100m from the estimate.
  • first and second inventions as described herein may be combined together to provide an apparatus that can map two interfaces and estimate the number of people in a given location.
  • the embodiment of the invention described with reference to the drawings comprises computer apparatus and methods performed in computer apparatus, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice.
  • the program may be in the form of source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the implementation of the methods according to the invention.
  • the carrier may be any entity or device capable of carrying the program.
  • the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk.
  • a storage medium such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk.
  • the carrier may be a transmissible carrier such as an electrical or optical signal that may be conveyed via electrical or optical cable or by radio or other means.
  • the carrier may be constituted by such cable or other device or means.
  • the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant methods.

Abstract

A method of mapping a first interface to a second interface both of an electronic data communication device (16), which first interface enables exchange of data with a first electronic data communication network (13) and which second interface enables exchange of data with a second electronic data communication network (12), the method comprising the steps of: (1) obtaining an address representative of said first interface; (2) generat ing an identifier; (3) storing said identifier and said address representative of said first interface in a memory with a mapping therebetween; (4) outputting said identifier; (5) awaiting receipt of data comprising said identifier and an address representative of said second interface from said electronic data communication device (16) via said second electronic data communication network (12); and (6) if said data is received, said identifier can be used to map said address representative of said first interface to said address representative of said second interface. A method of estimating the number of people within a predetermined range of a particular location, which method comprises the steps of: - (a) using an antenna to listen for electromagnetic communication signals indicative of the presence of one or more remote electronic data communication device likely to be carried about the person of one or more of said people; and (b) providing an electronic output signal from said antenna representative of said presence; which electronic output signal facilitates estimation of the number of people within said predetermined range.

Description

A METHOD OF MAPPING A FIRST INTERFACE TO A SECOND INTERFACE, AND PEOPLE PRESENCE ESTIMATION METHOD
FIELD OF THE FIRST INVENTION
The present invention relates to a method of mapping a first interface to a second interface, to a method of delivering data to an electronic data communication device, to a method of assigning a reward to a customer, to a network node, to a computer program and to a computer program product.
BACKGROUND OF THE FIRST INVENTION
Both first generation mobile and second generation mobile digital terminals were designed primarily to receive a single service i.e. speech. They also have limited capability to accept low data rates over voice channels using conventional modems e.g. Short Messaging Service (SMS) on second generation mobile. By contrast third and fourth generation mobile is expected to support high-quality multimedia over the cellular network.
Mobile devices are increasingly being manufactured with the ability to connect to a wide variety of different networks over a number of interlaces. For example Personal Digital Assistants (PDAs) and mobile telephones are now provided with a cellular interface (e.g. GSM), possibly a wireless interface (e.g. Wireless LAN) and with a short-range interface (e.g. Bluetooth®). If not actually provided with such interfaces many of the devices are adaptable with network interface cards. Thus mobile devices have the possibility of communicating wirelessly with many other networks including the cellular network, the Internet and directly with other users by establishing an ad-hoc network (such as a piconet under Bluetooth®). Such devices are herein referred to as multimode devices.
At present all of the interfaces accessible by the different networks are logically and physically distinct from the point of view of the network. Each interface in the mobile device remains autonomous and has its own identifier recognisable by its own network but 'invisible' to others. For example, the cellular network "sees" only cellular interfaces and mobile devices are recognised and addressed by the mobile telephone number and International Subscriber Identity (IMSI) number; WLAN access points see only WLAN interfaces and mobile devices are recognised and addressed by the Media Access Control (MAC) address of the wireless network interlace card; and a Bluetooth® device sees only other Bluetooth® devices and other Bluetooth® devices are recognised and addressed with a Bluetooth® device address (BD ADDR), similar to a MAC address. Thus the cellular network has no knowledge of the identity of the wireless and Bluetooth® interfaces on the same mobile device. Accordingly, service providers offer their services only in a homogeneous manner i.e. using only one interface on the user's mobile device. For example, ORANGE® may offer their customers voice and data (e.g. text messaging, e-mail) services only over the GSM interface. Some Internet services are now available over the cellular interface of a mobile device, such as the General Packet Radio Service (GPRS) that uses the GSM interface. Other services launched recently by mobile service providers include multiplayer gaming facilities on mobile phones. For example the NOKIA N-GAGE® comprises a Bluetooth® interface via which users in range may play multiplayer games.
It is expected that future services offered by providers will utilise more than one interface on a mobile device. Such "multimode" will greatly enhance existing services. For example, multiplayer games will be able to be played by users not just in range of other Bluetooth® devices, but by several users in Bluetooth® range and several other users participating over the cellular network and/or a WLAN.
In order to be able to offer such a service it essential that the various networks know which interfaces belong to which user. From the forgoing it is apparent that there is a need for a method of identifying and mapping these interfaces to one another, and more particularly a method that does not require any new hardware and/or software on mobile devices already in widespread use.
A further problem with which the present invention is concerned is the provision of information to customers of businesses. At present customers are targeted with a wide range of advertising and promotional information some of which is partly customised based on a user's shopping history for example. This information is usually sent by mail and e-mail. This is inefficient and relatively expensive for the business operator. Furthermore the customer often does not want to receive such information through these communication channels.
The widespread use of personal communication devices such as mobile telephones, PDAs, etc. provides an opportunity for businesses to reach customers at virtually any time and any location. However, the nature of the mobile network infrastructure means that businesses cannot distinguish the electronic communication devices of customers from devices of non-customers. Thus use of mobile networks to distribute such information only to customers is not realistic, unless every user were to register with each business they use, which is impractical. The use of the mobile network for distribution of information appears no better than sending by e-mail or post: the user may receive the information at an inconvenient time and is likely to dismiss it.
Accordingly it is desirable if there were a better communication channel for sending information to customers, and if there were a way to determine the most appropriate time and information to send to customers which does not require users to purchase new hardware, upgrade existing hardware or install new software.
SUMMARY OF THE FIRST INVENTION
According to the present invention there is provided a method of mapping a first interface to a second interface both of an electronic data communication device, which first interface enables exchange of data with a first electronic data communication network and which second interface enables exchange of data with a second electronic data communication network, the method comprising the steps of:
(1) obtaining an address representative of said first interface;
(2) generating an identifier;
(3) storing said identifier and said address representative of said first interlace in a memory with a mapping therebetween;
(4) outputting said identifier;
(5) awaiting receipt of data comprising said identifier and an address representative of said second interface from said electronic data communication device via said second electronic data communication network; and (6) if said data is received, said identifier can be used to map said address - A -
representative of said first interface to said address representative of said second interlace. The addresses may be representative of interfaces on the same or different devices. The addresses may be representative of interfaces owned or used by one particular user or a group of users. Each address representative of each interface may be a physical hardware address or a software address such as a telephone number, e- mail address or Uniform Resource Identifier (URI) such as a presence address e.g. a Session Initiation Protocol (SIP) URI. In one embodiment the address representative of the first interface is a physical address and the address representative of the second interlace is a software address. The address representative of the second interface might be a broadcast MAC address used by a digital broadcast network for example. The electronic data communication device may be any mobile device such as a mobile telephone, PDA, etc. One particular advantage of this method is that no hardware or software changes are necessary at the electronic data communication device and therefore the method can be easily deployed by network operators. Gathering and storage of these mappings enables businesses to determine when customers enter their premises for example and to send data to the electronic data communication device at that time. This is a major benefit, particularly as users do not need any special hardware or software.
Preferably, step (1) comprises the steps of scanning radio frequencies for an indication of the presence of said electronic data communication device. This may be done by transmitting messages for discovering other devices and/or by listening for the devices.
Advantageously, said scanning step is performed substantially continuously.
Alternatively the scanning step may be performed in response to user activation.
Preferably, step (1) further comprises the step of transmitting said address representative of said first interface to said memory that is provided on a remote computer processing and storage device. It will be apparent that the functions of invention may be distributed over both the user and provider sides of the network, with different computing devices performing different parts of the method and transmitting results to other computing devices. For example it is possible that one computing device (e.g. personal computer or registration kiosk) performs steps (1) and (4) above and transmits the address representative of the first interface to another computing device (e.g. remote server) in the cellular network or elsewhere. That other computing device performs steps (2), (3), (5) and (6). In this way the registration kiosk is required to perform the fewest iunctions with the majority of the method being performed by a central server located elsewhere.
Advantageously, said identifier is generated by a computer processing device and said identifier is unique as between a number of devices reachable over said first electronic data communication network. The identifier only need be unique for the number of devices that the computing processing device is handling during any one time period while it awaits the data containing the address representative of the second interface. In one embodiment the computer processing device is a remote server responsible for generating said identifier.
In one embodiment said identifier comprises data representing text and/or numerals. Preferably the number of characters is small (e.g. 3-10) and comprises a word and two or three numbers making it easier for the user to remember. The identifier may be text data, picture data, video data, sound data, etc. that may be sent using a Multimedia Messaging Service (MMS).
Preferably, step (4) comprises the step of making said identifier available to a user of said electronic data communication device. The identifier may be printed on a ticket or receipt, displayed on a screen, etc.
In one embodiment step (4) comprises the step of transmitting said identifier to said address representative of said first interface. In this way the electronic communication device receives the identifier without the need for user input, thereby reducing mistakes.
Advantageously, step (4) further comprises the step of providing an indication in a data message comprising said identifier, that said identifier should be transmitted to an address on said second electronic data communication network. Thus the message may be relayed automatically on to the second electronic data communication network if desired.
Preferably, said indication comprises data representing a request to a user of said electronic data communication device to transmit said identifier to said address on said second network. In one embodiment the user must enter the identifier into an SMS text message and send it to a cellular interface where the memory may be accessed to obtain the address representing the first interface. Alternatively the user may send the identifier by e-mail or register on a website.
Advantageously, step (5) comprises the step of initiating a time period during which said data is expected to be received.
Preferably, step (6) comprises the step of searching said memory for said identifier, and reading said address representative of said first interface from said memory.
Advantageously, the method further comprises the step of mapping a user identity to said address representative of said first interface and to said address representative of said second interface.
Preferably, said user identity comprises a data structure having a field storing data representing an ID associated with said user.
Advantageously, said field comprises an account number belonging to said user. The ID may be a loyalty or clubcard number for example. In that case business operators can take advantage of existing clubcard and loyalty scheme databases (which contain purchase history for example) and link the short-range interface and substantially permanent communication interface of the user to that database. On detecting a user in a store with the short-range communication protocol the business operator can generate a customised promotional offer for example and send it to the substantially permanent communication interface.
Preferably, step (6) comprises the steps of storing in a database said mapping for a plurality of electronic data communication devices, said database queryable with an address of an interface on said first electronic data communication network to return an address of an interface on said second electronic data communication network. The database may be stored on a remote network node that handles mappings of customers for one or more businesses. Advantageously, the method further comprises the steps of composing a message, addressing said message to said address on said second electronic data communication network and transmitting said message using that network. In one embodiment the message is an SMS message.
Preferably, the method further comprises the steps of storing with each mapping in said database a user identity for customising the data content of said message for said user. The user identity may comprise a user profile for example.
Advantageously, step (1) comprises the step of discovering electronic communication devices within a range of between approximately 0.1m and 1.0m radius, with about 0.01m to 0.3m being preferable. In this way a registration kiosk can be provided, to which users must bring devices within range in order to register.
Preferably, the method iurther comprises the step of initiating a combined data communication service over said first and second electronic data communication networks using said mapping between said first and second interfaces.
Advantageously, said address representative of said first interface is a physical address of said first interface.
In one embodiment said physical address is a Media Access Control (MAC) address of a network interface on said electronic data communication device.
Preferably, said address representative of said second interface comprises an alphabetic and/or numeric string for contacting a user of the device.
In one embodiment said alphabetic and/or numeric string comprises a telephone number, a Uniform Resource Indicator, or an e-mail address. It may also be a SIP URI or other presence address. The method may also comprise the steps of mapping said first address to said presence address, generating and storing in said memory a presence list of those devices within short range communication (e.g.
Bluetooth® range) of one another, and transmitting said presence list to those devices. Advantageously, said first and second electronic data communication networks are substantially logically and/or physically distinct. This distinction may be from the user's perspective i.e. some internetworking may take place, although this may not be immediately apparent to a user.
Preferably, said first electronic data communication network is a short-range, location based communication protocol such as Bluetooth, Zigbee or Wireless USB.
Advantageously, said second electronic data communication network provides a substantially permanent means of communication via said second interface. A substantially permanent means of communication may include a telephone number or an e-mail address.
Preferably, said first electronic data communication network comprises
Bluetooth®-enabled devices capable of establishing piconets or other ad-hoc network amongst one another in accordance with the Bluetooth® protocol.
Advantageously, said second electronic data communication network comprises a cellular network and/or an IPDC (IP Datacast) network and/or a DVB network.
According to another aspect of the present invention there is provided a network node for use in an electronic data communication network, which network node comprises means for storing and executing computer executable instructions for performing a method as set out above. Such instructions may comprise only some of the steps of the method, for example steps (1) and (4).
According to another aspect of the present invention there is provided a network node for use in an electronic data communications network, which network node comprises means for storing and executing computer executable instructions for performing method steps (2), (3), (5) and (6) above.
According to another aspect of the present invention there is provided a computer program comprising computer executable instructions for causing an electronic data communication apparatus to perform the method steps above.
According to another aspect of the present invention there is provided a computer program comprising computer executable instructions for causing an electronic data communication apparatus to perform steps (2), (3), (5) and (6) above.
According to another aspect of the present invention there is provided a computer program product storing computer executable instructions as set out above.
The computer program product as may be embodied on a record medium, in a computer memory, in a read-only memory, or on an electrical carrier signal.
According to another aspect of the present invention there is provided a method of delivering data to an electronic data communication device, which method comprises the steps of:
(1) discovering at a particular location a first communication address of a short-range communication interlace of said device; and
(2) transmitting said first communication address with a location identifier to a remote network node. In this way devices can be discovered to triggered delivery of data to that device via another interface using the mapping stored on a remote database. In this way business can detect when a user enters a store or passes a particular point in the store and transmit data to the second communication address (e.g. cellular telephone number).
Preferably, the method further comprises the step of caching discovered first communication addresses each with a lifetime.
Advantageously, the method further comprises the steps searching said cache when a first communication addresses is discovered, and discarding it if already cached. This helps to inhibit repeat messages being sent to the remote network node.
Preferably, the method further comprises the step of discovering said first communication address adjacent an entry/exit point to a defined physical area. The defined physical area may be a marketplace, fenced-off area, indoor/outdoor venue, etc. In one embodiment said defined physical area comprises a business premises.
Advantageously, step (1) comprises discovering devices within a range of between approximately Im and 1500m radius. Thus a comparatively large area may be covered if the Bluetooth signal is amplified and the communication channel permits the response from the device to be received. In another embodiment devices may be discovered up to about 300m radius. Thus a comparatively small area may be covered in a store, or substantially an entire floor for example. In another embodiment, devices are discovered in a much smaller range, e.g. about 0-5m to provide a localised point of discovery such as a promotion area in a store.
According to another aspect of the present invention there is provided a network node for use in an electronic data communication network, which network node comprises a memory storing computer executable instructions for performing the method steps as set out above.
According to yet another aspect of the present invention there is provided a method of assigning a reward to a customer having an electronic data communication device:
(1) discovering at point-of-sale a first communication address of a short- range communication interface of said device; and
(2) transmitting said first communication address to remote server and awaiting a response comprising a customer identity; and (3) using said customer identity to assign said reward.
According to another aspect of the present invention there is provided a method of delivering data to an electronic data communication device, which method comprises the steps of: (1) discovering at a particular location a first communication address of a short-range communication interlace of said device;
(2) using said first communication address to query a database comprising a mapping between first communication addresses and second communication addresses to return a second communication address mapped to said first communication address, said second communication address of an interface that provides a substantially permanent means of communication with said electronic data communication device irrespective of location; and
(3) transmitting a message to said second communication address, which message comprises data associated with said location identifier.
Preferably, the method further comprises the step of using said location identifier to query said database to return customised data for a user of said electronic data communication device, which customised data comprises data dependent on the location of said user when said device was discovered at step (1).
Advantageously, the method further comprises the steps of examining a data structure associated with said user, which data structure comprises fields storing data unique to said user, and customising said data further based on said fields.
Preferably, said second communication address comprises a telephone number to which a Short Messaging Service (SMS) message or Multimedia Messaging Service (MMS) message may be addressed.
According to another aspect of the present invention there is provided a method of providing a service to a user, which method comprises the steps of:
(1) discovering at a particular location a communication address of a short-range communication interlace of said device;
(2) using said communication address to query a database comprising a mapping between said communication address and a service to which said user is subscribed; and
(3) activating said service when said communication address is returned. One advantage of this is that users can simply register a short-range interface address in a database and then associate that interface with a particular service that they wish to receive, for example by configuring a web-based account. Thus every time a user comes into a certain building or area, he may be added to a temporary location buddy list as part of a presence service visible to other users. Such an application may be useful for companies to know where employees are. The discovery may be performed by a short-range communication device such as a Bluetooth device, and a query sent to a remote server that performs or instructs step (3) when a result is returned from the database. Advantageously, said service comprises a presence service and step (3) comprises the step of registering said user in a temporary buddy list based on said particular location.
Preferably, said service comprises a data delivery service and step (3) comprises the step of transmitting data to said user. The data delivery service may be an SMS service or MMS service, with a message being sent to the user by either of these communication channels when a device is discovered at the particular location.
Advantageously, said communication address comprises the address of a short -range communication interlace or an application identifier such as a Bluetooth MAC address (BD ADDR).
BRIEF DESCRIPTION OF THE FIGURES
For a better understanding of how the invention may be carried out in practice, reference will now be made, by way of example only to the accompanying drawings, in which: -
Fig. 1 is a schematic block diagram of part of an electronic data communication network operating using a method according to the present invention; Fig. 2 is a schematic block diagram of an electronic communication apparatus in accordance with the present invention; Fig. 3 is a schematic block diagram of an electronic data communication device for use in a method according to the present invention;
Fig. 4 is a flowchart of steps of a method in accordance with the present invention;
Fig. 5 is a schematic block diagram of a shop comprising a registration kiosk according to the invention;
Fig. 6 is a schematic block diagram of the registration kiosk of Fig. 5; Fig. 7 is a schematic block diagram of network architecture according to the invention;
Fig. 8 is a schematic block diagram of a main server according to the present invention; Fig. 9 is a schematic flowchart of steps performed by the registration kiosk of Fig. 5;
Fig. 10 is schematic flow chart of steps performed by the main server of Fig.
8; Fig. 11 is a schematic block diagram of a Bluetooth portal according the present invention;
Fig. 12 is a schematic flow chart of steps performed by the Bluetooth portal of Fig. 11;
Fig. 13 is a schematic block diagram of a checkout according to the present invention; and
Fig. 14 is schematic flowchart of steps performed by the checkout of Fig. 13.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring to Fig.1 part of an electronic data communication network generally identified by reference numeral 10 comprises cellular network infrastructure 12, an electronic data communication apparatus 14 and an electronic data communication device 16. The cellular network infrastructure 12 comprises a number of base stations (not shown) each of which provides for transmission and reception of data to and from user devices by radio links 17 and a cellular interface over a limited geographical area. The geographical area is typically of the order of several hundred metres up to about several kilometres, depending on the exact location of the base station. The base stations transmit and receive data to and from the cellular network that for the purposes of the present invention it is not necessary to describe in any further detail, other than to say that the cellular network facilitates exchange of data (voice, SMS text, multimedia, etc.) between users and other networks.
The electronic data communication apparatus 14 is owned (or otherwise controlled) by a business and is resident on the premises of that business. The apparatus 14 comprises a personal computer (PC) 18 provided with a Bluetooth® transceiver 20 (either separate e.g. with a commercially available USB Bluetooth® adapter, or integral). The PC 18 is also in communication with a cellular device 22 by means of an interface 24. The interface 24 may be a short range wireless TX/RX protocol (Bluetooth®, WLAN, WUSB, infra-red, etc.) or wired (USB, phone-to-PC data cable, etc.) Thus the electronic data communication apparatus has two interfaces by which it may communicate with other devices: a cellular interlace providing access to the cellular network 12 and a Bluetooth® interface for communicating with other Bluetooth®-enabled devices that are in range using a Bluetooth® network 13.
Referring also to Fig. 2 the PC 18 is shown in more detail. It comprises a memory 26, a Central Processing Unit (CPU) 28, amplifiers 30, a display 32 (and an input means not shown e.g. keyboard, touch-sensitive screen), digital-signal processing (DSP) 34, radio control 36 and an antenna 38. The aforementioned parts are in electronic communication with one another.
The cellular device 22 comprises a memory 40, a Central Processing Unit (CPU) 42, amplifiers 44, a display 46 (and an input means not shown e.g. keyboard, touch-sensitive screen), digital-signal processing (DSP) 48, radio control 50 and an antenna 52. The aforementioned parts are in electronic communication with one another. The cellular device has an identity on the cellular network 12 provided by a telephone number and by an International Mobile Station Identity (IMSI).
Stored on the memory 26 of the PC is a set of computer executable instructions that when executed may gain access, via the interface 24, to the operating system and data stored in the memory 40 of the cellular device 22. Such computer executable instructions are commercially available. For example an HTTP-SMS Gateway is available for download from www.ozekisms.com. This software enables the PC 18 to control the cellular device 22, for example to send a text message, retrieve data from the memory 40 (including SMS text messages received by the cellular device 22), etc. In this way a text message sent to the telephone number of the cellular device 22 may be downloaded and stored in the memory 26 of the PC 18 together with telephone number of the cellular device 22. Thus the electronic data communication apparatus 14 has (1) a substantially permanent means of communication with other devices via the cellular network infrastructure 12 and (2) a substantially temporary means of communication with other devices via the Bluetooth® communication link. The PC 18 will only be able to communicate with other Bluetooth®-enabled devices that are within range (typically 10-10Om at a data transmission rate of 72IkB s"1, although this will very much depend on the transmission power of signals and the propagation channel around the transceiver 20) i.e. by means of a location based communication protocol, whereas it will be able to communicate with almost any other device in any location having access to the cellular network i.e. by means of a substantially permanent communication protocol (since the cellular network covers very large areas of many countries at present).
Referring to Fig. 3 the electronic data communication device 16 comprises a multimode device 54 (e.g. mobile telephone, Personal Digital Assistant) having a memory 56, a Central Processing Unit (CPU) 58, amplifiers 60, a display 62 (and an input means not shown e.g. keyboard, touch-sensitive screen), digital-signal processing (DSP) 64, radio control 66, a first antenna 68 and a second antenna 70. The aforementioned parts are in electronic communication with one another. The first antenna 68 provides for data to be transmitted to and received from the cellular network infrastructure 12, whereas the second antenna 70 is part of a short-range wireless TX/RX protocol (Bluetooth®, etc.) device that is either integral with separate from the multimode device 54. A user 23 uses the multimode device 54 and carries it about his person substantially at all times. In doing so the device will come in and out of range of other Bluetooth®-enabled devices either as a result of movement of the user 23 or as a result of other users bringing devices within Bluetooth® communication range (-0-100m) of the device 54. The multimode device 54 also has a cellular interface (for example a GSM interface) by means of which it may send and receive data to and from the cellular network 12. The user 23 is identified on the cellular network by the International Mobile Station Identity (IMSI) number which is in turn mapped to the user's telephone number.
Thus the electronic data communication device 16 can communicate with the PC 18 either over a cellular interface (using the cellular network 12 and cellular device 22,) or over the Bluetooth® interface.
When a Bluetooth®-enabled device (in this case the PC 18) wishes to discover other Bluetooth® devices (in this case the multimode device 54) in range it enters what is known as an inquiry substate. In this state the transceiver 20 broadcasts inquiry packets containing its device address (a 48-bit link layer address known as BD ADDR). Each inquiry packet commences with an Inquiry Access Code (IAC) that may be one of two types: General Inquiry Access Code (GIAC) and Dedicated Inquiry Access Code (DIAC). A GIAC is used when all devices in range are to be discovered and a DIAC is used when only certain specific devices are to be discovered. Since the PC 18 wishes to discover all devices in range the inquiry packets that it broadcasts should use a GIAC. However, in some scenarios it may be that a user of the PC 18 only wants to discover certain types of device in range. In that case the appropriate DIAC should be used in the broadcast.
During the inquiry substate the PC 18 generates a channel hopping sequence derived from its local clock and the GIAC that hops through 32 channels of the 79 available channels. Once the channel hopping sequence has been generated, the PC 18 broadcasts inquiry packets on each channel defined in the hopping sequence.
Discoverable devices periodically enter what is known as an inquiry scan substate. In this state the transceiver of each device listens for inquiry packets on its inquiry scan channel. If an inquiry packet is received the device enters what is known as an inquiry response substate in which the device returns an inquiry response (Frequency Hop Synchronisation - FHS) packet containing the BD ADDR of the device that received the inquiry packet and the clock of that device amongst other things.
Thus in this way the PC 18 can discover the Bluetooth® device address BD ADDR of each discoverable device that is within range. Having done this the notebook 18 does not have to proceed to any of the connection establishment substates as the minimum required information has been gathered from discoverable devices to enable the interfaces to be mapped. A particular advantage is that the user does not have to give permission for this data to be sent from the device other than just switching ON his Bluetooth interface. More precise details of the discovery procedure are given in "Bluetooth® Specification Version 1.2" (presently available to download from www.bluetooth.com) to which reference is made.
Referring to Fig. 4 steps of a method performed by the electronic data communication apparatus 14 is generally identified by reference numeral 80. At step
Sl the PC 18 monitors its Bluetooth® device for discovery of other Bluetooth® devices, such as the cellular device 16. As explained above this is done by placing the
Bluetooth® interface into an inquiry substate in which inquiry messages are repeatedly transmitted at different hop frequencies. In between inquiry message transmissions the Bluetooth® interface scans for inquiry response messages from any other Bluetooth® device, in this case the multimode device 54.
If the PC 18 does not receive any indication of the presence of another Bluetooth® device it repeats the scanning procedure step Sl substantially continuously. Alternatively there may be a delay between scans.
When the multimode device 54 is found (for example when the user 23 brings it within range of the PC 18 by entering or coming near the business premises) the method proceeds to step S2 where the aforementioned FHS packet is read and the MAC address (BD ADDR) of the Bluetooth® interface of the multimode device 54 is extracted and stored in the memory 26 at step S3. At step S4 the PC generates a unique code word for the user of the multimode device 54 that it maps to the MAC address already stored in the memory 26 at step S5. As the range of Bluetooth® communication is short range i.e. less than a radius of about 100m, the code word only needs to be unique for a likely number of Bluetooth® device users within that range. Typically the code word will be alphanumeric such as "BOOKS 123", "COFFEE789" or simply numerical "4567", making it easy to remember. It is possible for the code word to be a number, a text string, a pictogram or any other symbol or series of symbols including video, pictures and/or sound. In general the code word will be associated with the service provided from entities such as hotels, bookstores, restaurants, theatres, etc.
The PC 18 then forms a message that contains the code word and the telephone number of the cellular device 22 to which the PC 18 has access. The message also contains an invitation to the user of the multimode device 54 to send the code word by SMS text message (or by other means such as e-mail or by MMS) to the telephone number provided in the message if they would like access to a range of other services. The message is based on the communication protocol when using a short-range wireless transmission method, such as Bluetooth®. Examples of the protocol that can be used for the message are Object Exchange (OBEX) and serial port communication. At step S6 the PC 18 transmits the message to the multimode device 54 via the Bluetooth® interface. For details of how this may done, reference is made again to the "Specification of the Bluetooth® System" version 1.2 in which details for the establishment of the necessary logical and physical channels between the two devices is given in greater detail. Alternatively, the code word (or other identifier) may be printed on a ticket or receipt, displayed on a screen etc.
The multimode device 54 receives the message, stores it in memory 56 and alerts the user 23 that a new message has arrived.
If the user desires to receive other services or information about other services for example, he composes an SMS text message containing the code word and sends it to the number provided in the earlier message. The SMS text message is routed over the cellular network 12 and is transmitted to the cellular device 22. If received on the cellular device 22 before the timer has expired the SMS text message is immediately passed on the PC 18 by means of the OZEKISMS software mentioned above, where it is stored in the memory 26. If the timer has expired the SMS text message is discarded and an appropriate notification is sent to the user. Since the SMS text message contains both the code word and the telephone number of multimode device 54, the PC 18 can use the code word to map the telephone number of the multimode device 54 to the MAC address of the Bluetooth® interface of the same device. At step S8 the PC 18 searches the memory 26 for the code word contained in the text message. When found, at step S9 the code word is used to map the MAC address to the telephone number of the multimode device 54. The memory 26 of the PC 18 then stores for each cellular device which short-range transmission interlace (Bluetooth®) of devices around the PC 18 corresponds to the cellular interlace (telephone number) of each device. It is now possible for a combined service to provide to the user using both interfaces for example. If the code word is not found in the memory 26 the PC 18 discards the text message at step SlO. Having performed a successful mapping the system may now reuse the code word for another user. However code words that have been assigned to users that have not yet successfully registered should never be reused to avoid errors in the mapping procedure. If a user looses his/her code word the procedure must be repeated and the user be assigned the same code as before.
The PC 18 may now inform the cellular network infrastructure 12 (or any other network node such as a server on the Internet) of the MAC address and matching telephone number if desired.
The benefits of the method are numerous. Businesses will be able to map the interlace of a merely temporary or location (i.e. geographically limited) based communication means (e.g. Bluetooth®) with the interface of a substantially permanent communication means (cellular or other interface e.g. IP address). Thus businesses will be able to communicate with customers long after they have left the premises for example to provide details of promotions, details of events, etc. although user permission will be required prior to sending such messages.
A simple example to aid understanding is as follows: cellular devices may be provided with a service whereby the user is invited to complete a profile containing fields such as age, sex, interests, what characteristics they are looking for in a partner, etc. All users' profiles are stored on a remote server accessible to the PC 18 (e.g. over the Internet). The PC 18 may be located in a nightclub for example. Whilst the nightclub is open the PC 18 may scan for Bluetooth®-enabled devices within range. On finding a device, the PC 18 performs the steps shown in Fig. 4 in an attempt to map the Bluetooth® device address to the mobile telephone number of the device. At step S6 the user may be sent a message using Bluetooth® such as "Would you like to know if there are any matches for you here in the club? If so text MATCHME 123 to 84448". Alternatively, this information may be printed on a ticket or receipt, displayed on a screen etc.
When the user texts the code word MATCHMEl 23 to the cellular device 22, the PC can retrieve the message and then map the telephone number of the user to the Bluetooth® device address of that user. The PC 18 can then use one profile to send a query to the remote server to search for matching data in other fields of the other user profiles. If a match is found the PC may contact (using SMS messages or over the Bluetooth® link) both users of the matching profiles to inform them that a match has been found and providing the relevant contact details of the other person. This could be a telephone number or a photograph using an MMS message. Users will determine in their profiles what details are to be made available to other people.
The two users now have a substantially permanent means of contact with one another, even once they have left the club. Since the range of Bluetooth® may be up to a radius of about 100m the PC 18 may be located in an entertainment district of a town or city so that users not in the same bar, club, etc. may be put in contact with one another. The user profiles need not be stored on each multimode device: they might be stored on a remote server accessible to the PC 18 (e.g. over the Internet).
It will be apparent that the steps performed by computer executable instructions stored on the electronic communication apparatus 14 need not be performed at the same physical location. For example, the electronic communication apparatus 14 may simply play the role of a dumb terminal that gathers and exchanges data with an entity on the cellular network infrastructure 12. For example, the PC 18 may gather Bluetooth® device MAC addresses and send them by GPRS using the cellular device 22 to the cellular network infrastructure 12 where a suitable computing device will store this data in memory. This computing device may also perform steps S4, S5, S8 and S9 of the method shown in Fig. 4. Thus a cellular network operator may do the necessary computing. Alternatively the PC 18 may gather Bluetooth® device MAC addresses and send them (by any suitable means such as over the Internet) to a remote computer where they may be processed as described above and the results stored in memory for later access. The remote computer may be a server accessible by computers in a network (e.g. intranet) used employees of a company for example.
Furthermore, the application of the method is not limited to mapping Bluetooth® device addresses to cellular interfaces. Any short-range, location limited transmission protocol interface (e.g. Zigbee - see www.zigbee.org; Wireless USB) may be mapped to any substantially permanent means of communication (e.g. e-mail, presence address) that is not dependent on the location of the device. Typical communication ranges for Zigbee are between about 10m and 100m at 250kbs~\ Alternatively, the short-range communication protocol may be a Wireless Local Area Network (WLAN) with communication provided under IEEE802.i l, and the permanent means of communication may be an e-mail address. The transceiver may be in the form of a separate Access Point that communicates with the PC 18 either over a wired or wireless interface. Typical ranges of WLAN are: about 100m radius at 11MB s"1 and 300m radius at 1MB s"1. In this case it would be possible by means of the WLAN to map the MAC address of the wireless Network Interface Card (NIC) of a notebook computer to an e-mail address of the user. Since various users may log on to one computer the method provides a means of mapping one interface to different communication means for users. Other interfaces may be mapped to any of the interfaces mentioned herein by a method according to the invention. Such interfaces include as Digital Video Broadcast (DVB) interfaces and Infrared (IrDA). Furthermore the method may be used to map more than one interface to another interface e.g. two Bluetooth® interlaces of two different devices (or two interfaces of one device) of one user may be mapped to one cellular interface.
Accordingly instead of the cellular device 22, the PC 18 may use any device or software application that can be contacted by the device of the user 23. For example, the PC 18 may use modem to receive the code word over a wired network (e.g. PSTN). The user 23 might have a PDA with a presence application. The user 23 might be asked (with a printed ticket, on a display or over the Bluetooth® network) to forward (using his presence application) a code word accessible by the PC 18. This code word will be sent using the presence application thus having the user's presence login details associated with it. The PDA might use GPRS to send the message via the cellular network to the Internet. From there the code word message would be routed over the Internet to a server handling his/her presence account accessible by a presence server application on the PC 18. By periodically polling for inputs, the PC 18 will be able to pick up the code word and download it to memory. Thus it will be apparent that there are a large number of ways of dividing the functionality of the invention over computers on the same and/or different networks.
The meaning of "presence" in the computer sense can be defined as the ability to detect whether other users are online (not necessarily over the Internet) and whether they are available. Presence services are commonly provided through applications like Finger and instant messaging clients, although there are products in other areas that leverage presence, such as VoIP. A signalling protocol such as SIP can be used for instant messaging between two users. A SIP address (one example of a presence address) enables SIP servers to exchange the necessary information to establish communication between users over an IP network.
Currently users with presence-enabled devices (e.g. MSN or AOL Messenger) are able to keep in touch with their friends whilst on the move using instant messaging for example. A permanent "buddy list" on each device shows the status of each buddy such as "online", "busy", "offline", etc. When a user moves within range of the transceiver 20 of the PC 18, it is possible to map by the method described above the Bluetooth® BD ADDR of the user's device to the presence address used by that user (as described above). Having done this for a number of users within range of the transceiver 20 it is possible to generate and store a database comprising a temporary (i.e. location-based) buddy list of users present within range of the transceiver 20. In this way all users within range of the transceiver 20 running compatible presence clients will be able to "see" one another be means of the temporary buddy list.
Referring to Fig. 5 part of a shopping environment generally identified by reference numeral 90 comprises a registration kiosk 91 near which customers 92 peruse items on sale (not shown). Each user has a multimode device 93 such as a mobile telephone or PDA with a Bluetooth® interface and a cellular interface as described above, and a clubcard 94 (or so called loyalty card) associated with the store in which he is shopping. Clubcard and loyalty card schemes are in widespread use; they provide a way for businesses to reward customers for purchases in stores of the business. The rewards often take the form of awarding points to customers in proportion to an amount of money spent. Details of each customer are stored in a central loyalty database having fields storing identity data (name, contact details, etc.) account data (number, etc.), shopping history data (time, date, products purchased, etc.). When a customer has earned so many points, the points they may be redeemed either for a discount on purchases or for a gift for example.
The registration kiosk 91 comprises a stand 95 on which is mounted a printing device 96, a card reader 97 and a short range Bluetooth® access point (BTAP) 98. Referring also to Fig. 6 the registration kiosk 91 further comprises a computer memory (e.g. RAM) 99, a CPU 100 and a NIC 101. All of the components of the registration kiosk 91 are in electronic communication with one another under control of the CPU 100 and computer executable instructions stored on the memory 99 as described in greater detail below.
In use the user 92b is drawn to the registration kiosk 91 by means of suitable promotional material that offers a discount on certain items of shopping for example. The function of the registration kiosk 91 is to facilitate mapping the BD ADDR of the Bluetooth® interface to the telephone number of the cellular interface, both of the user's multimode device 93 and to relate this mapping to the central loyalty database mentioned above. Following this mapping, the operator of the store and/or operator of a clubcard/loyalty scheme has a substantially permanent means of communication i.e. the telephone number by which appropriate data may be sent to the multimode device 93 at strategic times triggered by the short-range location-based communication protocol i.e. Bluetooth®. The customer 92b swipes his clubcard in the card reader 97 or presses a button (not shown) to activate the registration process. The clubcard 94 comprises a loyalty ID 102 that uniquely identifies the user 92b to the store operator for the purposes of collecting points in return for making purchases in stores of the operator. Users without a clubcard may also take part in the registration and may later insert their clubcard number online for example.
The BTAP 98 is configured to transmit at very low power i.e. -50dbm or less, such that only multimode devices within range of the registration kiosk 91 i.e. within approximately 0-1. Om will receive inquiry messages and respond with an FHS packet. In this way the BTAP 98 discovers the BD ADDR of the multimode device
93 belonging to the user 92b and not the BD ADDRs of any other multimode devices. The registration kiosk 91 then outputs a code for the customer 92b which is printed onto a ticket by the printing device 96 and asks the customer 92b to send the code by SMS to a particular telephone number. The customer may then text the code back at any convenient time or within a time limit specified on the ticket. The registration kiosk 91 then transmits the BD ADDR, code and loyalty ID to a main server (see Fig. 7) via the NIC 101. The main server having access to the cellular network and the interface identified by the telephone number awaits receipt of the code from the user 92b. When received, the main server may use the code to look up the BD ADDR of the multimode device 93 and map it to the cellular interface of the same device.
Referring to Fig. 7 network architecture generally identified by reference numeral 110 comprises a main server 111 having access to a user profile database 112, an SMS server 113 and a web server 114. Referring to Fig. 8 the main server comprises CPUs 115, memory 116 and NICs 117 that are in electronic communication with one another. The NICs provide access for the main server 111 to other networks such as WANs, LANs and the Internet. The main server 111 also has access to Bluetooth® portals in business premises 119 (A, B ... Z) and the Bluetooth portals 120 in the supermarkets 118 (1, 2 ... M). The main server 111, user profile database 112, SMS server 113 and a web server 114 are operated by a loyalty scheme operator such as Nectar® (see www.nectar.co.uk). The user profile database is stored in the memory 116 and maps the fields BD ADDR, CODE, LOYALTY ID and USER PROFILE for each user registered with the loyalty scheme. How the user profile database 112 is populated is described below. Thus a number of different businesses can take part in a single loyalty or clubcard scheme administered by the loyalty scheme operator.
Each supermarket 118 comprises a Bluetooth® Portal 120, one or more registration kiosk 91, and N checkouts 121, each of which has a very short-range Bluetooth AP and a loyalty card interface for transceiving loyalty data.
The following scenarios are handled by the architecture 110:
(A) a user wishes to register his multimode device 93 with the loyalty scheme operator;
(B) a registration kiosk requests a code for a user; (C) a user wishes to update his account with a new multimode device 93 or add another device;
(D) a registered user enters a supermarket or business premises that is part of the loyalty scheme;
(E) a registered user wishes to collect/redeem any points that he has; (F) a registered user wishes to permanently deregister from the service and
(G) provide confirmation that a user has successfully registered.
This functionality is provided by a number of distributed network nodes interlacing with the main server 111. The various network nodes and the functions A to G that they perform are described below.
Registration Kiosk (Functions A, B, C)
Referring to Fig. 9 computer executable instructions generally identified by reference numeral 130 are stored in the memory 99 and performed by the registration kiosk 91 when it is activated by the customer 92b. At step S9-1 the registration kiosk is idle and awaits swipe of the clubcard 94 in the card reader 97 or pressing of a button by the user. When the customer 92b activates the kiosk by swiping the loyalty card 94 (or pressing the button) the registration kiosk stores the loyalty ID in the memory 99 at step S9-2. The remainder of the description assumes that the user has swiped the clubcard 94 to activate the kiosk 91, although it is to be noted that this data is not essential to register a user. At the same time it enters the inquiry substate at step S9-3 to discover the BD ADDR of the multimode device 93. At step S9-4 the registration kiosk determines how many BD ADDR are returned; if more than one is found the kiosk waits and then enters the inquiry substate perhaps 5 s later until it finds only one BD ADDR. Alternatively a display may display those devices discovered and the user may confirm which one is to be registered. When one BD ADDR is found the BD ADDR is stored in the memory 99 at step S9-5. The registration kiosk 91 composes a code request message (CRM) at step S9-6 that comprises the following data: kiosk ID, loyalty ID and BD ADDR, together with a header which identifies the message as type CRM. The kiosk ID is an identifier of the kiosk and the loyalty ID identifies the customer to the loyalty scheme operator. The function of the CRM is to trigger the main server 111 to generate a code for that customer 92b and send it to the registration kiosk 91 (function B).The registration kiosk awaits receipt of the code and then outputs the code by printing it onto a ticket at step S9-7. The user is then instructed at step S9-8 to send the code to 80001 in order to complete the registration procedure (function A). The instructions may be printed onto the ticket or displayed on a screen for example.
Function C is handled by the registration kiosk 91 in an identical way to the registration procedure. The functionality necessary to enable this is stored on the main server 111, described in more detail below.
Main Server (Functions A to G)
Referring to Fig. 10 computer executable instructions generally identified by reference numeral 140 are stored in the memory 116 and performed by the main server 111 to deal with scenarios (A) to (G) mentioned above. It will be recalled (see Fig. 7) that the main server 111 interfaces many different devices. When receiving a message at step SlO-I from one of the devices, the main server 111 checks the message format at step S 10-2 to determine whether or not it is valid. The header of the most messages sent by the devices should each comprise data to identify the type of message. At step S 10-2 this header is read to determine what part of the method to perform subsequently. Furthermore messages will arrive through different interfaces in the main server 111 e.g. GPRS or cellular interface. Therefore the main server 111 will know what action to take based either on the interface and/or on the message header.
If the message format does not match any of those recognised by the main server 111, the message is discarded at step S 10-3. Once the message is validated it is examined to determine whether it is an SMS type message (no header) or whether it is a message with a header. If it is an SMS message the main server 111 executes steps in the column headed A, C, F, G in Fig. 10, described below; if the message has a header, the header is read to determine its type and then either column headed B, D or E is executed.
Registration (A)/Update (C)/De-registration (F)fConfirm (G)
Having determined that the message is an SMS message, the data in the message is read at step S 10-4 to decide if is a de-register message. If not, the user profile database 112 is queried at step S 10-5 with the data in the message which must be a code assigned by the main server 111 previously. The user profile database 112 returns the BD ADDR mapped to that code. At step S 10-6 the main server 111 then updates the mapping in the user profile database with the cellular telephone number in the text message, so that the database comprises a mapping between the BD ADDR and the telephone number of the customer 92b (function A). The customer 92b may be updating his account with a new multimode device with the same telephone number. In that case the main server 111 replaces the existing old MAC address in the user profile database with the new MAC Address detected. In a different scenario the customer 92b may have changed telephone number but still uses his old device. In that case the main server 111 replaces the existing telephone number in the user profile database with the new telephone number in the text message. If the customer is adding an extra multimode device to his clubcard account, the main server 111 makes a new entry in the user profile database 112 as though it were an ordinary registration; however, the loyalty ID provides a relational mapping to link the two devices together (function C). Optionally a confirmation message may be sent to the customer 92b by the SMS server 113 at step S 10-7.
After registration the customer 92b may decide that he does not wish to receive the service any further; to de-register he sends a text message containing DEREGISTER to the cellular interface of the main server 111 which is detected at step S 10-4. The main server 111 queries the user profile database 112 with the source telephone number of the text message and removes the corresponding entry at step S 10-8. Optionally a confirmation message may be sent to the customer 92b by the SMS server 113 at step S 10-7.
Code Request Message (CRM) (B)
If at step S 10-2 the main server 111 determines that the received message is a CRM message it executes the column of steps headed B in Fig. 10. At step S 10-9 the data in the message is read to extract the loyalty ID, BD ADDR and kiosk ID. The kiosk ID may be used to gather statistics about the number of customers visiting a particular registration kiosk for example, and may also be used to address each kiosk for the purposes of sending messages. At step SlO-10 the user profile database 112 is searched using the BD ADDR to determine if that multimode device 93 has already been discovered. If the device has already been discovered, this indicates that a code has already been assigned and that the main server should not generate another. The assigned code is extracted from the database at step SlO-I l and transmitted at step S 10- 12 to the registration kiosk 91 for use in the steps described with reference to Fig. 9. If at step SlO-10 there is no existing entry in the user profile database 112, a multimode device 93 is attempting to register for the first time. Accordingly the main server 111 generates a code for that device at step S 10- 13 and creates an entry in the user profile database 112 mapping the code, BD ADDR and loyalty ID to one another. The code generated need only be unique enough to enable the main server 111 to distinguish multimode devices sending codes to the same cellular interface address (i.e. telephone number). Therefore other servers similar to the main server 111, but using a different cellular interface address, may generate codes without reference to the main server 111. The main server 111 may also construct a relational reference to the central loyalty database operated by a loyalty scheme operator so that the code, BD ADDR and loyalty ID are also mapped to a user profile of the customer 92b which may include name, contact details, shopping history, points in account, etc. The main server then awaits receipt of the code on its cellular interlace to execute steps S 10-4 to S 10-8 described above to complete the registration process. An entry made in the user profile database 112 under steps S 10-9 to S 10- 12 may have a lifetime associated with it, for example one month.
Discovery Message (D)
Once registered the customer 92b can go about their ordinary life, visiting different businesses and shops. When the customer enters one of the business premises 119, the Bluetooth portal therein will discover the presence of their multimode device 93 (described in greater detail below). The Bluetooth portal composes a message to the main server 111 containing a header that identifies the message as a Discovery Message (DM). The DM contains the BD ADDR of the device that has been discovered and a store ID. The store ID is an identifier that uniquely identifies either each individual store (i.e. business premises 119 and supermarkets 118) or each operator of a number of stores to the main server 111. For example the supermarkets 118 may all be operated by Walmart® and may therefore be assigned a single store ID. The business premises 119 may be operated by different operators selling any goods and/or services from a physical business premises, each having their own store ID. Alternatively a large store may have more than one store ID as described in greater detail below.
On receiving a DM the main server executes the steps in column D of Fig. 10: the user profile database 112 is queried at step S 10- 14 with the BD ADDR. Once the entry for that address is returned, the main server 111 has access to the cellular interlace (i.e. the telephone number) of the customer and the SMS server 113 is instructed to send a text message to the customer 92b at step S 10- 15 as described in greater detail below.
The first time the user is discovered by a Bluetooth portal it will trigger an automated welcome text message to that mobile number. This helps to check that the BD ADDR address is registered to the correct phone number. Checkout Message (E)
To facilitate the collecting and redeeming of points, the main server 111 assists the mapping of a customer's multimode device to their loyalty account. At the point-of-sale the checkout is configured to discover the multimode device of that customer (described in greater detail below). Once discovered the checkout composes a Checkout Message (CM) comprising a header identifying the message, and carries the BD ADDR discovered. On receiving the message the main server executes the steps shown under column E in Fig. 10: the user profile database 112 is queried at step S 10- 16 with the BD ADDR. Once the entry for that address is returned, the main server 111 has access to the loyalty ID of the customer by virtue of the mapping. The main server 111 transmits a response message to the checkout that contains the loyalty ID at step S 10- 17. On receipt of the message the checkout reads the loyalty ID is uses the existing loyalty scheme interface to update the customer's account.
The user profile associated with the BD ADDR may be a relational data structure comprising fields storing data about the user's shopping habits, preferences, credit rating, etc. populated by the store operators and/or loyalty scheme operators. Based on this user profile and the store ID the main server 111 can determine what type of data might be appropriate to send to the user. For example, if a customer has entered supermarket A the Bluetooth® portal 120 detects the presence of the customer's multimode device 93 as it enters the inquiry substate substantially continuously to discover devices coming into the store.
Referring to Fig. 11 the Bluetooth® portal 120 comprises an access point 151, a CPU 152, a cache (i.e. memory) 153 and a NIC 154 all in electronic communication with one another. The Bluetooth portal 120 may be similar to the PC described in conjunction with Fig. 1. The NIC 154 may be a cellular interface (e.g. a mobile telephone connected to a PC) so that data from the portal can be sent to the main server 111 over a GPRS network for example; alternatively it may be a WLAN NIC or an Ethernet NIC or a NIC that connects to the existing backbone of the stores. The Bluetooth® portal 120 maybe positioned at the main entrance to the store and is configured to broadcast inquiry packets over a radius of 0.1m to 100m such that substantially only multimode devices 93 in the area around the entrance will receive the inquiry packets and respond. The range of Bluetooth devices is classified as follows:
Class I Bluetooth devices are the most powerful broadcast class. They operate at 10OmW (+20bB/m) and are able to received, with a clear line of sight (LOS), up to about 100 meters away;
Class II Bluetooth devices are midrange broadcast class. They operate at 2.5mW (+4bB/m) and are able to received, with a clear line of sight (LOS), up to about 10 meters away; and
Class III Bluetooth devices are the least powerful in broadcast class. They operate at ImW (+0bB/m) and are able to received, with a clear line of sight (LOS), up to about 1 meter away.
The Bluetooth portal 120 may be any suitable Class according to the needs of the business operator to provide coverage for substantially all or part of a business premises. The memory 153 stores computer executable instructions that when executed perform the method steps of Fig. 12.
Referring to Fig. 12 method steps generally identified by reference numeral
160 are performed by the Bluetooth® portal 120. At step S 12-1 the inquiry substate is entered and inquiry packets are broadcast at a power (e.g. Class II/III) sufficient to cover approximately 5-2Om. In between the inquiry message transmissions the Bluetooth® portal 120 scans for inquiry response messages from any multimode device in range with a Bluetooth® interface at step S12-2. If none is received the method returns to step S 12-1 and scanning continues. If an FHS packet is received the BD ADDR is extracted at step S 12-3; a lifetime of any suitable duration may be associated with the entry in the cache. The portal continues to scan for other devices while handling the FHS packet it has received. At step S 12-4 the cache is searched to determine if the BD ADDR is already present. If so the FHS packet is simply discarded at step S 12-5. In this way if the customer spends some time in range of the Bluetooth® portal 120, the BD ADDR is not repeatedly sent to the main server 111 which reduces signalling overhead. At step S 12-6 the BD ADDR is cached if not already stored and a Discovery Message composed and transmitted to the main server 111 at step S 12-7 with the store ID. When the lifetime associated with the BD ADDR expires it is removed from the cache at step S 12-8. The caching of each BD ADDR with a lifetime ensures that the BD ADDR is not repeatedly send to the main server reducing overhead signalling.
There may more than one Bluetooth® portal 120 in each store: for example a portal at the entrance to the store, another at first area and another at a second area. The first area may be a floor of a department store for example and the second area may be a specific promotional area of very limited dimensions e.g. approximately 5m by 5m. Accordingly it will be apparent that the transmission power of the portal may be adjusted according to the area to be covered. The store ID may therefore comprise data representing an identifier of the operator of the store and an identifier of the location of the customer within the store. The main server 111 may use this store identifier to further customise the data to be transmitted to the customer based not only on their presence in the store, but also upon their location in that store as detected by the Bluetooth® portals 120.
Once registered with the main server 111, a customer need do nothing further to receive data via the cellular interface of their multimode device 93 other than switching on the Bluetooth interface of his/her device. In particular, Bluetooth® portals in each store participating in the loyalty scheme will be triggered as described above as each customer's multimode device comes within range. The customer then automatically receives a customised text message containing details of products and/or services. The mapping between a location-based interface and a substantially permanent interface, combined with the discovery of devices using the location-based means of communication enables store operators to transmit customised data to the customer. Furthermore the user profile of the customer may comprise user preferences that enable the main server to determine when not to send data even though the customer's presence in the store has been discovered. For example the customer may configure his account via the web server 114 so that no more than two text messages are sent per day.
On receipt of a Discovery Message the main server 111 may decide that a customised text message can be sent to the customer informing him that he can obtain a free or reduced price item from that store for example. Alternatively, the text message may comprise an offer to the user even if he is not registered with the loyalty scheme. However if the user is part of the loyalty scheme the text message may be uniquely generated for that customer based on his user profile e.g. purchase history, preferences, credit rating, etc. and his current physical position as indicated by the store ID. Thus the method overcomes the technical difficulties of providing customers with information about products and/or services at the right time, and of deciding which products and/or services to inform the customer about. Furthermore the method utilises existing technology whereby the customer is not required to purchase any new technology. Use of the cellular network enables offers to be made to many different customers substantially simultaneously.
Once the user has completed the registration procedure described above he may wish to use or collect loyalty points, or take up an offer he received on entering the store. Updating of points and taking any offer frequently happens at the point of sale e.g. checkout. Referring to Fig. 13 the checkout 121 (see Fig. 7) comprises a card reader 170, a printing device 171, an interface 172 to the main server 111, a loyalty card interface 173, a memory 174, a CPU 175, and a very short range Bluetooth® Access Point (AP) 176 all of which are in electronic communication with one another. The memory stores computer executable instructions that when executed perform the method steps of Fig. 14.
Referring to Fig. 14 method steps generally identified by reference numeral 180 are performed by the checkout 121 as part of the usual transaction process. Before any items are scanned the Bluetooth® AP 176 enters the inquiry substate at step S 14-1 to discover if the customer has a multimode device with a Bluetooth® interlace (the inquiry substate may run substantially continuously). If no device was discovered at step S 14-1, the checkout 121 indicates at step S 14-2 to the cashier that the loyalty card should be requested and swiped in the conventional manner. If an FHS packet is received by the Bluetooth® AP 176, the BD ADDR is read at step S 14-3 and transmitted to the main server 111 in the aforementioned Checkout Message. As described above, the main server 111 queries the user profile database 112 and returns to the checkout 121 the loyalty ID associated with the BD ADDR. If no loyalty ID is received at step S 14-4, a message is composed and sent by the main server 111 to the cashier that the loyalty card should be requested and swiped in the conventional manner. If the loyalty ID is received it is associated with the cashier till in the same way that a normal card swipe works. The customer's items are then scanned and details stored in the memory 174. The purchase of the items will earn loyalty points that could be assigned/redeemed at step S 14-5 using the existing loyalty card interface 173. Thus no new technology is required to operate the loyalty points system and the invention interlaces with it to provide additional functionality.
Referring again to Fig. 5 customers who wish to register for the service may do so without a clubcard or loyalty card. In that case, the registration kiosk may be activated by pressing a button or simply by placing a multimode device 93 on the near to the BTAP 98. The process described above is repeated except that no mapping to a loyalty card ID is made. Such users will not be able to receive exclusive personal promotions but could still receive messages with general promotions.
There are a number of other ways in which two interfaces can be mapped. For example:
(1) A user downloads a 'registration' application from the web server 113. The application will then be installed on the user's multimode device. The application enables the user to perform the mapping as follows: assume user A has a device with the application and wishes to register user B. User A asks user B to switch on his/her Bluetooth interlace. User A loads the registration application that then performs a search for all Bluetooth devices in the area (~10m radius) and displays all the results on user A's device. User B's device will also be displayed in the search results. User A then confirms that the device with name 'JOHN' is actually the device of user B. User A then asks for the telephone number of user B. User A selects the device called 'JOHN' from the search results and inputs the telephone number of user B. The application then establishes a GPRS connection and sends data comprising the MAC- telephone number mapping to the main server 111 where the mapping is stored.
(2) This method can be performed by users that have a Bluetooth card attached to their PC (also for Bluetooth enabled laptops). In this scenario the user downloads a registration application from the web server 113. Once the application is running, it detects all Bluetooth-enabled devices in range (e.g. 5m) and asks the user to select the device name he wants to register. Once selected the user inserts his/her telephone number of that device. The mapping is transmitted by the application to the main server 111, and the user is sent a confirmation message via SMS. This message also contains a code word that the user is required to either text back to the server or insert on the website to complete the registration. This is to confirm that the telephone number inserted is that of the actual user and not someone else's number.
(3) Each user wishing to register downloads a software application to their multimode device and uses the application to register their MAC-telephone number mapping on the main server 111. This might work as follows: a user installs the application on their device. The application asks user to insert their telephone number. Once inserted the application automatically captures the MAC address (BD ADDR) of the Bluetooth interface and forwards the mapping to the main server 111.
(4) In this method the user obtains the BD ADDR of his device using a special dial number (this number currently exists for some phones: for Nokia 6310 it is *#2028#). The user registers with the service via a website hosted by the web server 113. The website asks the user to enter his mobile telephone number and MAC address thereby obtaining a mapping between the two. The main server 111 then texts the user a code word to validate his telephone number; the user must either SMS the code back to the main server 111 using a telephone number provided on the website or enter this code word in the website to complete the registration procedure.
Whilst methods (1) to (4) are possible, it is believed commercial implementation is unlikely as too much onus is placed on the user to perform technical tasks correctly. The two main methods described above in conjunction with the Figures allow the interfaces to be mapped using existing technology with which users are familiar.
As used herein the term "text" is intended to include conventional the SMS and the newer MMS associated with 3G networks.
It is envisaged that the registration kiosk may be incorporated into the checkout 121 instead. When a customer completes his purchase the cashier may ask if he wishes to register with the Bluetooth service by switching on his multimode device 93 if not already activated. The customer's receipt may then be printed with the code word to text to back to the main server 111 to activate the service. It will also be appreciated that the functionality provided by the registration kiosk may be incorporated into any device that reads a card containing data. Such devices include Automatic Teller Machines (ATMs) and ticket machines. In this way details of devices may be mapped to bank accounts, credit cards, etc. if desired.
In another embodiment, the registration kiosk may simply discover BD ADDRs and perform service discovery on each device (i.e. no mapping is performed between the Bluetooth interface and the cellular interface). The results are sent to central server where they are stored. Whenever a device comes within range of Bluetooth portal the BD ADDR is sent to the central server where the database is queried to discover the services to which the user is subscribed and to activate one of those services. For example, the user may be added to a temporary buddy list whilst in the particular location.
As used in the appended claims the word "map" may mean "providing a logical connection or association between".
Although the embodiments of the invention described with reference to the drawings comprise computer apparatus and methods performed in computer apparatus, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the implementation of the methods according to the invention. The carrier may be any entity or device capable of carrying the program.
For example, the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk. Further, the carrier may be a transmissible carrier such as an electrical or optical signal that may be conveyed via electrical or optical cable or by radio or other means.
When the program is embodied in a signal that may be conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or other device or means.
Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant methods.
FIELD OF THE SECOND INVENTION
The present invention relates to a method of estimating the number of people within a predetermined range of a particular location, to an electronic data communication apparatus, to a computer program and to a computer program product.
BACKGROUND OF THE SECOND INVENTION
Customer-related statistical information is very valuable to businesses.
Knowledge of the number of customers and potential customers in the vicinity of a particular location, such as a business premises or potential promotional location, is an important piece of information. This enables the business to effectively target resources to periods when return on the investment is likely to be greatest.
Increasing numbers of people own electronic data communication devices such as mobile telephones, Personal Digital Assistants (PDAs) and notebook computers that are carried about the person substantially at all times. Furthermore an increasing percentage of these devices are being manufactured with some form of short-range wireless transmission capability e.g. Wireless Local Area Network (WLAN) and Bluetooth®. Accordingly it is expected that in the future businesses will offer products and services to customers not only over the Internet and through business premises, but also through short-range wireless transmission portals such as WLAN Access Points and Bluetooth® transceivers. At the priority date hereof businesses have already begun sending advertisements in the form of Short Message Service (SMS) text messages over the cellular network. However, such messages are not highly geographically limited in distribution so that a user may be some distance from the nearest physical location where the product or service can be obtained.
Short-range wireless transmission protocols offer businesses an opportunity to target services to customers in highly geographically limited areas e.g. radius of 10m- 100m, and to research where is ideal for opening a shop in a new location or performing promotional activity. In order to tailor these services to the customer it is important to know how many people pass a particular location from where the service will be delivered, and what percentage of those people have devices (e.g. mobile telephones, Personal Digital Assistants, notebook computers) capable of accessing the new service.
Automatic gathering by computer apparatus of statistical information of the number of customers and potential customers passing a particular location, and of the capability of their electronic data communication devices, presents a technical challenge, particularly without any hardware and/or software upgrades of devices.
SUMMARY OF THE SECOND INVENTION
Preferred embodiments of the present invention are based on the insight by the applicant that a short-range wireless communication protocol enables detection of passing electronic communication devices carried by users within a small geographical area, typically less than about 500m in radius, and very often much smaller (e.g. 25m). This can provide a means to estimate the number of people within that geographical area and to research locations for new business premises, promotions, etc. The invention is also based on the realisation that existing short- range communication protocols can be exploited to make such an estimate with surprising simplicity, whereby the need to upgrade the hardware and/or software of users' mobile devices is mitigated.
According to the present invention there is provided a method of estimating the number of people within a predetermined range of a particular location, which method comprises the steps of: - (a) using an antenna to listen for electromagnetic communication signals indicative of the presence of one or more remote electronic data communication device likely to be carried about the person of one or more of said people; and
(b) providing an electronic output signal from said antenna representative of said presence; which electronic output signal facilitates estimation of the number of people within said predetermined range.
Advantageously, step (1) comprises passively listening for said electromagnetic communication signals. One advantage of this is that no communication need take place between the antenna and the remote devices. Preferably, step (1) comprises actively sending electromagnetic communication signals intended to cause any remote electronic data communication device within said predetermined range to respond. One advantage of this method is that it is more robust than the passive method. In particular, a remote device that can be discovered will respond if within range.
Advantageously, the method further comprises the step of associating an electronic identifier with the or each remote electronic data communication device within said predetermined range, which electronic identifier helps to reduce the chance of including the same remote electronic data communication device more than once in said estimate. In this way it is possible to remove a multiplicity of signals from one device during a listening period.
In one embodiment said electronic identifier is an address of an interface of each remote electronic data communication device at the physical layer or link layer. Preferably this is a Bluetooth® device address (BD ADDR) that is included in the inquiry response message sent out by remote devices.
Preferably, step (a) is performed substantially continuously whereby the number of people within said predetermined range may be estimated substantially in real-time. Making data that represents the output signal available over a remote server, for example, enables numbers of people to be monitored in real-time.
Advantageously, step (a) is performed for a predetermined length of time and is repeated periodically. This may help to save network resources.
Preferably, the method further comprises the step of interrogating each remote electronic data communication device to discover what services are available thereon. The response from the remote devices may be stored in computer memory and/or transmitted to another computer for storage and analysis. A Service Discovery Protocol (SDP) may be used for this step, such as the Bluetooth® SDP, Service Location Protocol, Jini, and Universal Plug and Play. Greater Detail of these SDPs can be found in "A Comparison of Service Discovery Protocols and Implementation of the Service Location Protocol", Bettstetter, C. and Renner C. in Proceedings of 6th EUNICE Open European Summer School: Innovative Internet Applications (EUNICE), 2000.
Advantageously, said antenna is in communication with an electronic data processing and storage device, the method further comprising the step of storing data communicated in said electronic output signal representing presence of said one or more remote electronic data communication device. In one embodiment the data processing and storage device is a notebook computer and the antenna is provided therein. Alternatively the antenna may transmit said output signal over a wired or wireless interface to a remote computer.
Preferably, the method further comprises the step of electronically storing data representing the time of detection of the or each remote electronic data communication device. By also storing data of when the remote device is no longer present it is possible to estimate the duration that each remote device stayed within the predetermined range.
Advantageously, the method further comprises the step of storing data representing an identity of said particular location and associating said one or more remote electronic data communication apparatus with said identity.
Preferably, repetition of said storage step generates in said electronic storage device a database of those remote electronic data communication devices within said predetermined range. This database may either be stored on a computer at the particular location or data may be sent to a remote computer for storage and remote access.
Advantageously, the method further comprises the steps of electronically comparing entries in said database to determine those remote electronic data communication devices that have (a) just arrived within said predetermined range, (b) just left said predetermined range, and (c) still within said predetermined range, and storing data representative of said (a), (b) or (c). In this way the database may be kept substantially current whereby substantially real-time monitoring of the number of people may take place. Preferably, said comparison step is performed by electronically comparing a first list of data obtained at a first time with a second list of data at second time earlier than said first time.
Advantageously, the method further comprises the steps of generating a structured message comprising electronic data divided into fields representing data defined above, and forwarding said structured message to a remote computer device or apparatus.
Preferably, the method further comprises the step of generating said structured message for each remote electronic data communication device discovered within said predetermined range.
Advantageously, said structured message comprises data representing more than one remote electronic data communication device. Thus the structured message may send all of the data in one message.
Preferably, the method further comprises the step of providing remote access to said database, whereby remote users may access said database to request retrieval of data therefrom. Access may be via a web page for example.
Advantageously, the method further comprises the step of generating and storing a plurality of databases providing said estimate for a plurality of particular locations. This may be done on a computer server that provides access to the databases over the Internet for example.
Preferably, said electromagnetic communication signals are used by a short- range wireless communication protocol.
Advantageously, a radius range of said short-range wireless transmission protocol is less than approximately 500m.
Preferably, said radius range is less than approximately 300m.
Advantageously, said radius range is less than approximately 100m. In one embodiment said radius range is less than approximately 25m.
Preferably, said short-range wireless communication protocol is Bluetooth® and/or Wireless Local Area Network (WLAN) and/or Zigbee and/or Wireless USB.
Advantageously, said particular location is a business premises. In principle the method may be applied to any location: stations, bus stops, theatres, restaurants, shops, cinemas, etc. It is not necessary for the location to be associated with a specific business or business premises, however.
According to another aspect of the present invention there is provided an electronic data communication device for use in an electronic data communication network, which electronic data communication device comprises for a memory storing computer executable instructions for performing a method as set out above.
According to another aspect of the present invention there is provided an electronic data communication network comprising one or more electronic data communication device provided with computer executable instructions for performing a method as set out above. It will be apparent that different electronic data communication apparatus in the network can perform different steps of the method. Thus the method may be performed on computing apparatus that are distributed over a network such as the Internet.
According to another aspect of the present invention there is provided a computer program comprising computer executable instructions for causing an electronic data communication device to perform the method steps set out above.
According to another aspect of the present invention there is provided a computer program product storing computer executable instructions as set out above.
Advantageously, the computer program product is embodied on a record medium, in a computer memory, in a read-only memory, or on an electrical carrier signal. Part or all of the computer executable instructions may be stored on a server for download to one or more remote computer. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
In order to provide a more detailed explanation of how the invention may be carried out in practice, a preferred embodiment relating to use with Bluetooth®- enabled devices will now be described, by way of example only, with reference to the accompanying drawings, in which: -
Fig. 15 is a schematic block diagram of part of an electronic data communication network operating using a method according to the present invention; Fig. 16 is a schematic block diagram of an electronic data communication apparatus according to the present invention;
Fig. 17 is a schematic block diagram of a remote electronic data communication device present in the network of Fig 15;
Fig. 18 is a schematic block diagram of an electronic data processing and storage apparatus according to the present invention;
Fig. 19 is a flowchart of steps of a method in accordance with the present invention performed by the apparatus of Fig. 16;
Fig. 20 is a schematic diagram of a structured message composed and sent by the apparatus of Fig. 16; and Fig. 21 is a flowchart of steps of a method in accordance with the present invention performed by the apparatus of Fig. 18.
Referring to Fig. 15 part of an electronic data communication network generally identified by reference numeral 10 comprises an electronic data communication apparatus 12 in the form of a notebook computer. The notebook computer 12 is located on a business premises such as a retail outlet or other environment accessible by the general public such as a theatre, restaurant, museum, etc. The notebook computer 12 is connected to the Internet 14 by means of a suitable network interface card (not shown in Fig. 1) by means of which applications run on the notebook computer may send to and receive data from a remote electronic data communication apparatus in the form of a server 16 described in greater detail below.
The notebook computer 12 comprises a Bluetooth® transceiver 18 (either separate e.g. with a commercially available USB Bluetooth® adapter, or integral) that is in electronic communication with a data processing system 20 in the notebook computer 12. The Bluetooth® transceiver 18 enables the notebook computer 12 to communicate with other Bluetooth®-enabled devices that are within range, as shown schematically by the ellipse 22. Three electronic data communication devices 24, 26, 28 are shown within range of the Bluetooth® transceiver 18. Each electronic data communication device 24, 26, 28 comprises a respective Bluetooth® transceiver 30, 32, 34 by means of which each device may communicate with the notebook computer 12. Each electronic data communication device 24, 26, 28 is owned by a user 36, 38, 40 respectively and may be in the form of a mobile telephone, personal digital assistant, notebook computer, etc.
Referring to Fig. 16 the notebook computer 12 comprises a memory 42, a Central Processing Unit (CPU) 44, amplifiers 46, a display 48 (and an input means not shown e.g. keyboard), digital-signal processing (DSP) 50, radio control 52 and an antenna 54 (that make up the transceiver 18). The aforementioned parts are in electronic communication with one another. The antenna 54 provides for data to be transmitted and received by the notebook computer 12 using the Bluetooth® communication protocol. The typical range over which the Bluetooth® transceiver 18 can send and receive data is a radius of approximately 10m- 100m (at a data transmission rate of 72IkB s"1), although this will very much depend on the transmission power of signals and the propagation channel around the transceiver 18.
Referring to Fig. 17 each electronic data communication device 24, 26, 28 comprises a memory 56, a Central Processing Unit (CPU) 58, amplifiers 60, a display 62 (and an input means not shown e.g. keyboard, touch-sensitive screen), digital- signal processing (DSP) 64, radio control 66 and an antenna 68. The aforementioned parts are in electronic communication with one another. The antenna 68 provides for data to be transmitted to and received from the notebook computer 12 (and any other Bluetooth®-enabled device nearby) using the Bluetooth® communication protocol. The devices 24, 26, 28 are carried by the users substantially at all times and are (usually) left powered on so as to receive incoming communications such as telephone calls and e-mails. In doing so each device will come in and out of range of the notebook computer 12 as a result of movement of the users 36, 38, 40 past or into the business premises where the notebook computer is positioned. The typical range over which the antenna 68 can send and receive data is a radius of approximately 10m- 100m (at a data transmission rate of 72IkB s"1), although this will very much depend on the transmission power and propagation channel around the transceiver.
Referring to Fig. 18 the server 16 comprises a memory 70, a Central Processing Unit (CPU) 72, amplifiers 74, digital- signal processing (DSP) 76, and a network interface card 78. The aforementioned parts are in electronic communication with one another. By means of the network interface card 78 applications running on the server 16 may send and receive data over the Internet to other computers, including the notebook computer 12.
When a Bluetooth®-enabled device (in this case the notebook 12) wishes to discover other Bluetooth® devices (in this case the devices 24, 26, 28) in range it enters what is known as an inquiry substate. In this state the transceiver 18 broadcasts inquiry packets containing its device address (a 48-bit link layer address known as BD ADDR). Each inquiry packet commences with an Inquiry Access Code (IAC) that may be one of two types: General Inquiry Access Code (GIAC) and Dedicated Inquiry Access Code (DIAC). A GIAC is used when all devices in range are to be discovered and a DIAC is used when only certain specific devices are to be discovered. Since the notebook 12 wishes to discover all devices in range the inquiry packets that it broadcasts should use a GIAC. However, in some scenarios it may be that a user of the notebook 12 only wants to discover certain types of device in range. In that case the appropriate DIAC should be used in the broadcast.
During the inquiry substate the notebook computer 12 generates a channel hopping sequence derived from the notebook computer's local clock and the GIAC that hops through 32 channels of the 79 available channels. Once the channel hopping sequence has been generated, the notebook computer 12 broadcasts inquiry packets on each channel defined in the hopping sequence.
Discoverable devices periodically enter what is known as an inquiry scan substate. In this state the transceiver of each device listens for inquiry packets on its inquiry scan channel. If an inquiry packet is received the device enters what is known as an inquiry response substate in which the device returns an inquiry response
(Frequency Hop Synchronisation - FHS) packet containing the BD ADDR of the device that received the inquiry packet and the clock of that device amongst other things. Thus in this way the notebook 12 can discover the Bluetooth® device address BD ADDR of each discoverable device that is within range. Having done this the notebook 12 does not have to proceed to any of the connection establishment substates as the minimum required information has been gathered from discoverable devices to enable an estimation of the number of people within range of the business premises to be estimated. More precise details of the discovery procedure are given in "Bluetooth® Specification Version 1.2" (presently available to download from www.Bluetooth®.com) to which reference is made. Particular advantages of using the Bluetooth® protocol are that devices can be discovered without requiring users to authorise communication, and that no hardware and/or software upgrades are required for users' devices. This enables an estimate of the number of people present to be made with surprising simplicity.
It is not possible for the notebook 12 to passively discover devices in range by entering the inquiry scan substate because the inquiry packet (as defined in the Bluetooth® Specification) does not contain the BD ADDR of the sender. If this changes, or if another protocol is used in which devices broadcast data sufficient to resolve different devices (i.e. by means of some suitable identifier), then it is possible that the notebook 12 could passively discover devices in range by listening to the correct channel(s).
Stored in the memory 42 of the notebook computer 12 is a set of computer executable instructions that when executed perform steps of a method as shown in Fig. 19. At step Sl an integer t is set equal to zero; this integer provides a means to track the number of iterations of the method. At step S2 the notebook is caused to enter the inquiry substate for a duration of 25-30s whereby substantially all discoverable devices (i.e. those that actually enter the inquiry scan substate periodically) within range of the notebook's antenna 54 can be identified during that period. If a device is switched off or has been set by the user so as not to be discoverable then it will not be detected by the notebook computer 12. As described above the notebook computer 12 broadcasts inquiry scan packets and listens for FHS packets from discoverable devices. At step S3 the method repeats step S2 if no FHS packets have been received. If any FHS packets are received the CPU 44 extracts the BD ADDR of each such device, records a time stamp of when the FHS packet was - Al -
received, and caches this data in the memory 42 at step S4.
Assuming that devices are discovered at step S2, the step may be repeated immediately or there may be delay between scans to reduce overhead on network resources. It is possible for this delay to be adaptive for example as a function of the radius of coverage of the Bluetooth® transceiver 18 and/or of the number of people estimated in a previous iteration. More frequent scans will increase the chances of discovering those devices that enter and leave the area of coverage very quickly.
Thus back-to-back scanning is ideal in terms of resolution, but this may place unacceptable overheads on the network.
Optionally at this stage the notebook computer 12 may interrogate the discovered devices to determine what services are available and to determine the characteristics of those available service. In this connection reference is made to the "Service Discovery Protocol" (SDP) section of the Bluetooth® Specification Version 1.2 mentioned above. A service is any device or application that can provide information, perform an action, or control a resource on behalf of another device or application. Sending a file between one network node and another, sending or exchanging business cards and providing means to establish a connection to a Bluetooth® serial port are examples of services. A service may be implemented as software, hardware or a combination of software and hardware. An SDP client (located on the notebook 12 for example) sends requests for information about services to an SDP server on another device (such as one of the discovered devices). The SDP server replies with SDP responses that included one or more service record, a service attribute and/or service class of services it has available. A service record comprises all information about a service that is maintained by an SDP server. The service record comprises a list of service attributes each of which describes a single characteristic of a service such as ServiceClassIDList and ProviderName. Each service is an instance of a service class. A service class provides definitions of all service attributes contained in that service record. Each service class is assigned a Universal Unique Identifier (UUID). Thus the notebook 12 may receive data representing a service record, a service attribute and/or a service class from discovered devices, and may store and/or forward this data to the server 16 where it may be stored for retrieval. At step S5 it is determined whether or not t < 1 i.e. whether or not it is the first iteration of the method and therefore whether or not there is any data already stored in the memory 42 from a previous iteration. If t is not greater than or equal to 1 it is assumed that this is the first iteration of the method either since the notebook was powered on or if t has been reset as described below. In this case the method proceeds directly to step S 8 that is described in greater detail below.
If t is greater than or equal to 1 then BD ADDR data must already be stored in the memory 42 from the previous iteration of the method. In this case the method proceeds to step S6 where the BD ADDR data just obtained (i.e. iteration t) is compared to that obtained in the previous iteration (i.e. t - Y). At step S7 the comparison determines: (1) those devices that were present in both lists (i.e. those that are still within the predetermined range); (2) those devices that were present in the previous list but not in the current list (i.e. those devices that have left the vicinity of the business premises); and (3) those devices present in the current list but not in the previous list (i.e. those devices that have arrived near the business premises). A field is used to indicate (1), (2) or (3) in the BD ADDR data.
At step S8 the notebook 12 composes a "structured message". Referring to Fig. 20 a structured message generally identified by reference numeral 80 comprises a BD ADDR field 82, an ID field 84, a TIME field 86, a STATUS field 88 and a CHK field 90. For each BD ADDR in the current list, the notebook 12 constructs a data payload comprising these fields. The BD ADDR field 82 contains the 48-bit BD ADDR of the particular device. The ID field 86 contains an identity of the business that has subscribed to the service. It may further include an identity of a particular business premises if the business uses more than one retail location. The TIME field 86 contains data representing the time stamp made when the FHS packet was received. The STATUS field 88 whether the device falls into category (1), (2) or (3) above. The CHK field is an error correction field such as a checksum.
The structured message may be wrapped in an IP header and is sent to the network interface on the server 16 over the Internet 14 at step S9. The structured message can of course be sent using any suitable message format such as HTTP, SIP, etc. Alternatively the entire BD ADDR list with all of the above fields of the structured message could be sent in a database format in one message or as an attachment to an e-mail message for example.
In this way the notebook 12 transmits all of the data in the BD-ADDR list to the server 16.
At step SlO the notebook 12 purges the t - 7th data from the memory and at step SI l the notebook 12 sets t = t + 1 i.e. the next iteration. Finally the method returns to step S2 where the notebook is placed in the inquiry substate again.
Between step SlO and step S2 there may be a predetermined wait period such that the number of discoverable devices is obtained every 30s, 1 minute, 2 minutes, or 5 minutes, etc. Alternatively the method may repeat continuously so that the only delay between inquiry scans is the time taken to process the rth set of data as described above. The integer t may be reset if the wait period is particularly long e.g. greater than 5 minutes. This helps to ensure that devices do not appear to be present within the predetermined range longer than they actually are.
In this way the notebook 12 executing the aforementioned computer executable instructions is able to estimate the number of customers and potential customers from the number of Bluetooth®-enabled devices near the business premises. By repeating these steps periodically the number of customers and potential customers can be monitored over time. Likewise the services available and the characteristics of these services can be discovered and recorded.
Stored in the memory 70 of the server 16 is a set of computer executable instructions that when executed perform steps of a method as shown in Fig. 21. At step Sl the server 16 awaits a structured message 80 prepared by the notebook 12.
Upon receiving a structured message 80 the server 16 extracts the data at step S2. At step S3 the server 16 examines the ID field 84 of the structured message and searches the databases it already holds in memory for a database corresponding to that ID. Since the ID field of the structured messages is used to identify each database, this step enables the server to determine whether or not there is a database already in existence for that ID. If there is no database the server 16 creates one at step S4. The database includes all of the fields of the structured message and each database is identified by the ID of the sender of the structured messages. If no database exists the method proceeds directly to step S5. At step S5 the server 16 examines the STATUS field 88 of the structured message. Depending on the value, the server 16 either: -
(a) Step S6: maintains the existing database entry for that BD ADDR since the device is still within the range of coverage of the notebook 12; or (b) Step S7: removes the database entry for that BD ADDR since the device has been moved out of the area of coverage of the notebook 12; or
(c) Step S8: creates a new database entry for that BD ADDR since the device has moved into the area of coverage of the notebook 12.
Having performed this procedure the server 16 contains a database of the most recent discoverable devices near the business premises and therefore an estimate of the number of customers and potential customers near the business premises. The database may also contain details of the services discovered as described above. Other parameters may be entered: for example the time stamp of when a device arrives and when the same device leaves can be used to record the amount of time a user of that device was near the business premises; the overall number of devices near the business premises can be recorded over time to give statistical data for that business over the last day, week, month, year, etc.
The server 16 makes this statistical information available for viewing and/or download over the Internet 14. Suitable middleware enables a user to access a website and log on to their account giving access to the database representing then- business premises. If the user owns more than one business premises it is possible that IDs of databases can be associated so that the user can see all of or a subset of the business premises they own. The middleware enables a user to view the data for the business premises in the form that they choose, for example traffic patterns over a given time period or in near real-time. The user may choose to view data of traffic patterns on a particular day at a particular time. For example it would be possible to view how many people came near the business premises each Saturday between 9 and 10am over the past year. Alternatively it would be possible to search historical data to determine the times when people stayed longest near the business premises or when there are peaks in number. The frequency and times at which particular users pass the location may also be recorded. Thus it will be appreciated that there are a very large number of ways to display and analyse data gathered in the manner described above. Instead of or in addition to accessing a website the user may request a periodic update to be sent to them by e-mail for example. The update may include an attachment with data of the number of people passing the business premises over the last hour, day, etc.
The server may also perform other functions including user subscription and authentication. This may include storing the computer executable instructions described with reference to Fig. 19 and permitting them to be downloaded to a remote computer after any necessary payment and authentication.
In another embodiment the computer executable instructions shown in Figs. 19 and 21 may be provided in the form of one computer program comprising computer executable instructions for causing a computer to perform the steps of Figs. 19 and 21 without requiring communication of data over the Internet or other external network. Of course it will be immediately apparent that in this case not all of the steps shown in Figs. 19 and 21 will be required to operate the method on a single computer. For example, steps S8 and S9 of Fig. 19 and steps Sl - S3 may not be required. Such computer executable instructions may be stored on a remote server for download over the Internet, or stored on a CD-ROM for sale for example.
It will also be apparent that the server 16 could carry out steps S6 and S7, and/or S 8 of Fig. 19. In this way the notebook 12 would simply gather all inquiry response messages during the inquiry substate, form a structured message for each, and send each structured message to the server 16.
The method of the invention is not limited to Bluetooth®-enabled devices. Any short-range communication protocol such as Wireless Local Area Network (WLAN), Wireless USB and Zigbee may be used instead or in combination with the Bluetooth® transceiver 18, but particularly any short-range communication protocol that does not require establishment of a connection for a layer 2 address to be discovered. In the case of WLAN for example the transceiver may be in the form of a separate Access Point that communicates with the notebook 12 either over a wired or wireless interface. Typical ranges of WLAN are: about 100m radius at HMB s"1 and 300m radius at 1MB s"1. Typical ranges for Zigbee are between about 10m and 100m
Figure imgf000053_0001
At the present time Bluetooth® is preferred as increasing numbers of mobile electronic data communication devices such as mobile telephones and personal digital assistants (PDAs) are being manufactured with Bluetooth® capability. These types of devices are easily carried by people as opposed to notebook computers, etc. that tend to be slightly more cumbersome. Therefore, the method of the invention is likely to give the most accurate picture of traffic near a business premises when searching for devices that are most likely to be carried by users substantially at all times i.e. mobile telephones and PDAs. It will be apparent that the method of the invention provides an estimate since of the number of people near a business premises since not everyone carries an electronic communication device, some devices are switched off, and other devices may have their short-range communication means disabled for example. Some users may even have more than one discoverable Bluetooth® interface about their person.
Where other communication protocols are used it may be that it is not necessary for the notebook 12 to actively broadcast inquiry messages to discover nearby devices. If the protocol requires discoverable devices to transmit a beacon- like signal periodically it may be sufficient for the notebook 12 to listen on the correct frequency to obtain details of each discoverable device. Such methodology may be thought of as a "passive" type of discovery.
Any communication link may be used to send the structured messages between the notebook 12 and server 16 including a cellular network.
The method of the invention may be applied to research locations for promotional or other activities. For example a notebook computer 12 (comprising the computer executable instructions of Fig. 19) may be set up in a shopping centre to record the number of people passing that location over a given period. It is to be noted that the notebook 12 does not have to be in communication with the server 16. The notebook 12 alone can perform all of the functionality and store the results in memory. This may be repeated at different points in the shopping centre to enable a business to determine where best to place a promotion for example. Once the promotion is underway the method provides an automatic way to monitor the success of the promotion as customer numbers can be automatically monitored throughout the promotion period and then compared to numbers beforehand.
At step S4 of Fig. 19 the notebook 12 may also measure and record a Received Signal Strength Indication (RSSI) for each device 24, 26, 28, and/or the name of the device (i.e. the username that a user of the device has assigned). This data may also be stored and sent in additional fields of the structured message 80 to the server 16 where it may be stored in the database. The RSSI data may be used as an estimate of the distance of each discovered device from the Bluetooth transceiver 18 of the notebook 12. The RSSI might be compared to a threshold RSSI to ascertain the BD ADDRs of those devices that are within a certain radius from the transceiver 18. This enables devices that are deemed to be too far away to be ignored in the estimate. For example, the transceiver 18 may discover Bluetooth® enabled devices that are within a radius of approximately 100m. However, a business may only consider the number people within a radius of up to about 40m as of interest. Measuring the RSSI of each discovered device provides a means to exclude those devices discovered between 40m and 100m from the estimate.
It will be apparent that the first and second inventions as described herein may be combined together to provide an apparatus that can map two interfaces and estimate the number of people in a given location.
Although the embodiment of the invention described with reference to the drawings comprises computer apparatus and methods performed in computer apparatus, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the implementation of the methods according to the invention. The carrier may be any entity or device capable of carrying the program.
For example, the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk. Further, the carrier may be a transmissible carrier such as an electrical or optical signal that may be conveyed via electrical or optical cable or by radio or other means.
When the program is embodied in a signal that may be conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or other device or means.
Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant methods.

Claims

CLAIMSFIRST INVENTION
1. A method of mapping a first interface to a second interface both of an electronic data communication device, which first interface enables exchange of data with a first electronic data communication network and which second interface enables exchange of data with a second electronic data communication network, the method comprising the steps of: (1) obtaining an address representative of said first interface;
(2) generating an identifier;
(3) storing said identifier and said address representative of said first interlace in a memory with a mapping therebetween;
(4) outputting said identifier; (5) awaiting receipt of data comprising said identifier and an address representative of said second interface from said electronic data communication device via said second electronic data communication network; and
(6) if said data is received, said identifier can be used to map said address representative of said first interface to said address representative of said second interlace.
2. A method according to claim 1, wherein step (1) comprises the steps of scanning radio frequencies for an indication of the presence of said electronic data communication device.
3. A method according to claim 2, wherein said scanning step is performed substantially continuously.
4. A method according to claim 1, 2 or 3, wherein step (1) further comprises the step of transmitting said address representative of said first interface to said memory that is provided on a remote computer processing and storage device.
5. A method according to claim 1, 2, 3 or 4, wherein said identifier is generated by a computer processing device and said identifier is unique as between a number of devices reachable over said first electronic data communication network.
6. A method according to claim 1, 2, 3, 4 or 5, wherein said identifier comprises data representing text characters and/or numeric characters, or comprises a digital image.
7. A method according to any preceding claim, wherein step (4) comprises the step of making said identifier available to a user of said electronic data communication device.
8. A method according to any preceding claim, wherein step (4) comprises the step of transmitting said identifier to said address representative of said first interface.
9. A method according to any preceding claim, wherein step (4) further comprises the step of providing an indication that said identifier should be transmitted to an address on said second electronic data communication network.
10. A method according to claim 9, wherein said indication comprises data representing a request to a user of said electronic data communication device to transmit said identifier to said address on said second network.
11. A method according to any preceding claim, wherein step (5) comprises the step of initiating a time period during which said data is expected to be received.
12. A method according to any preceding claim, wherein step (6) comprises the step of searching said memory for said identifier, and reading said address representative of said first interface from said memory.
13. A method according to any preceding claim, further comprising the step of mapping a user identity to said address representative of said first interface and to said address representative of said second interface.
14. A method according to claim 13, wherein said user identity comprises a data structure having a field storing data representing an ID associated with said user.
15. A method according claim 14, wherein said field comprises an account number belonging to said user.
16. A method according to any preceding claim, wherein step (6) comprises the steps of storing in a database said mapping for a plurality of electronic data communication devices, said database queryable with an address of an interface on said first electronic data communication network to return an address of an interface on said second electronic data communication network.
17. A method according to claim 16, further comprising the steps of composing a message, addressing said message to said address on said second electronic data communication network and transmitting said message using that network.
18. A method according to claim 17, further comprising the steps of storing with each mapping in said database a user identity for customising the data content of said message for said user.
19. A method according to any preceding claim, wherein step (1) comprises the step of discovering electronic communication devices within a range of between approximately 0.1 and 1.0m radius.
20. A method according to any preceding claim, further comprising the step of initiating a combined data communication service over said first and second electronic data communication networks using said mapping between said first and second interfaces.
21. A method according to any preceding claim, wherein said address representative of said first interface is a physical address of said first interface.
22. A method according to claim 21, wherein said physical address is a Media Access Control (MAC) address of a network interface on said electronic data communication device.
23. A method according to any preceding claim, wherein said address representative of said second interface comprises an alphabetic and/or numeric string for contacting a user of the device.
24. A method according to claim 23, wherein said alphabetic and/or numeric string comprises a telephone number, a Uniform Resource Indicator, or an e-mail address.
25. A method according to claim 23, wherein said alphabetic and/or numeric string comprises a presence address, the method further comprising the steps of mapping said first address to said presence address, generating and storing in said memory a presence list of those devices within short range communication of one another, and transmitting said presence list to those devices.
26. A method according to any preceding claim, wherein said first and second electronic data communication networks are substantially logically and/or physically distinct.
27. A method according to any preceding claim, wherein said first electronic data communication network is a short-range, location based communication protocol.
28. A method according to any preceding claim, wherein said second electronic data communication network provides a substantially permanent means of communication via said second interface.
29. A method according to any preceding claim, wherein said first electronic data communication network comprises Bluetooth®-enabled devices capable of establishing piconets or other ad-hoc networks amongst themselves in accordance with the Bluetooth® protocol.
30. A method according to any preceding claim, wherein said second electronic data communication network comprises a cellular network or DVB network.
31. A network node for use in an electronic data communication network, which network node comprises a memory storing computer executable instructions for performing a method according to any preceding claim.
32. A network node for use in an electronic data communication network, which network node comprises for a memory storing computer executable instructions for performing method steps (2), (3), (5) and (6) of any preceding claim.
33. A network node for use in an electronic data communication network, which network node comprises for a memory storing computer executable instructions for performing method steps (1), (3) and (4) of any preceding claim.
34. A network node as claimed in claim 33, further comprising an output device and a wireless access point.
35. A computer program comprising computer executable instructions for causing an electronic data communication apparatus to perform the method steps of any of claims 1 to 30.
36. A computer program comprising computer executable instructions for causing an electronic data communication apparatus to perform method steps (2), (3), (5) and (6) of any of claims 1 to 30.
37. A computer program product storing computer executable instructions in accordance with claim 35 or 36.
38. A computer program product as claimed in claim 37, embodied on a record medium, in a computer memory, in a read-only memory, or on an electrical carrier signal.
39. A method of delivering data to an electronic data communication device, which method comprises the steps of:
(1) discovering at a particular location a first communication address of a short-range communication interlace of said device; and (2) transmitting said first communication address with a location identifier to a remote network node.
40. A method according to claim 39, further comprising the step of caching discovered first communication addresses each with a lifetime.
41. A method according to claim 40, further comprising the steps searching said cache when a first communication addresses is discovered, and discarding it if already cached.
42. A method according to claim 39, 40 or 41, further comprising the step of discovering said first communication address adjacent an entry/exit point to a defined physical area.
43. A method according to claim 42, wherein said defined physical area comprises a business premises.
44. A method according to any of claims 39 to 43, wherein step (1) comprises discovering devices within a range of between approximately Im and 1500m radius.
45. A network node for use in an electronic data communication network, which network node comprises a memory storing computer executable instructions for performing the method steps of any of claims 39 to 44.
46. A method of assigning a reward to a customer having an electronic data communication device, which method comprises the steps of:
(1) discovering at point-of-sale a first communication address of a short- range communication interface of said device; and
(2) transmitting said first communication address to remote server and awaiting a response comprising a customer identity; and (3) using said customer identity to assign said reward.
47. A method of delivering data to an electronic data communication device, which method comprises the steps of:
(1) discovering at a particular location a first communication address of a short-range communication interlace of said device;
(2) using said first communication address to query a database comprising a mapping between first communication addresses and second communication addresses to return a second communication address mapped to said first communication address, said second communication address of an interface that provides a substantially permanent means of communication with said electronic data communication device irrespective of location; and
(3) transmitting a message to said second communication address, which message comprises data associated with said location identifier.
48. A method according to claim 47, further comprising the step of using said location identifier to query said database to return customised data for a user of said electronic data communication device, which customised data comprises data dependent on the location of said user when said device was discovered at step (1).
49. A method according to claim 48, further comprising the steps of examining a data structure associated with said user, which data structure comprises fields storing data unique to said user, and customising said data further based on said fields.
50. A method according to any of claims 47 to 49, wherein said second communication address comprises a telephone number to which a Short Messaging
Service (SMS) message may be addressed.
51. A method of providing a service to a user, which method comprises the steps of: (1) discovering at a particular location a communication address of a short-range communication interlace of said device;
(2) using said communication address to query a database comprising a mapping between said communication address and a service to which said user is subscribed; and (3) activating said service when said communication address is returned.
52. A method according to claim 51, wherein said service comprises a presence service and step (3) comprises the step of registering said user in a temporary buddy list based on said particular location.
53. A method according to claim 51, wherein said service comprises a data delivery service and step (3) comprises the step of transmitting data to said user.
54. A method according to claim 51, 52, or 53, wherein said communication address comprises the address of a short -range communication interface or an application identifier.
SECOND INVENTION
55. A method of estimating the number of people within a predetermined range of a particular location, which method comprises the steps of: -
(1) using an antenna to listen for electromagnetic communication signals indicative of the presence of one or more remote electronic data communication device likely to be carried about the person of one or more of said people; and (2) providing an electronic output signal from said antenna representative of said presence; which electronic output signal facilitates estimation of the number of people within said predetermined range.
56. A method according to claim 55, wherein step (1) comprises passively listening for said electromagnetic communication signals.
57. A method according to claim 55 or 56, wherein step (1) comprises actively sending electromagnetic communication signals intended to cause any remote electronic data communication device within said predetermined range to respond.
58. A method according to any of claims 55 to 57, further comprising the step of associating an electronic identifier with the or each remote electronic data communication device within said predetermined range, which electronic identifier helps to reduce the chance of including the same remote electronic data communication device more than once in said estimate.
59. A method according to claim 58, wherein said electronic identifier is an address of an interface of each remote electronic data communication device at the physical layer or link layer.
60. A method according to any of claims 55 to 59, wherein step (1) is performed substantially continuously whereby the number of people within said predetermined range may be estimated substantially in real-time.
61. A method according to any of claims 55 to 59, wherein step (1) is performed for a predetermined length of time and is repeated periodically.
62. A method according to any of claims 55 to 61, further comprising the step of interrogating each remote electronic data communication device to discover what services are available thereon.
63. A method according to any of claims 55 to 62, wherein said antenna is in communication with an electronic data processing and storage device, the method further comprising the step of storing data communicated in said electronic output signal representing presence of said one or more remote electronic data communication device.
64. A method according to claim 63, further comprising the step of electronically storing data representing the time of detection of the or each remote electronic data communication device.
65. A method according to claim 63 or 64, iurther comprising the step of storing data representing an identity of said particular location and associating said one or more remote electronic data communication apparatus with said identity.
66. A method according to claim 63, 64 or 65, wherein repetition of said storage step generates in said electronic data processing and storage device a database of those remote electronic data communication devices within said predetermined range.
67. A method according to claim 63, 64, 65 or 66, iurther comprising the steps of electronically comparing entries in said database to determine those remote electronic data communication devices that have (a) just arrived within said predetermined range, (b) just left said predetermined range, and (c) still within said predetermined range, and storing data representative of said (a), (b) or (c).
68. A method according to claim 67, wherein said comparison step is performed by electronically comparing a first list of data obtained at a first time with a second list of data at second time earlier than said first time.
69. A method according to any of claims 55 to 68, iurther comprising the steps of generating a structured message comprising electronic data divided into fields representing data defined in any of claims 63 to 68, and forwarding said structured message to a remote computer device.
70. A method as claimed in claim 69, further comprising the step of generating said structured message for each remote electronic data communication device discovered within said predetermined range.
71. A method as claimed in claim 69, wherein said structured message comprises data representing more than one remote electronic data communication device.
72. A method according to any of claims 66 to 71, further comprising the step of providing remote access to said database, whereby remote users may access said database to request retrieval of data therefrom.
73. A method according to any of claims 66 to 72, further comprising the step of generating and storing a plurality of databases providing said estimate for a plurality of particular locations.
74. A method according to any of claims 55 to 73, wherein said electromagnetic communication signals are used by a short-range wireless communication protocol.
75. A method according to claim 74, wherein a radius range of said short-range wireless transmission protocol is less than approximately 500m.
76. A method according to claim 75, wherein said radius range is less than approximately 300m.
77. A method according to claim 75 or 76, wherein said radius range is less than approximately 100m.
78. A method according to claim 74, 75, 76 or 77, wherein said short-range wireless communication protocol is Bluetooth® and/or Wireless Local Area Network (WLAN) and/or Wireless USB.
79. A method as a claimed in any of claims 55 to 78, wherein said particular location is a business premises.
80. An electronic data communication device for use in an electronic data communication network, which electronic data communication device comprises for a memory storing computer executable instructions for performing a method according to any of claims 55 to 79.
81. An electronic data communication device for use in an electronic data communication network, which electronic data communication device comprises a memory storing computer executable instructions for performing a method according to any of claims 55 to 71.
82. An electronic data communication device for use in an electronic data communication network, which electronic data communication device comprises a memory storing computer executable instructions for performing a method according to any of claims 55 to 73.
83. A computer program comprising computer executable instructions for causing an electronic data communication device to perform the method steps of any of claims 55 to 79.
84. A computer program product storing computer executable instructions in accordance with claim 83.
85. A computer program product as claimed in claim 84, embodied on a record medium, in a computer memory, in a read-only memory, or on an electrical carrier signal.
PCT/GB2005/050117 2004-07-23 2005-07-25 A method of mapping a first interface to a second interface, and people presence estimation method WO2006008559A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0701678A GB2432757A (en) 2004-07-23 2005-07-25 A method of mapping a first interface to a second interface, and people presence estimation method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0416467.9 2004-07-23
GB0416467A GB2416645A (en) 2004-07-23 2004-07-23 People presence estimation method
GB0416470A GB2416648A (en) 2004-07-23 2004-07-23 A method of mapping a first interface to a second interface
GB0416470.3 2004-07-23

Publications (2)

Publication Number Publication Date
WO2006008559A2 true WO2006008559A2 (en) 2006-01-26
WO2006008559A3 WO2006008559A3 (en) 2006-06-08

Family

ID=35457629

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2005/050117 WO2006008559A2 (en) 2004-07-23 2005-07-25 A method of mapping a first interface to a second interface, and people presence estimation method

Country Status (2)

Country Link
GB (1) GB2432757A (en)
WO (1) WO2006008559A2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2465138A (en) * 2008-10-10 2010-05-12 Mtld Top Level Domain Ltd Providing a transcoded web resource to a user
WO2014095362A1 (en) * 2012-12-21 2014-06-26 Sqwin Sa Online transaction system
WO2015042853A1 (en) * 2013-09-27 2015-04-02 华为技术有限公司 Method, device and system for dividing domain for data communication network
US9107215B2 (en) 2013-07-18 2015-08-11 Motorola Solutions, Inc. Systems, devices, and methods for improving data capacity in a communications system by managing short addresses
US9141724B2 (en) 2010-04-19 2015-09-22 Afilias Technologies Limited Transcoder hinting
WO2017041780A1 (en) * 2015-09-11 2017-03-16 Artegic Ag Method for creating a database using a mobile device and an identification parameter
US9774380B2 (en) 2011-12-23 2017-09-26 Huawei Device Co., Ltd. Repeating method of wireless repeating device, and wireless repeating device
US10089501B2 (en) 2016-03-11 2018-10-02 Parabit Systems, Inc. Multi-media reader apparatus, secure transaction system and methods thereof
US10705862B2 (en) 2010-07-08 2020-07-07 Afilias Technologies Limited Server-based generation of user interfaces for delivery to mobile communication devices

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0802585D0 (en) 2008-02-12 2008-03-19 Mtld Top Level Domain Ltd Determining a property of communication device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047407A1 (en) * 2000-04-24 2001-11-29 Moore Timothy M. Systems and methods for determining the physical location of a computer's network interfaces
WO2002009458A2 (en) * 2000-07-24 2002-01-31 Bluesocket, Inc. Method and system for enabling seamless roaming in a wireless network
EP1271896A2 (en) * 2001-06-18 2003-01-02 Swisscom Mobile AG Method and system for mobile IP Nodes in heterogeneous networks
US20040077361A1 (en) * 2002-10-17 2004-04-22 Melco Inc. Technique of providing information to mobile devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047407A1 (en) * 2000-04-24 2001-11-29 Moore Timothy M. Systems and methods for determining the physical location of a computer's network interfaces
WO2002009458A2 (en) * 2000-07-24 2002-01-31 Bluesocket, Inc. Method and system for enabling seamless roaming in a wireless network
EP1271896A2 (en) * 2001-06-18 2003-01-02 Swisscom Mobile AG Method and system for mobile IP Nodes in heterogeneous networks
US20040077361A1 (en) * 2002-10-17 2004-04-22 Melco Inc. Technique of providing information to mobile devices

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2465138B (en) * 2008-10-10 2012-10-10 Afilias Technologies Ltd Transcoding web resources
US8396990B2 (en) 2008-10-10 2013-03-12 Afilias Technologies Limited Transcoding web resources
GB2465138A (en) * 2008-10-10 2010-05-12 Mtld Top Level Domain Ltd Providing a transcoded web resource to a user
US9141724B2 (en) 2010-04-19 2015-09-22 Afilias Technologies Limited Transcoder hinting
US11385913B2 (en) 2010-07-08 2022-07-12 Deviceatlas Limited Server-based generation of user interfaces for delivery to mobile communication devices
US10705862B2 (en) 2010-07-08 2020-07-07 Afilias Technologies Limited Server-based generation of user interfaces for delivery to mobile communication devices
US10348389B2 (en) 2011-12-23 2019-07-09 Huawei Device Co., Ltd. Repeating method of wireless repeating device, and wireless repeating device
US10840996B2 (en) 2011-12-23 2020-11-17 Huawei Device Co., Ltd. Repeating method of wireless repeating device, and wireless repeating device
US9774380B2 (en) 2011-12-23 2017-09-26 Huawei Device Co., Ltd. Repeating method of wireless repeating device, and wireless repeating device
US10621572B2 (en) 2012-12-21 2020-04-14 Sqwin Sa Online transaction system
US10043176B2 (en) 2012-12-21 2018-08-07 Sqwin Sa Online transaction system
US11195168B2 (en) 2012-12-21 2021-12-07 Sqwin Sa Online transaction system
WO2014095362A1 (en) * 2012-12-21 2014-06-26 Sqwin Sa Online transaction system
US9107215B2 (en) 2013-07-18 2015-08-11 Motorola Solutions, Inc. Systems, devices, and methods for improving data capacity in a communications system by managing short addresses
WO2015042853A1 (en) * 2013-09-27 2015-04-02 华为技术有限公司 Method, device and system for dividing domain for data communication network
WO2017041780A1 (en) * 2015-09-11 2017-03-16 Artegic Ag Method for creating a database using a mobile device and an identification parameter
US10089501B2 (en) 2016-03-11 2018-10-02 Parabit Systems, Inc. Multi-media reader apparatus, secure transaction system and methods thereof

Also Published As

Publication number Publication date
GB0701678D0 (en) 2007-03-07
WO2006008559A3 (en) 2006-06-08
GB2432757A (en) 2007-05-30

Similar Documents

Publication Publication Date Title
WO2006008559A2 (en) A method of mapping a first interface to a second interface, and people presence estimation method
US11443344B2 (en) Efficient and secure communication using wireless service identifiers
US10264398B2 (en) System and method for providing locally applicable internet content with secure action requests and item condition alerts
US7308356B2 (en) Wireless personalized self-service network
US20170064500A1 (en) Providing Location-Based Services in a Distributed Environment Without Direct Control Over the Point of Access
US20030100315A1 (en) Location based delivery of service data
US20040125136A1 (en) Provision of services through a display system
US20080062940A1 (en) Presence-based communication between local wireless network access points and mobile devices
US20110191438A1 (en) Bump button
US10410251B2 (en) System and method for handset operation in a wireless communication network
US20140108149A1 (en) System and method for retail sales using wireless communication devices in a wireless communication network
US20080109317A1 (en) Wireless dissemination of environment aware information
WO2004010355A2 (en) Communication system for matching subscribers based on events
TW200906160A (en) Techniques for populating a contact list
US20030202494A1 (en) Establishing an ad hoc network
JP2004070419A (en) Advertisement information sending device
US20030112783A1 (en) Method of propagating a message and corresponding communications devices for the same
GB2416645A (en) People presence estimation method
JP2004280350A (en) System and method for retrieving and providing service limited to area
JP2004240708A (en) Information transmission system and method thereof based on location information
García-Reinoso et al. A new M-commerce Concept: m-Mall
KR20000050123A (en) Method for servicing a personal moving pass using the internet
KR100465904B1 (en) Method for Auto-Building Database by Using Bluetooth Technology
KR20040023638A (en) Method for Placing an Order and Providing Information from Wireless Devices by Using Bluetooth Technology
EP2747465A1 (en) System and method for handset operation in a wireless communication network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 0701678

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20050725

WWE Wipo information: entry into national phase

Ref document number: 0701678.5

Country of ref document: GB

122 Ep: pct application non-entry in european phase