U.S. patent application number 10/665782 was filed with the patent office on 2004-04-08 for in a wireless system, a method of selecting an application while receiving application specific messages and user location method using user location awareness.
Invention is credited to Griffiths, Jonathan, Rachabathuni, Sailesh, Rankin, Paul John.
Application Number | 20040067773 10/665782 |
Document ID | / |
Family ID | 24565251 |
Filed Date | 2004-04-08 |
United States Patent
Application |
20040067773 |
Kind Code |
A1 |
Rachabathuni, Sailesh ; et
al. |
April 8, 2004 |
In a wireless system, a method of selecting an application while
receiving application specific messages and user location method
using user location awareness
Abstract
A method of selecting an application in a wireless device and a
user location method are provided. In the method of selecting an
application, specific messages are received from a wireless
station. The application specific messages are specific to services
provided via a wireless station transmitting the application
specific messages. The application specific messages have an
application specific identifier identifying a specific application
and data corresponding to the specific application. It is
determined whether an application is present in the wireless device
that corresponds to the received application specific identifier.
If it is determined that the corresponding application is absent in
the wireless device, the correspondingly received data is ignored.
In the user location method that is used in a wireless system,
locations and user identities of users of wireless devices are
registered. The wireless devices are capable of roaming through the
wireless system when the wireless devices enter into coverage areas
of wireless stations in the system. A user location awareness
application uses the registered locations and user identities of
the wireless devices.
Inventors: |
Rachabathuni, Sailesh;
(Santa Clara, CA) ; Griffiths, Jonathan; (Fremont,
CA) ; Rankin, Paul John; (Horly, GB) |
Correspondence
Address: |
PHILIPS ELECTRONICS NORTH AMERICA CORPORATION
INTELLECTUAL PROPERTY & STANDARDS
1109 MCKAY DRIVE, M/S-41SJ
SAN JOSE
CA
95131
US
|
Family ID: |
24565251 |
Appl. No.: |
10/665782 |
Filed: |
September 19, 2003 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10665782 |
Sep 19, 2003 |
|
|
|
09639715 |
Aug 14, 2000 |
|
|
|
6628938 |
|
|
|
|
Current U.S.
Class: |
455/560 ;
455/418 |
Current CPC
Class: |
H04W 4/02 20130101; H04W
8/02 20130101; H04L 67/18 20130101; H04N 21/25841 20130101; H04L
67/02 20130101; H04L 67/04 20130101 |
Class at
Publication: |
455/560 ;
455/418 |
International
Class: |
H04M 003/00 |
Claims
1. In a wireless device, a method of selecting an application, said
method comprising: receiving application specific messages from a
wireless station, said application specific messages being specific
to services provided via a wireless station transmitting said
application specific messages, and said application specific
messages comprising an application specific identifier identifying
a specific application and data corresponding to said specific
application; determining whether an application is present in said
wireless device that corresponds to said received application
specific identifier; and ignoring said correspondingly received
data if it is determined that said corresponding application is
absent in said wireless device.
2. The method as claimed in claim 1, further comprising receiving
said application specific messages through packet data
transmission, prior to transmission said application specific
messages each being distributed over a plurality of packets, and
re-assembling said received packets into said received application
specific messages upon reception of said packets.
3. The method as claimed in claim 2, wherein said application
specific messages are comprised in a data stream further comprising
non-application-specific messages.
4. The method as claimed in claim 1, further determining, if it has
been determined that said corresponding application is present in
said wireless device, whether said corresponding application is
currently active in said wireless device, and, if it has been
determined that said corresponding application is active passing
said correspondingly received data to said corresponding
application.
5. The method as claimed in claim 1, further determining, if it has
been determined that said corresponding application is present in
said wireless device, whether said corresponding application is
currently active in said wireless device, and, if it has been
determined that said corresponding application is inactive only
passing said correspondingly received data to said corresponding
application if it has been an application specific profile in said
wireless device matches with said received application specific
identifier.
6. The method as claimed in claim 5, upon matching with said
received application specific identifier, activating said
corresponding application and passing said correspondingly received
data to said activated corresponding application.
7. A wireless device comprising: means for receiving application
specific messages from a wireless station transmitting said
application specific messages, said application specific messages
being specific to services provided via said wireless station, and
said application specific messages comprising an application
specific identifier identifying a specific application and data
corresponding to said specific application; means for determining
whether an application is present in said wireless device that
corresponds to said received application specific identifier; and
means for ignoring said correspondingly received data if it is
determined that said corresponding application is absent in said
wireless device.
8. A wireless device as claimed in claim 7, wherein said
application specific messages are received through packet data
transmission and said application specific messages each are
distributed over a plurality of packets, said wireless device
further comprising re-assembling means for upon reception of said
packets re-assembling said received packets into said received
application specific messages.
9. A wireless device as claimed in claim 7, wherein said
application specific messages are comprised in a data stream
further comprising non-application-specific messages.
10. A wireless device as claimed in claim 7, further comprising
means for determining, if it has been determined that said
corresponding application is present in said wireless device,
whether said corresponding application is currently active in said
wireless device, and, if it has been determined that said
corresponding application is active said wireless device being
configured to pass said correspondingly received data to said
corresponding application.
11. A wireless device as claimed in claim 7, wherein said wireless
station is arranged to transmit said application specific messages
as additional data to data transmitted in accordance with a
Bluetooth specification, said additional data being transmitted in
a transmit guard space otherwise unused under said Bluetooth
specification.
12. A wireless device as claimed in claim 7, whereby said wireless
station is configured to transmit over a predetermined coverage
area within a system comprising further wireless stations.
13. A wireless system comprising: a plurality of wireless devices
capable of roaming through said wireless system; a location
identification server that registers locations and user identities
of users of said wireless devices; a plurality of wireless stations
of limited wireless coverage within said system, said wireless
stations being coupled to said location identification server, said
location identification server registering a location of a wireless
device in said system when said wireless device enters into a
coverage area of a wireless station in said system, said system
running a user location awareness application, said user location
awareness application using said registered locations and user
identities of said wireless devices.
14. A wireless system as claimed in claim 13, wherein said
registered locations include current and historical locations of
said users.
15. A wireless system as claimed in claim 14, said user location
awareness application predicting future system movements of said
users.
16. A wireless system as claimed in claim 14, said user location
awareness application predicting future proximities of said users
to said wireless stations.
17. A wireless system as claimed in claim 13, said user location
awareness application determining proximity to a wireless station
for at least one user.
18. A wireless system as claimed in claim 17, wherein said user
location awareness application determines said proximity for one
user and alerts said one user of said determined proximity.
19. A wireless system as claimed in claim 17, wherein said user
location awareness application determines said proximity for two
users and at least alerts one of said two users of said determined
proximity for two users.
20. A wireless system as claimed in claim 17, said wireless system
being configured to modify a system function based on said
determined proximity.
21. A wireless system as claimed in claim 18, wherein a user of a
wireless device sets up a user profile for contacting another user,
and a wireless station is configured to match said set up user
profile with profiles of other users that are within a coverage
range of said matching wireless station, said modified system
function being including said set up user profile into said
profiles of said other users.
22. A wireless system as claimed in claim 21, wherein said matching
wireless station transmits profiles of in-range users to a wireless
device coming into range of said matching wireless station.
23. A wireless system as claimed in claim 13, wherein said system
is configured to do said registration of said locations selectively
so as to filter location registration information.
24. A wireless system as claimed in claim 23, wherein said
filtering is done at a side of said location identification
server.
25. A wireless system as claimed in claim 23, wherein said
filtering is done at a side of a wireless device.
26. A wireless system as claimed in claim 13, wherein said wireless
stations are located at fixed geographical locations.
27. A user location method for use in a wireless system, said user
location method comprising: registering of locations and user
identities of users of wireless devices that capable of roaming
through said wireless system when said wireless devices enter into
coverage areas of wireless stations in said system; and running a
user location awareness application, said user location awareness
application using said registered locations and user identities of
said wireless devices.
28. A user location method as claimed in claim 27, said registered
locations include current and historical locations of said
users.
29. A user location method as claimed in claim 27, wherein said
user location awareness application determines proximity to a
wireless station for at least one user.
30. A user location method as claimed in claim 27, doing said
registration of said locations selectively so as to filter location
registration information.
31. A wireless device for use in a wireless system, said wireless
device comprising: means for causing said wireless system to
register a location of said wireless device when said wireless
device enters a coverage area of a wireless station of a limited
wireless coverage, said wireless station being configured to
contact other wireless devices that are within said coverage area;
means for interacting with a user location awareness application
running in said system, said user location awareness application
using said registered location and registrations of said other and
still other wireless devices.
32. A wireless device as claimed in claim 31, weherin said
registered locations include current and historical locations of
said users.
33. A wireless device as claimed in claim 31, wherein said user
location awareness application determines proximity to a wireless
station for at least one user.
34. A wireless device as claimed in claim 31, wherein said
registration of said locations is done selectively so as to filter
location registration information.
Description
BACKGROUND OF THE INVENTION
[0001] 1. FIELD OF THE INVENTION
[0002] The present invention relates to context aware wireless
devices needing context dependent services. Such services may be
location or user specific. Such wireless devices may be cell phones
or PDAs (Personal Digital Assistants) with augmented functions, or
dedicated devices, or any other suitable wireless device.
[0003] 2. DESCRIPTION OF THE RELATED ART
[0004] Recent years have seen a great increase in subscribers
world-wide to mobile telephone networks and, through advances in
technology and the addition of functionalities, cellular telephones
have become personal, trusted devices. A result of this is that a
mobile information society is developing, with personalised and
localised services becoming increasingly more important. Such
"Context-Aware" (CA) mobile telephones are used with low power,
short-range base stations in places like shopping malls to provide
location-specific information. This information might include local
maps, information on nearby shops and restaurants, information on
exhibitions at museums and so on. The user's CA terminal may be
equipped to filter the information received according to pre-stored
user preferences or user profiles and the user is only alerted if
an item of data of particular interest has been received.
[0005] As example of a CA terminal is given in a technical report
published by Hewlett Packard, "Uniform Web Presence Architecture
for People, Places, and Things", HPL-2000-67, 13 pages, June, 2000.
This report decribes HP's "Cooltown" vision. The Cooltown vision is
that people, places, and things have web representation and that
many useful services can be offered by creating a tighter link
between the real word entity and its vitual representation.
Software architectures are defined enabling the dynamic generation
of Web contents based on the user context (location, identity,
device capabilities), on his security permission, and on the
relationships with other Web presences. In Cooltown, the future
consists of nomadic people carrying personal communication and web
browsing devices interacting with services that are location
specific and customized to the user.
[0006] In Cooltown, a patron might enter into an art museum
carrying a handheld personal communication device with an embedded
web browser. The museum has web pages corresponding to each room of
the museum that comes available automatically upon entering the
room. Individual paintings also have a web presence. By approaching
a painting, the web page for that painting becomes available
automatically. Other services such as printing, shopping, and
choosing one's next activity can be made more relevant as well by
connecting the services to the user's location context. The web
presence of the patron could be automatically linked to the web
presence of the devices (cell phone, handheld device, etcetera) the
patron's husband is currently carrying. The patron's husband clicks
on a link representing the patron and a corresponding application
pops up at the patron's husband's device, the application
establishing a web link to the current patron's web presence. A web
presence is accessible by any kind of HTTP client including but not
limited to a Web browser, HTML pages being accessible by a client
using simple URLs that refer to a home page at a server. At a given
location, URLs become available from wireless "beacons". These
beacons are small infrared or radio transceivers located at a
particular location.
[0007] Thus in the future mobile information society many context,
location and application specific services should be made available
to a person carrying a handheld device such as a cell phone, a PDA
or any other handheld device that is capable of communicating
within a defined coverage area within a system.
SUMMARY OF THE INVENTION
[0008] It is an object of the invention to provide a method of
selecting an application, for use in a wireless device, on the
basis of application specific messages received from a wireless
station.
[0009] It is another object of the invention to provide such a
method wherein availability and/or desirability to run an
application is checked.
[0010] It is still another object of the invention to provide such
a method wherein application specific data in said application
specific messages is passed to a selected application.
[0011] It is an object of the invention to also provide a wireless
system running a user location awareness application using location
registration information of context aware wireless devices when
such devices roam through a wireless system of wireless stations of
limited range.
[0012] It is another object of the invention to provide such a
wireless system while using historical registration data.
[0013] It is still another object of the invention to provide such
a wireless system while using proximity information of users to
users and/or of users to locations.
[0014] It is still another object of the invention to provide such
a wireless system while filtering location registration
information.
[0015] In accordance with the invention, a method of selecting an
application is provided, said method comprising:
[0016] receiving application specific messages from a wireless
station, said application specific messages being specific to
services provided via a wireless station transmitting said
application specific messages, and said application specific
messages comprising an application specific identifier identifying
a specific application and data corresponding to said specific
application;
[0017] determining whether an application is present in said
wireless device that corresponds to said received application
specific identifier; and
[0018] ignoring said correspondingly received data if it is
determined that said corresponding application is absent in said
wireless device.
[0019] Advantageously, said application specific messages are
received as connectionless transmitted packets. Herewith, there is
no need for unnecessary procedures such as used for
connection-oriented communications. Particularly, for context aware
roaming wireless devices that may have a need to quickly change
applications a transmission method is needed avoiding exchange of a
lot of system control data. Upon reception, the packets are
re-assembled to application specific messages.
[0020] Advantageously, it is checked whether an application
corresponding to the received application specific messages is
active. Herewith, unnecessary halting of other running
applications, particularly of applications needing the user
interface of the wireless device, is avoided.
[0021] By first checking whether the specific application to be
loaded matches a user profile of user preferences in the context
wireless environment, it is prevented that currently not needed
applications are made active.
[0022] In accordance with the invention, also a user location
method for use in a wireless system is provided, said method
comprising:
[0023] registering of locations and user identities of users of
wireless devices that capable of roaming through said wireless
system when said wireless devices enter into coverage areas of
wireless stations in said system; and
[0024] running a user location awareness application, said user
location awareness application using said registered locations and
user identities of said wireless devices.
[0025] Herewith users in the system are made aware of each other or
of their location while moving from one location to the other,
thereby providing a mechanism to relate services to users, such as
location dependent services to a single user, to location dependent
services to multiple users at a single location or at different
locations. Such a mechanism is particularly useful in future
wireless systems requiring context dependent services.
[0026] Particularly useful is an application using historical
registration data so that a user's movement and behavior can be
predicted in advance of providing services. Such movement could be
heading into a direction of a particular wireless station, that
could be a short-range beacon at a shopping mall or museum, or the
like, or could have resulted that the particular wireless device
and thus it's user actually is in proximity of the particular
wireless station.
[0027] Another particularly useful application is determining
proximity of a user or users to wireless stations. Herewith users
can be made aware of the location, and users can be made aware of
each others locations. Such a mechanism is particularly useful for
roaming users who want to contact or meet each other. A user may
advantageously also set a user profile to filter whether an alert
should be provided in a given context. Also advantageously system
behavior may be modified depending on proximity information. Users
within range of the same beacon could have their user profiles
checked so that users of similar interest could easily contact each
other, for instance. Or users could check profiles provided by
beacons. The system should be modified in that profiles of users
entering and leaving a beacon's area should be added or removed
from a beacon's set of profiles.
[0028] Another useful application is filtering of registration
data, either at the side of the client, i.e., the wireless device,
or at the side of the server. Such filtering could be necessary if
a user passes beacons, particularly short-range beacons, too fast
or too frequently, or to avoid system overhead through processing
of redundant data.
BRIEF DESCRIPTION OF THE DRAWING
[0029] FIG. 1 schematically shows a wireless system according to
the invention.
[0030] FIG. 2 schematically shows another wireless system according
to the invention.
[0031] FIG. 3 shows a wireless device for use in a wireless system
according to the invention.
[0032] FIG. 4 is another representation of a wireless device
according to the invention.
[0033] FIG. 5 illustrates roaming of a wireless device according to
the invention.
[0034] FIG. 6 shows beacon signals used in a wireless system
according to the invention.
[0035] FIG. 7 is still another representation of a wireless device
according to the invention.
[0036] FIG. 8 is a flow chart illustrating operation of the
communicating with the wireless beacons 5 and 6 using another
communication protocol. The wireless device may also be a dedicated
device only capable of communicating with the beacons 5 and 6. The
wireless device may also be a dedicated device only capable of
communicating through the base stations 3 and 4 with the wide area
network 2. Preferably, the wireless device 7 communicates with the
beacons 5 and 6 through packet transmission using a packet 10. The
packet 10 conveys small quantities of information at a time. Packet
transmission may use a protocol as described in a patent
application filed earlier by the same assignee (PHGB000084 (UK
Appln No. 0015454.2, Filed Jun. 26, 2000), the contents of which is
herewith incorporated by reference. In the packet transmission
protocol described therein added data to an existing protocol, the
so-called Bluetooth protocol, are piggy backed on inquiry
facilitation signals, as sixty four bit payloads. In this protocol,
in a full inquiry cycle over sixteen hopping frequencies and a
number of repetitions, and through inclusion of clock information
of the beacon for synchronization purposes, a full beacon signal of
sixteen kBytes can be transmitted. Other suitable packet
transmission systems may be applied as well. In principle, also
connection-oriented communication could be used. The database 9 may
store user location information and user identities, applications
to be downloaded, or other information used by the invention as
will be described in further detail hereafter. The application
server 8 may be configured to download applications to the wireless
device 7.
[0037] FIG. 2 schematically shows another wireless system 20
according to the invention. The wireless system 20 comprises a wide
area network or local area network 21 of wireless beacons 22 and
23.
[0038] The wireless systems 1 and 2 may comprise further
application servers and databases. Such further servers and
databases may be located at and dedicated to the wireless beacons
5, 6, 22 and 23, or may be networked to form a dedicated network.
In the wireless system 20, the wireless beacons 22 and 23 are
networked to form a local area network to provide a tailored set of
applications covering a given geographical area, the premises of a
museum for instance. In an embodiment of dedicated servers and
databases to wireless beacons, the respective servers and databases
only serve areas covered by the respective wireless beacons.
[0039] FIG. 3 in more detail shows the wireless device 7. The
wireless device 7 comprises transceivers 30 and 31 that are
respectively configured to communicate with the radio base stations
3 and 4, and with the wireless beacons 5, 6, 22 and 23. The
transceiver 30 is a cellular phone transceiver and includes
well-known circuitry for transmission, modulation and demodulation,
encoding and decoding, analog-to-digital conversion, and
digital-to-analog conversion (not shown in detail here). The
transceiver 31 is configured to operate in a Bluetooth environment,
preferably with additional data transmission piggy backed on
Bluetooth inquiry messages. The wireless device 7 further comprises
a processor 32 that is coupled to a programmed ROM (Read Only
Memory) 33 and a RAM (Random Access Memory) 34. The wireless device
7 further comprises a display 35, a keyboard 36, and an audio
presentation device 37 that can present voice messages, alerts, or
voice communication. The wireless device 7 may be programmed to run
WAP applications (Wire Access Protocol) and then include a cell
phone enabled browser.
[0040] FIG. 4 is another representation of the wireless device 7
according to the invention to illustrate use of the wireless device
7 of receiving and processing application specific messages. The
wireless device 7 comprises a core program 40 continuously running
on the processor 32. Application memory 33 stores applications 41,
42 and 43. For application 41, an application specific identifier
AID1 is also stored, and for application 42 an application specific
identifier AID2. No identifier is stored for application 43. Data
memory 34 may store data such as weather data 44, stock data 45,
and game score data 46. The weather and stock data are received
through generic beacon signals. The user of the wireless device 7
may decide that a new application should be loaded into the
wireless device 7 and install or download such a new program, or
that a stored program is no longer needed and delete such a
program.
[0041] FIG. 5 illustrates roaming of a user carrying the wireless
device 7 according to the invention, indicated with a dashed arrow
50. While roaming the wireless device 7 enters into a range of a
wireless beacon and leaves it to enter into a range of another
wireless beacon, and so on. While roaming beacon respective signals
BS1, BS2 and BS5 are received from respective wireless beacons B1,
B2 and B5, the user entering transmission ranges of the beacons B1,
B2 and B5. No beacon signals are received from beacons B3 and
B4.
[0042] FIG. 6 shows beacon signals used in the wireless systems 1
and 20 according to the invention. The wireless beacons 5, 6, 22
and 23 each continuously broadcast beacon signals, such beacon
signals including a generic beacon signal 60 as shown in FIG. 6B,
and an application specific beacon signal 61 as shown in FIG. 6C.
Bytes 62 and 63 are used to indicate the length of a beacon signal,
and byte 64 to indicate the type of a beacon signal, generic or
specific. For a generic beacon signal bytes 65 and 66 are used to
indicate an information type of information contained in a beacon
signal, such as weather data and stock data. For an application
specific beacon, bytes 65-68 contain an application specific
identifier, and the remaining bytes application specific data.
[0043] FIG. 7 is still another representation of the wireless
device 7 when receiving and processing application specific
messages from wireless beacons. As shown, the wireless device 7
receives application specific messages with respective application
specific identifiers AID1, AID2, and AID122, ignores the received
application specific message with application specific identifier
AID122, and processes the received application specific messages
with application specific identifiers AID1 and AID2.
[0044] FIG. 8 is a flow chart illustrating operation of receiving
and processing of beacon signals. In block 80, the wireless device
7 waits for a beacon signal. In block 81, upon reception of a
beacon signal, that is re-assembled from received packets, the
wireless device checks a beacon signal's type. If a beacon signal
is generic, in block 82, the wireless device 7 handles the generic
beacon signal. If a beacon signal is application specific, in block
83, the wireless device 7 checks whether an application exists
indicated by the received application specific identifier. If no
such application exists, returned is to block 80. If such an
application exists, in block 84 it is check whether the application
is active. If the application is active, in block 85,
correspondingly received data is passed to the active application
or program. If the application is inactive, in block 86 a user
profile of user preferences is checked for the desirability to
activate the inactive application. If there is such a desirability,
in block 87, the inactive application is activated and
correspondingly received data is passed to the active application.
The active program may respond to the passed data in various ways.
It may bring the passed data to the users attention, it may check
from other data stored in the wireless device 7 whether the passed
data is of interest to the user, it may consult a central server
through the WAN 2 to find out whether the passed data is of
interest to the user, or it may send the passed data to the central
server, possibly together with already stored data, for further
processing.
[0045] FIG. 9 schematically shows a wireless system 90. The
wireless system 90 comprises a location identification server 91
that is coupled to a location database 92. The wireless system 90
further comprises wireless devices 93 and 94 of the type of the
wireless device 7, and wireless beacons 95 and 96. The wireless
devices 93 and 94 are configured to communicate with the location
identification server 91 through wide area network or carrier
network 97, that may be a cellular network. The wireless beacons 95
and 96 are configured to contact the location identification server
91 through the Internet 98. The location identification server 91
registers locations and user identities of users of wireless
devices.
[0046] FIG. 10 shows a database record 100 used by the location
identification server according to the invention. The record 100
comprises a record number field 101, a user identity or
identification field 102, a location identification field 103, and
a date and time field 104 registering when the user was last
encountered at a given location such as at a location of a wireless
beacon. The wireless system 90 may be configured to keep historical
location data, to filter location data, and to delete location
data. The wireless system 90 may be configured to use historical
location data to predict movements of roaming users, to inform a
user of it's proximity to a system resource, to make aware users of
each other's proximity or to respective proximities to respective
locations, or to other applications described or suggested by the
present application. Services may be provided that use relative
location information, describing the proximity of users and
wireless devices to a known location or other users and wireless
devices. The wireless system 90 may also be of a type as shown and
described in FIGS. 1 and 2, in so far as location registration is
meaningful. In it's simplest form, the wireless system 90 has the
structure of a single network, such as a cellular network, that has
the capability to coupled users to locations in terms of proximity
to a system resource. Particularly, when such cellular networks are
pico-networks, the described location awareness still is meaningful
and useful. Preferably, the wireless system 90 at least also
comprises short-range wireless beacons that have a better defined
location. Typically, such short-range beacons have a transmission
output power of 1 mW to 100 mW, limiting their transmission
range.
[0047] In a system also containing wireless beacons, when roaming,
the users encounter a succession of beacons, possibly encountering
beacons more than once. The wireless device 7 then acts as a bridge
or relay to pass beacon information to the location identification
server 91. Upon reception of passed beacon information, the server
91 updates the location database 92 so that the database 92
reflects which wireless beacons wireless device have or had
proximity to. The wireless system 90 may use short term or long
term historical proximity data for a given wireless device or set
of wireless devices to predict location or proximity changes. As an
example, a user carrying a wireless device proceeds along a street
into the range of wireless beacons. On the basis of gathered
location information, the wireless system 90 may predict when the
user arrives as a given location at a certain time. Such a
prediction mechanism may be implemented as an application running
at the server 91. The wireless system 90 may use long term history
of proximity of location for users to build profiles of their
movements, individual or shared interests. Herewith, users can be
linked with places, shops, and other users. The database 92 could
store a record of matches to these places and people which is
averaged over time.
[0048] FIG. 11 illustrates alternative acquisition of location
identification information according to the invention. Shown is a
table 110 with location identifiers 111 that uniquely identify a
global location, with a description 112 of a location, and with
latitude and longitude data of the location. Location
identification can be represented in various ways, it can be a
geographical description of a location whereby the location
identifier itself forms the data to identify a location, it can be
a reference to a geographical description of a location, i.e., just
a pointer to other information that can be used to determine the
location.
[0049] FIG. 12 shows an embodiment of the location identification
server 91 according to the invention. Through the cellular network
97, a WAP gateway 120 and an Internet server 121, the wireless
device 93 passes location and user identity information to the
location identification server 91 for inclusion into the database
92. The location identification server 91 is implemented as a CGI
(Common Gateway Interface) script that resides on the web server
121 that can be reached through the Internet. The wireless device
93 transmits a location identifier it acquired from the wireless
beacon 95 to the location identification server 91 using WAP:
"http://1.1.1.1/locsrvr.cgi?loc_id=Li&user_id=Ui". The wireless
device 93 calls the CGI script with the location identifier as a
parameter, the location identification server's CGI script being
invoked by the web server 121 it resides on. When being invoked,
the location identification server's CGI script receives the
location identifier as a parameter and the CGI script stores the
location identifier in the database 92.
[0050] FIG. 13 illustrates a proximity alert application according
to the invention.
[0051] As shown, wireless device 130 is in-range of beacon 131 at
location Li, wireless device 132 is in-range of beacon 133 at
location Lj, and wireless device 134 is in-range of beacon 135 at
location Lk. Further shown is a user profile 136 of user1 carrying
wireless device 134. As a result of user2 matching user1's user
profile 136, user1 will get a proximity alert "User2 is near".
[0052] The proximity alert application uses proximity information
received and stored by the location identification server and
processes that information to determine the proximity of any two
users or one user and a location. The proximity alert application
uses the following information to determine the proximity of two
users or a user and a location:
[0053] Location of a User:
[0054] This can be determined from the information that is stored
by the location identification server 91. This application has to
make some assumptions as to how long a user is considered to be
near a location after the location identification is transmitted to
the location identification server 91. For example, if the last
known user location is obtained one hour ago, it is may not be
right to assume that user is still at the same location.
[0055] Distance Between Two Given Location Identifications:
[0056] Determining the distance between two locations represented
by given location identifications depends on the implementation of
the location identifications. If the location identification
represents a geographical description of a location, the distance
between two locations can be calculated directly from the location
identifications. If the location identifications points to a stored
description of geographical location, the stored location
description must be retrieved to determine the distance between
locations.
[0057] An application of being able to determine proximity of two
users or a user and a location is proximity alert. Proximity alert
application allows a user to configure alerts based on the
proximity of a user or a location. The proximity alert application,
upon receipt of new information, determines the proximity between
the user and all the users and locations user expressed desired
having alerted about. If the application determines any of the
locations or users are in the proximity of the user, the user is
alerted. Proximity alerts can be of two types, alert of proximity
of a user to another user and alert of proximity of a user to a
location.
[0058] FIG. 14 illustrates modification of system behavior in a
proximity based wireless system according to the invention. In
addition to the location identification server 91, the system 90
comprises a proximity server 140. The proximity server 140 may be
included in the location identification server 91. Wireless devices
140 and 141 are in-range of beacon 142.
[0059] Proximity detection is used to modify the behavior of the
system or parts of system based on the proximity of the users.
Typically parts of the system are controlled. This application uses
the location information collected by the location identification
server 91 and processes it to determine the proximity of users to
users and users to locations. Based on the information, this
application modifies parts of the system it controls accordingly.
In the example given, the proximity server 140 controls the
wireless beacon 142 and selection of applications I, J, and K.
[0060] FIG. 15 shows a hot badge application in such a proximity
based system. As shown, wireless devices 150-152 are in-range of
beacon 153. Further shown are user profiles of users of the
wireless devices 150-152, and a hot badge server 154. The hot badge
server may be included in the location identification server
91.
[0061] Hot badges broadly is a match making application. Each user
has a personal profile. A user sets up a profile of other user
he/she would like to meet. When the user enters the range of "Hot
Badge Capable" wireless beacon 153, the wireless beacon 153 informs
the user of other users and their profiles that are in-range of the
wireless beacon 153. The user's wireless device, based on user's
interest, alerts user of a person being in-range.
[0062] In this scenario, when the user enters the range of a
beacon, a user's wireless device receives the location identifier
ID of the wireless beacon 153 and transmits it to the location
identification server 91. The hot badge server 154 which receives
this information from the location database 92, instructs the
wireless beacon the user is close to, to modify its behavior to
reflect the new user. A wireless beacon modifies the information it
broadcasts to include the new user's profile in the information.
When a user receives the information, the user's wireless device
matches all the profiles against a required profile and alerts the
user if necessary.
[0063] In FIG. 15A, wireless devices 150-152 are in-range of
wireless beacon 153. In FIG. 15B a new wireless device 155 with
user4 enters into range of the wireless beacon 153 resulting in
providing user4's user profile 156 to hot badge server 154. In FIG.
15A, the end situation is achieved that beacon 153 now broadcasts
user profiles of users 1-4.
[0064] FIG. 16 shows filtering in a proximity alert system
according to the invention.
[0065] A users' wireless device transmits location identification
to the location identification server whenever it receives a new
location identification from a wireless beacon. The location
identification server processes all location identifications it
receives and stores them in the location database for use by other
applications. But, if a user passes wireless beacon ranges too fast
or a set of beacon ranges too frequently, it would be more
efficient to filter some of the location identifications that are
passed to location identification server or that are stored in the
location database.
[0066] Location data filtering can be done at the side of the
client, a wireless device, and at the side of the server.
[0067] Server side location data filtering is a process that
analyzes location data received from wireless device and optimizes
the location data for other applications to use it efficiently.
Filtering primarily involves removing data that is redundant and
does not add any value to the data that is already existing in the
database. Such data costs applications time without any use.
[0068] Example of redundant data that can be filtered by server
side location data filtering:
[0069] The location identification server can determine the
distance between any two given location identifications. If two
successive location identifications received from a handheld are
not so far apart that it makes a difference to the applications
that are processing the data, the location identification server
may choose to ignore the latter location identification.
[0070] Client side location data filtering is a process, possibly
implemented by an application, that optimizes the number location
identifications that are transmitted to the location identification
server so as to optimize wireless device-location identification
server communication. In several situations the wireless device is
in a position to determining which data is redundant to the
location identification server.
[0071] For instance, a user's wireless device may implement a
simple filter that follows the rule "transmit only once a minute".
The wireless device after having transmitted a location
identification to the location identification server does not
transmit a new location identification until after one minute. Such
a method is efficient if the user is moving too fast through
wireless beacon ranges. A wireless device can easily recognize that
the user is moving fast and there is no value in transmitting all
location identifications a user encounters since a user will not
stay in range of a wireless beacon for long.
[0072] FIG. 16A shows client side filtering and FIG. 16B shows
server side filtering. Filtering at client's side:
[0073] In block 160, a wireless device waits for a location
identifier. When received, in block 161 it checks whether a
predetermined period, for instance one minute, since a previous
transmission of a location identifier to the location server has
expired. If so, in block 162 it transmits the newly acquired
location identifier. Otherwise it ignores the newly acquired one
and it waits for still another one. Upon transmission of a location
identifier, in block 163 the wireless device sets the predetermined
period to one minute. Filtering at server's side:
[0074] In block 164, the server waits for a location identifier.
Upon reception, in block 165 it retrieves a user's last known
location. In block 166, it then calculates a distance between a
current and a previous location of the user and checks whether the
distance is below a given threshold, e.g. 20 m. If so, no update
occurs. If this is not the case, in block 167 the user's interested
entries are retrieved and in block 168 it is calculated what is the
distance between a user's current location and his interested
entries. If the latter distance is too large, as tested in block
169, e.g. above 100 m, the server waits for another location
identification. Otherwise, in block 170 an alert signal is sent to
the user.
[0075] In view of the foregoing it will be evident to a person
skilled in the art that various modifications may be made within
the spirit and the scope of the invention as hereinafter defined by
the appended claims and that the invention is thus not limited to
the examples provided. The word "comprising" does not exclude the
presence of other elements or steps than those listed in a claim.
What is claimed is:
* * * * *
References