BACKGROUND
[0001] Current location based applications generally rely on mobile device performed location
determinations (e.g., mobile device location determinations made using an installed
Global Positioning System ("GPS") receiver) to provide location information. Thus,
mobile devices without a location determination capability (e.g., non-GPS enabled
devices), may not be able to use current location based applications because these
mobile devices may not be able to provide location information. Further, many location
based systems, especially group location systems, require a mobile device to run one
or more specific application resident on the mobile device and provide periodic position
check- ins. The specific applications increase the cost of such systems because they
often must be tailored to be device specific (e.g., tailored to the operating system,
hardware, updates, etc.). Additionally, requiring the mobile device to determine its
location, whether with GPS or by other methods, and periodically check-in may consume
undesirable amounts of processing capability and/or battery life.
[0002] US2005/0113123A1 describes a method of defining group session based upon location and other criteria
associated with participating terminals.
[0003] US2005/0192029A1 describes a method for determining the position of a terminal in a cellular mobile
radio network with network measurements being executed in the terminal for selection
of a service cell.
SUMMARY
[0004] The present invention includes a method for creating a group according to claim 1,
a corresponding server according to claim 13, and a non-transitory server readable
medium according to claim 14. The systems, methods, and devices of the various embodiments
provide group associations based on network determined location information. The various
embodiments enable mobile devices to participate in groups based on the network determining
the locations of the mobile devices, and recognizing when mobile devices are in or
near certain locations and/or positioned close together, which identifies the mobile
devices are part of a defined group. Additionally, the various embodiments enable
the ad-hoc creation of mobile device groups based on network determined locations
of mobile devices. In an embodiment, a server may determine the locations of mobile
devices and, based one or more of the mobile devices being located in a pairing zone,
add the mobile devices located in the pairing zone to a group or define a group as
those mobile devices located in the pairing zone at the same time. In a further embodiment,
the server may add the mobile device to a group following the occurrence of a trigger
event, such as the mobile device pausing in a given pairing zone for a period of time.
In an embodiment, the server may add all mobile devices determined to be within the
pairing zone to the same group.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The accompanying drawings, which are incorporated herein and constitute part of this
specification, illustrate exemplary embodiments of the invention, and together with
the general description given above and the detailed description given below, serve
to explain the features of the invention.
FIG. 1 is a communication system block diagram of a network suitable for use with
the various embodiments.
FIG. 2A is a system block diagram illustrating an embodiment system enabling network
based positioning and group creation.
FIG. 2B is a system block diagram illustrating another portion of the embodiment system
illustrated in FIG. 2A.
FIG. 2C illustrates an embodiment user interface of a mobile device operating in the
system illustrated in FIG. 2B.
FIG. 3 is a system block diagram illustrating another embodiment system enabling network
based positioning and group creation.
FIG. 4 is a process flow diagram illustrating an embodiment method for creating a
group.
FIG. 5 is a process flow diagram illustrating an embodiment method for adding a mobile
device to a group based on the occurrence of a trigger event.
FIG. 6 is a process flow diagram illustrating an embodiment method for adding mobile
devices identified within a pairing zone to a group.
FIG. 7 is a process flow diagram illustrating an embodiment method for sending a group
reward based on the completion of a group location challenge.
FIG. 8 is a process flow diagram illustrating an embodiment method for sending individual
rewards to group members based on trigger locations and/or events.
FIG. 9 is a process flow diagram illustrating another embodiment method for sending
a group reward based on the completion of a group location challenge.
FIG. 10 is a process flow diagram illustrating an embodiment method for determining
the location of a mobile device.
FIG. 11 is a system block diagram illustrating a system and message flows according
to an embodiment.
FIG. 12 is a message flow diagram illustrating example message flows in the embodiment
system illustrated in FIG. 11.
FIG. 13 is a component diagram of an example mobile device suitable for use with the
various embodiments.
FIG. 14 is a component diagram of an example server suitable for use with the various
embodiments.
DETAILED DESCRIPTION
[0006] The various embodiments will be described in detail with reference to the accompanying
drawings. Wherever possible, the same reference numbers will be used throughout the
drawings to refer to the same or like parts. References made to particular examples
and implementations are for illustrative purposes, and are not intended to limit the
scope of the invention or the claims.
[0007] The word "exemplary" is used herein to mean "serving as an example, instance, or
illustration." Any implementation described herein as "exemplary" is not necessarily
to be construed as preferred or advantageous over other implementations.
[0008] As used herein, the terms "mobile device" and "receiver device" are used interchangeably
herein to refer to any one or all of cellular telephones, smart phones, personal or
mobile multi-media players, personal data assistants (PDA's), laptop computers, tablet
computers, smart books, palm-top computers, wireless electronic mail receivers, multimedia
Internet enabled cellular telephones, wireless gaming controllers, and similar personal
electronic devices which include a programmable processor and memory and circuitry
for sending data to a wireless network access point.
[0009] The various embodiments are described herein using the term "server." The term "server"
is used to refer to any computing device capable of functioning as a server, such
as a master exchange server, web server, mail server, document server, or any other
type of server. A server may be a dedicated computing device or a computing device
including a server module (e.g., running an application which may cause the computing
device to operate as a server). A server module (e.g., server application) may be
a full function server module, or a light or secondary server module (e.g., light
or secondary server application) that is configured to provide synchronization services
among the dynamic databases on mobile devices. A light server or secondary server
may be a slimmed-down version of server type functionality that can be implemented
on a mobile device thereby enabling it to function as an Internet server (e.g., an
enterprise e-mail server) only to the extent necessary to provide the functionality
described herein.
[0010] The various embodiments provide group associations based on network determined location
(e.g., latitude, longitude, and/or elevation) information. The various embodiments
enable mobile devices to participate in groups that are determined or organized based
on the locations of the mobile devices that may be determined from network interactions
with the mobile devices. Additionally, the various embodiments enable the ad-hoc creation
of mobile device groups based on determined locations of mobile devices. In an embodiment,
the server may generate or define a group as all mobile devices that are determined
to be located within a pairing zone at a particular time. In an embodiment, a server
may determine the location of a mobile device and based on the mobile device being
located in a pairing zone may add the mobile device to a group. In a further embodiment,
the server may add the mobile device to the group following the occurrence of a trigger
event, such as the mobile device pausing in a given pairing zone for a period of time.
In an embodiment, the location of the mobile device may be determined based on signal
information available to an access point or to the mobile device. In an embodiment,
the signal information may be sent by the mobile device or may be received by the
mobile device. The signal information may allow access point to provide channel state
and/or Round Trip Time for a particular mobile device, and may may include network
pages, requests to identify access points, signal strength requests, quality of service
requests, identification information requests, etc. In an embodiment, the interaction
between mobile devices and the network may be network management signals that are
associated with establishing and maintaining a wireless wide area network, such as
WiFi or cellular data networks.
[0011] In the various embodiments, network based positioning may be used to determine group
associations. In further embodiments, various triggers may be used in conjunction
with network based positioning to determine group associations among mobile devices.
The various embodiments enable a network to determine mobile device positions determinations,
which may enable users to actively participate in groups, associations, and activities
without a specific application and/or mobile device based position check-in. Triggers
may include time, the providing of information (such as pictures, user information,
etc.), requests for information made by a mobile device, or other environmental factors
(e.g., being within a defined proximity of a specific user/mobile device, event, etc.).
[0012] In an embodiment, a server monitoring positions of mobile devices may determine when
a user carrying a mobile device enters a specific geographic location (i.e., a pairing
zone), and in response add the user's mobile device to a defined group. In another
embodiment, a server monitoring positions of mobile devices may determine when more
than one mobile device enters a specific geographic location (i.e., a pairing zone)
at the same time and/or for a defined duration, and in response define an ad hoc group
as all of the mobile devices within the pairing zone at that particular time.
[0013] A group may be set of associated mobile devices, such as a set of associated mobile
devices in communication with the same wireless network. A group may be defined in
a memory available to a server, such as a memory available to a wireless network server
with which the mobile devices of the group are in communication. As an example, a
user carrying a mobile device may cross a specific geographic boundary (e.g., by entering
a specific floor of a building, crossing into a specific room, etc.) and when the
network determined location indicates the user's mobile device crossed the specific
geographic boundary, the server may add the user's mobile device to a group of all
mobile devices that have crossed the specific geographic boundary. In this manner,
an ad-hoc group of all mobile devices that enter a specific geographic location may
be created. In an embodiment, the various additional triggers beyond merely entering
the specific geographic location (i.e., pairing zone) may need to occur before the
user's mobile device may be added to the group. Specific triggers may include an expiration
of a time period, a mobile device context, sending of user information (e.g., user
registration information, virtual card, etc.), navigating a web browser on the mobile
device to a specific uniform resource locator ("URL"), sharing of media (e.g., uploading
a picture), etc. As an example, a trigger may be a time period, such as 20 seconds.
In addition to entering the pairing zone, the mobile device may be required remain
in the pairing zone for longer than the trigger time period of 20 seconds to be added
to the group.
[0014] In the various embodiments, once a mobile device is added to the group, various rewards,
advertisements, information, contextual applications, or other data may be provided
to the mobile device and/or mobile device user. In further embodiments, additional
location tracking may enable group and/or individual user location based challenges,
such as scavenger hunts, to be provided for the group members, and additional rewards,
advertisements, information, contextual applications, or other data to be provided
to the group and/or individual based on the results of the location based challenges.
[0015] In various embodiments the locations of mobile devices may be determined by the network
based on interactions with the mobile devices, such as communication data packets
and link-management signals (e.g., signals exchanged to maintain a wireless connection)
associated with a wireless network, and location reports (e.g., GPS coordinates) communicated
from mobile devices to the network. In an example embodiment, the location (e.g.,
latitude, longitude, and/or elevation) of a mobile device may be determined using
a trilateration algorithm based on signal information available to wide area network
(WAN) access point transceivers. As an example, the mobile device may be in communication
with three or more WAN access points (e.g., Wi-Fi® access points, Wi-Fi® beacon, Wi-Fi®
transceiver, Wi-Fi® router, etc.) of a wireless network. Based on the coverage maps
of each access point a server may determine the location of the mobile device using
trilateration algorithm based on the three or more access points. In an embodiment,
a coverage map may correlate the signal arc (e.g., signal propagation area) covered
by an access point with the geographic coordinates encompassed by the signal arc.
In an embodiment, the server may determine the location of the mobile device based
on characteristics of the connection between the mobile device and one or more access
point (e.g., Wi-Fi® access points, Wi-Fi® beacon, Wi-Fi® transceiver, Wi-Fi® router,
etc.) of a wireless network. Characteristics of the connection may include quality
of service measurements, signal strength measurements, and error rate measurements.
In an embodiment, a coverage map may correlate known connection characteristics with
distances/locations relative to the access point.
[0016] In an embodiment, a set of users each carrying a mobile device (e.g., a family in
which each family member may be carrying his or her own smart phone) may visit the
same venue (e.g., an amusement park, zoo, etc.). Upon entering the venue the set of
user's may stand together in a specific geographic area for time period. As an example,
when entering an amusement park, families often stand together to have a picture taken.
In an embodiment, a server may recognize that the set of users carrying mobile devices
stood together in the specific geographic location for a period of time (e.g., the
twenty seconds to get a picture taken in an amusement park entry way), and may associate
the mobile devices carried by the users as a group. In an embodiment, the server may
determine the location of each mobile device based on communications between the mobile
device and one or more wireless access points (e.g., Wi-Fi® access points) located
in the venue. As an example, an amusement park may be equipped with a series of Wi-Fi®
access points which may provide wireless Internet service in the amusement park. A
server may monitor communications between mobile devices and each Wi-Fi® access point,
such as management signals (e.g., probe requests), and recognize that each mobile
device carried by a family member is in communication with one or more Wi-Fi® access
points (e.g., three Wi-Fi® access points) based on the management signals. The server
may determine the location of each mobile device, for example using trilateration,
and may determine that the mobile devices of the family members paused together in
the same geographic area (e.g., the amusement park entry way, a photo booth area,
a specifically identified pairing circle, etc.) for at least a trigger period (e.g.,
twenty seconds). Based on the mobile devices being located in the same geographic
area together for the trigger period, the server may associate the mobile devices
of the family members as a group, such as by storing the media access control address
or identification ("MAC ID") and/or internet protocol address ("IP address") of each
family member's mobile device in the same data table in a memory (e.g., a database)
available to the server. In a further embodiment, an additional trigger may include
that the mobile devices may be required to access the same URL, such as a URL for
a registration page, in order to be added to the group. As an example, the server
may recognize a hyper text transport protocol ("HTTP") GET request message for information
at the URL http://www.mapofmygroup.com as an additional trigger. Based on determining
that that the mobile devices of the family members paused together in the same geographic
area, for at least a trigger period, and all sent HTTP GET requests associated with
http://www.mapofmygroup.com, the server may associate the mobile devices of the family
members as a group.
[0017] In an embodiment, once a group is created (e.g., the grouped family member's mobile
devices in an amusement park), the server may track the location of each of the grouped
mobile devices in the venue (e.g., in the amusement park). As an example, the server
may determine the location of each mobile device, such as by trilateration, periodically
(e.g., on a fixed interval, upon discovery of the mobile device by a new Wi-Fi® access
point, etc.). In an embodiment, when a mobile device associated with a group makes
a request for content (e.g., an HTTP GET request), the server may modify the request
and/or content based on the group the mobile device is in. As an example, an HTTP
GET request for an amusement park map from a family member's mobile device may be
modified to indicate the request came from a mobile device of the group associated
with the family. In this manner, contextual content, such as a map of the amusement
park tailored for the specific family (e.g., showing a pre-planned route to follow
to visit the desired rides of the family), from the web server of the amusement park
may be provided to the requesting family member's mobile device. In an additional
example, the server may modify content provided to the requesting family member group
device to create contextual content, such as by modifying an amusement park map to
graphically indicate the current locations (e.g., latitude, longitude, and/or elevation)
of each family member mobile device. In a further embodiment, the grouping of mobile
devices may enable sharing of information and/or group communication among the members
of the group. As an example, by being added to the same group the family member's
mobile devices may be enabled to share photos, exchange messages, etc. with any other
family member group mobile devices.
[0018] In another embodiment, a set of users each carrying a mobile device (e.g., executives
each carrying a smart phone) may visit the same venue (e.g., a conference, tradeshow,
etc.). In an embodiment, a server may determine the location of each mobile device
in the venue based on interactions (e.g., network management signals used to establish
or maintain a wireless communication link, such as network pages, probe requests,
signal quality requests, power requests, etc.) between each mobile device and one
or more wireless access points (e.g., Wi-Fi® access points) located in the venue.
As an example, a convention floor may be equipped with a series of Wi-Fi® access points
that may provide wireless Internet service in the convention. A server may monitor
communications between each mobile device and each Wi-Fi® access point and recognize
that each mobile device carried by attendees of the convention is in communication
with one or more Wi-Fi® access points (e.g., three Wi-Fi® access points). The server
may determine the location of each mobile device, for example using trilateration
based on network interactions with each mobile device. In an embodiment, the fact
that a mobile device crossed a specific geographic boundary (e.g., entered a specific
geographic area such as an executives only area), may trigger the server to add the
mobile device crossing the specific geographic boundary to a group (e.g., a group
of mobile devices carried by executives). As an example, any mobile device that enters
an executives only area or conference room may be added to a group of executive mobile
devices. In this manner, the mobile devices need not be in the executives only area
at the same time, merely crossing the specific geographic boundary to enter the executives
only area at any time during the conference may result in the mobile device being
added to the executive group. In this manner, targeted advertising, information, coupons,
rewards, discounts, etc. intended for executives may be provided to only the executive
group. In another embodiment, an ad-hoc group may be created in the venue based on
mobile devices that pause for longer than a trigger period in a specific geographic
location. As an example, an advertiser may wish to create a group of all attendees
who saw a specific billboard at a tradeshow. Any mobile device that stops in front
of the billboard (i.e., a specific geographic area) for longer than 10 seconds (i.e.,
a trigger period) may be added to a group. Thus, even though the mobile devices may
not be present in the geographic area for the same period of time, they may be added
to the same group. In this manner, the advertiser may send additional information,
rewards, discounts, etc. only to the mobile devices of attendees who actual saw the
billboard at the tradeshow. Additionally, the advertiser may maintain the group even
outside the venue (e.g., after the tradeshow) and send the reward to the group at
a later time. In a similar example, a booth operator at a tradeshow may wish to create
a group of the attendees who visited the booth for a trigger period of time (e.g.,
five minutes). In this manner, the booth operator may create the group without requiring
the attendees to take any action, such as providing a business card, scanning a badge,
etc. because the attendee may be added based on network determined location information.
[0019] In an embodiment, once a group is created (e.g., the grouped family member's mobile
devices in an amusement park, executives at a convention, attendees at a tradeshow,
etc.), the server may track the location of each of the grouped mobile devices in
the venue (e.g., in the amusement park, convention, tradeshow, etc.). As an example,
the server may determine the location of each mobile device, such as by trilateration,
periodically (e.g., on a fixed interval, upon discovery of the mobile device by a
new Wi-Fi® access point, etc.). In an embodiment, the tracking of mobile devices may
enable the server to provide location challenges to the group members. As an example,
a scavenger-hunt type game may be provide in which rewards (e.g., points, badges,
coupons, prizes, etc.) are provided to all group members and/or individual group members
for entering one or more locations in the venue (e.g., visiting a set number of rides
in an amusement park, visiting a set number of booths at a tradeshow, entering all
display halls at a convention, etc.). Rewards may be sent to the individuals and/or
groups based on the completion of the location challenge. For example, a coupon may
be provided to each group member should all group members visit a particular booth
at a tradeshow.
[0020] In the various embodiments the determination of location, creation of groups, and/or
adding of mobile devices to groups may be performed in real-time. For example, as
mobile devices enter a pairing zone the mobile devices may be added to an ad-hoc group.
[0021] In other embodiments, at least a portion of the operations related to the determination
of location, creation of groups, and/or adding of mobile devices to groups may be
performed as part of post event data analysis. As an example, a Wi-Fi® based network
may track and store connection information for mobile devices using the network and
the stored connection information may be analyzed to determine the location of a mobile
device during post event data analysis. As another example, a Wi-Fi® based network
may determine location for mobile devices and store the location determinations. In
an embodiment, determined locations may be used by a server to generate a database
of location history information for the tracked individuals. Post event data analysis
or analytics using such a database of location history information may enable the
creation of groups based on network determined location information based on additional
environmental factors, such as location in an area at a specific time, proximity to
an individual, patterns of behavior, etc. As an example, the data from an amusement
park may be analyzed to identify which mobile devices may have been near a location
at which a missing child was last seen and a group may be created of those devices.
In this manner, a missing child alert may be sent to those grouped mobile devices
asking for information about the missing child. As another example, data from wireless
network may be analyzed to identify which mobile devices came in contact with a known
illness carrier (e.g., individual infected with a communicable disease), and those
mobile devices who came within a given proximity (e.g., five feet) of the illness
carrier over a time period when the illness carrier may have been contagious may be
grouped together. In this manner, the users of the identified mobile devices may be
informed of a need to seek medical attention based on potential exposure to the illness.
Additionally, the various embodiments may be used for sex offender tracking and notification
of groups of mobile devices that came in contact with the sex offender.
[0022] In an embodiment, a group may be created including a mobile device and a fixed (e.g.,
a less mobile device such as an item on sale in a store, front gate turnstile and/or
entry way, printer, or other device which generally remains in a fixed location during
operation). As an example, a consumer carrying a mobile device may be associated with
a television in a store by server based on the mobile device being located in the
same geographic area with the television for the trigger period. In this manner, the
server may associate the television and the consumer as a pair. As another example,
a user carrying a mobile device may be associated with a front gate of an amusement
park by a server based on the mobile device passing through the front gate. In this
manner, the server may track the entry and exit of user from the amusement park via
the front gate association.
[0023] FIG. 1 illustrates a network 100 suitable for use with the various embodiments. The
network 100 may include mobile devices 102, 104 (e.g., smart phones), access points
106, 108, 110 (e.g., Wi-Fi® access points, Wi-Fi® beacons, Wi-Fi® transceivers, Wi-Fi®
routers, etc.), and one or more servers 114 connected to the Internet 112. The mobile
device 102 may establish a wireless connection 116 with the access point 106, a wireless
connection 120 with the access point 108, and a wireless connection 124 with the access
point 110. The mobile device 104 may establish a wireless connection 118 with the
access point 106, a wireless connection 122 with the access point 108, and a wireless
connection 126 with the access point 110. The access points 106, 108, 110 may be connected
to the Internet 112 and/or another network such as a local area network connected
to the one or more servers 114. In this manner, the mobile devices 102, 104 and the
one or more servers 114 may all exchange data with each other via the access points
106, 108, 110 and Internet 112 (or local area network connected to the one or more
servers 114).
[0024] FIG. 2A illustrates an embodiment system enabling network based positioning and group
creation. The network may include access points 202, 204, and 206 (e.g., Wi-Fi® access
points, Wi-Fi® beacons, Wi-Fi® transceivers, Wi-Fi® routers, etc.) connected to a
server 207 via connections A, B, and C respectively. Connections A, B, and C may be
any type connections, such as wired and/or wireless connections (e.g., connections
via a local area network and/or the Internet) enabling the server 207 and access points
202, 204, and 206 to exchange information. In an embodiment, a memory available to
the server 207 may include coverage maps associated with each access point 202, 204,
and 206 which may correlate the signal arc (e.g., signal propagation area) covered
by an access point with the geographic coordinates (e.g., latitude, longitude, and/or
elevation) encompassed by the signal arc. In a further embodiment, a coverage map
may also correlate signal characteristics, such as a quality of service measurements,
error rate measurements, signal strength measurements, etc., with geographic coordinates
encompassed by the signal arc of the access point. The coverage map for access point
202 may correlate the signal arc 210 with the geographic coordinates encompassed by
the signals from access point 202. The coverage map for access point 204 may correlate
the signal arc 212 with the geographic coordinates encompassed by the signals from
access point 204. The coverage map for access point 206 may correlate the signal arc
208 with the geographic coordinates encompassed by the signals from access point 206.
In an embodiment, a pairing zone 226 may defined. The pairing zone 226 may be a geographic
location defined in a memory available to the server 207, and mobile devices located
within the pairing zone 226 may be added to a group by the server 207. The network
may determine the location of users carrying mobile devices, such as User A carrying
mobile device 214, User B carrying mobile device 216, User C carrying mobile device
218, User D carrying mobile device 220, User E carrying mobile device 222, and User
F carrying mobile device 224, based on the communications between the mobile devices
214, 216, 218, 220, 222, and/or 224 and the access points 202, 204, and/or 206, such
as network management signals sent/received by the mobile devices 214, 216, 218, 220,
222, and/or 224 and the access points 202, 204, and/or 206. In an embodiment, the
server 207 may determine the location of the mobile devices 214, 216, 218, 220, 222,
and/or 224 based on comparing the access points 202, 204, and/or 206 to which the
mobile devices 214, 216, 218, 220, 222, and/or 224 are communicating with to coverage
maps of the access points 202, 204, and/or 206. In an embodiment, the location of
the mobile devices 214, 216, 218, 220, 222, and/or 224 may be based on trilateration
between the access points 202, 204, and 206. In an embodiment, the server 207 may
determine the location of the mobile devices 214, 216, 218, and 220 is within the
pairing zone 226 and the server 207 may create and/or add mobile devices 214, 216,
218, and 220 and their respective User's A, B, C, and D to a group. In a further embodiment,
other triggers beyond the location of mobile devices 214, 216, 218, and 220 in the
pairing zone 226 may be required to occur before the mobile devices 214, 216, 218,
and 220 may be added to a group. In an embodiment, a trigger may be time based, such
as a requirement that the mobile devices 214, 216, 218, and 220 remain in the pairing
zone 226 for a specific period of time (e.g., 20 seconds) or longer before being added
to the group. In another embodiment, a trigger may be based on other factors, such
as requiring the mobile devices 214, 216, 218, and 220 to navigate to a specific URL,
complete a web registration, provide a photo, etc.
[0025] As an example, FIG. 2A may illustrate a front gate portion of a Wi-Fi® network established
within an amusement park. The pairing zone 226 may be a physically represented on
the ground, such as by a painted circle at the front gate. Users A, B, C, D, E, and
F may be visitors to the amusement park. Further, Users A, B, C, and D may be a family
visiting the park together. The server 207 may determine the location of each of Users
A, B, C, D, E, and F based on communications between their respective mobile devices
214, 216, 218, 220, 222, and 224. The server 207 may determine User F's location based
on mobile device 224 being associated with access point 202 and access point 206.
The server may determine User E's location based on mobile device 222 being associated
with access point 202. The server 207 may determine neither User E nor User F are
located within the pairing zone 226 based on neither mobile device 222 nor mobile
device 224 being associated with access point 204. The server 207 may determine based
on the coverage maps of access points 202, 204, and 206 that the pairing zone 226
is covered by signal arcs 208, 210, and 212 of access points, 206, 202, and 204, respectively.
The server 207 may determine the location of Users A, B, C, and D based on mobile
devices 214, 216, 218, and 220 being associated with access points 202, 204, and 206,
and may determine mobile devices 214, 216, 218, and 220 are located in the pairing
zone 226. The server 207 may create a group and add mobile devices 214, 216, 218,
and 220 to the group. In this manner, the family members, User A, User B, User C,
and User D, may be added to a group by entering the pairing zone 226 together, while
User E and User F may not be added to the family's group because mobile devices 222
and 224 were not in the pairing zone 226.
[0026] FIG. 2B is a system block diagram illustrating another portion of the embodiment
system illustrated in FIG. 2A. The network may include additional access points 230,
232, 234, 236, 238, 240, 242, and 244 (e.g., Wi-Fi® access points, Wi-Fi® beacons,
Wi-Fi® transceivers, Wi-Fi® routers, etc.) connected to the server 207 via connections
D, E, F, G, H, I, J, and K respectively. Connections D, E, F, G, H, I, J, and K may
be any type connections, such as wired and/or wireless connections (e.g., connections
via a local area network and/or the Internet) enabling the server 207 and access points
230, 232, 234, 236, 238, 240, 242, and 244 to exchange information. In an embodiment,
a memory available to the server 207 may include coverage maps associated with each
access point 230, 232, 234, 236, 238, 240, 242, and 244 which may correlate the signal
arc (e.g., signal propagation area) covered by an access point with the geographic
coordinates (e.g., latitude, longitude, and/or elevation) encompassed by the signal
arc. In a further embodiment, a coverage map may also correlate signal characteristics,
such as a quality of service measurements, error rate measurements, signal strength
measurements, etc., with geographic coordinates encompassed by the signal arc of the
access point. In an embodiment, the access points 230, 232, 234, 236, 238, 240, 242,
and 244 may be distributed throughout a venue 228 (e.g., an amusement park) to communicate
with mobile devices 214, 216, 218, and 220 within the venue 228, such as to provide
Internet access to the mobile devices 214, 216, 218, 220 as Users A, B, C, and D travel
throughout the venue.
[0027] Continuing with the example of the amusement park discussed above with reference
to FIG. 2A, the venue 228 illustrated in FIG. 2B may be the attraction portion of
amusement park. The server 207 may track the family group of Users A, B, C, and D
as the Users A, B, C, and D travel throughout the amusement park based on communications
between their respective mobile devices 214, 216, 218, and/or 220 and the access points
230, 232, 234, 236, 238, 240, 242, and/or 244. The server 207 may periodically and/or
on-demand determine the location of User's A, B, C, and D. In an embodiment, the server
207 may continually track the location of all family group member mobile devices 214,
216, 218, and/or 220, and may make the determined location information for each mobile
device 214, 216, 218, and/or 220 available to each mobile device 214, 216, 218, and/or
220 and/or other mobile devices, applications, servers, etc.
[0028] FIG. 2C illustrates an embodiment user interface 246 (e.g., display) of the mobile
device 214 operating in the system illustrated in FIG. 2B. In an embodiment, the mobile
device 214 may render content received from the server 207 indicating the location
of the Users A, B, C, and D. Continuing with the example discussed above with reference
to FIGs. 2A and 2B, User A may direct the web browser 248 of the mobile device 214
to the URL http://www.mapofmygroup.com/yourgroup. The server 207 may receive the HTTP
GET request associated with the URL from the mobile device 214 and may generate and/or
modify a map of the amusement park 250 at that URL graphically indicating the current
position of User A 252, User B 254, User C 256, and User D 258. The mobile device
214 may receive this contextual content from the server 207 (i.e., the generated and/or
modified map of the amusement park 250) and may render the generated and/or modified
map of the amusement park 250 graphically indicating the current position of User
A 252, User B 254, User C 256, and User D 258 in the web browser 248. In this manner,
User A may be provided with contextual content indicating the location of the family
group members Users A, B, C, and D by the network as the family explores the amusement
park.
[0029] In another embodiment, access points may estimate a range to a mobile device based
on signal characteristics from signals received from the mobile device. Since the
transmit power of a mobile device WAN transceiver may be known or estimated, the distance
between the access point and the mobile device may be estimate based on a presumed
transmitter power level and a 1/R
2 propagation model. Alternatively, the access point may poll the mobile device to
report the signal strength of its own transmissions (i.e., ask the mobile device to
report how strong the access point's signals appear), and knowing the access points
transmitter power estimate the separation distance using a 1/R
2 propagation model. When three or more access points estimate separation distances
in this manner, an estimated location of the mobile device may be calculated by the
server using the known locations of the access points, the three range estimates and
well known trilateration algorithms.
[0030] FIG. 3 is a system block diagram illustrating another embodiment system enabling
network based positioning and group creation. The network may include access points
312, 314, 316, and 318 (e.g., Wi-Fi® access points, Wi-Fi® beacons, Wi-Fi® transceivers,
Wi-Fi® routers, etc.) connected to a server 309 via connections A, B, C, and D respectively.
Connections A, B, C, and D may be any type connections, such as wired and/or wireless
connections (e.g., connections via a local area network and/or the Internet) enabling
the server 209 and access points 312, 314, 316, and 318 to exchange information. In
an embodiment, a memory available to the server 309 may include coverage maps associated
with each access point 312, 314, 316, and 318 which may correlate the signal arc (e.g.,
signal propagation area) covered by an access point with the geographic coordinates
(e.g., latitude, longitude, and/or elevation) encompassed by the signal arc. In a
further embodiment, a coverage map may also correlate signal characteristics, such
as a quality of service measurements, error rate measurements, signal strength measurements,
etc., with geographic coordinates encompassed by the signal arc of the access point.
In an embodiment, pairing zones 319 and 308 may be defined. The pairing zones 319
and 308 may be geographic locations defined in a memory available to the server 309,
and mobile devices located within the pairing zone 319 and 308 may be added to groups
by the server 309. As an example, pairing zone 319 may be a geographic area located
in front of a billboard 310 and a trigger, such as a requirement that a mobile device
linger in the pairing zone 319 for a period of time (e.g., five seconds) may be associated
with the pairing zone 319. As another example, pairing zone 320 may be a specific
room or area of a venue 302, such as an executive area 308, and a trigger, such as
crossing a geographic boundary from the small vendor area 306 to the executive area
308, may be associated with the pairing zone 308.
[0031] In an embodiment, the network may determine the location of users carrying mobile
devices, such as User A carrying mobile device 320, User B carrying mobile device
322, User C carrying mobile device 324, User D carrying mobile device 326, and User
E carrying mobile device 328, based on the communications between the mobile devices
320, 322, 324, 326, and/or 328 and the access points 312, 314, 316, and 318, such
as network management signals sent/received by the mobile devices 320, 322, 324, 326,
and/or 328 and the access points 312, 314, 316, and 318. In an embodiment, the server
309 may determine the location of the mobile devices 320, 322, 324, 326, and/or 328
based on comparing the access points 312, 314, 316, and 318 to which the mobile devices
320, 322, 324, 326, and/or 328 are communicating with to coverage maps of the access
points 312, 314, 316, and 318. In an embodiment, the location of the mobile devices
320, 322, 324, 326, and/or 328 may be based on trilateration between the access points
312, 314, 316, and 318. In an embodiment, the location of the mobile devices 320,
322, 324, 326, and/or 328 may be based on characteristics of the connections between
the mobile devices 320, 322, 324, 326, and/or 328 the access points 312, 314, 316,
and 318. In this manner, though the mobile devices 320, 322, 324, 326, and/or 328
may only be in communication with one access point 312, 314, 316, or 318, characteristics
of the connections may be compared to the coverage maps of the access point 312, 314,
316, or 318 to determine the location of the mobile device. As an example, mobile
device 320 may only be in communication with access point 318 when User A is in the
small vendor area 306 and executive area 308, but the server 309 may determine User
A's location is in the executive area 308 versus the small vendor area 306 because
the signal strength measurements in the executive area 308 which is farther from the
access point 318 may be lower than measurements in the small vendor area 306. In an
embodiment, connection characteristics may be determined at least in part based on
information, including measurements, received from the mobile devices 320, 322, 324,
326, and/or 328. In various embodiments, the location of the mobile device may be
determined based on signal information available to the network or to a mobile device.
[0032] As an example, the venue 302 may be a tradeshow attended by various attendees, such
as executives, vendors, etc. Users A, B, C, D, and E may be attendees each carrying
mobile devices 320, 322, 324, 326, and 328, respectively. The server 309 may track
the location of mobile devices 320, 322, 324, 326, and 328 as Users A, B, C, D, and
E travel through the tradeshow. The server 309 may establish two groups, one advertiser
group related to pairing zone 319 and an executive group related to pairing zone 308.
User A may travel into the pairing zone 319 to view an advertisement on the billboard
310. The server 309 may determine User A is located in the pairing zone 319, and may
determine whether the time User A remains in the pairing zone 319 meets or exceeds
a trigger time period associated with the pairing zone 319. User A may remain in the
pairing zone 319 for 20 seconds which may exceed the trigger time period and server
309 may add mobile device 320 and/or User A to the advertising group associated with
pairing zone 319. User A may travel to the small vendor area 306. At a later time,
User B may travel to the pairing zone 319. The server 309 may determine User B is
located in the pairing zone 319, and may determine whether the time User B remains
in the pairing zone 319 meets or exceeds a trigger time period associated with the
pairing zone 319. User B may remain in the pairing zone 319 for 25 seconds which may
exceed the trigger time period and server 309 may add mobile device 322 and/or User
B to the advertising group associated with pairing zone 319. In this manner, though
User A and User B were not in the pairing zone 319 at the same time, the server 309
may add both Users A and B and/or their mobile devices 320 and 322 to the same group.
Once added to the advertiser group, Users A and B and/or their mobile devices 320
and 322 may receive rewards, coupons, information, etc. from the advertiser who place
the billboard 310 in the venue 302.
[0033] In a further example, User A may travel from the small vendor area 306 to the executive
area 308. The server 309 may determine User A is located in the pairing zone 308 (i.e.,
the executive area 308), and may determine User A entering the executive area 308
from the small vendor area 306 indicates that User A crossed the geographic boundary
between the small vendor area 306 and executive area 308. The server 309 may 308.
User E may have been previously added to the executive group because User E's mobile
device 328 was already identified as being in the pairing zone 308 associated with
the executive group. Users C and D may not be added to the executive group because
the server 309 may determine their mobile devices 324 and 326, respectively, did not
enter the executive area 308. Once added to the executive group, Users A and E and/or
their mobile devices 320 and 328 may receive rewards, coupons, information, etc. intended
only for executives. In an embodiment, the executive group members may also be presented
with a location challenge, such as a location challenge offering them a discount on
small vendor services should they visit the small vendor area 306. The server 309
may determine the User A has completed the location challenge because mobile device
320 was present in the small vendor area 306 and may send a reward, such as a discount,
to User A and/or mobile device 320.
[0034] FIG. 4 illustrates an embodiment method 400 for creating and/or adding a mobile device
to a group. In an embodiment, the operations of method 400 may be performed by a server
in a wireless network, such as a Wi-Fi® network. In an optional embodiment, in optional
block 401 the server may correlate mobile device information with user information.
As an example, the server may receive a user registration including user information,
such as name, address, photo, etc., from a mobile device and may associate the MAC
ID and/or IP address of the device with the user information. In block 402 the server
may determine the location of the mobile device based on network interactions with
the mobile device, such as a network management signal received from the mobile device.
In an embodiment, the server may determine the location of the mobile device by determining
one or more access points (e.g., Wi-Fi® access points, Wi-Fi® beacons, Wi-Fi® transceivers,
Wi-Fi® routers, etc.) to which the mobile device is available at a given time based
on network management signals, such as probe requests or other queries sent by the
mobile device and comparing coverage maps for the one or more access points to identify
the location (e.g., longitude, latitude, and/or elevation) of the mobile device. Various
methods for location determination may be used by the server, such as trilateration.
Methods for determining location in the server are discussed further below with reference
to FIG. 10. In determination block 404 the server may determine whether the mobile
device is located in a pairing zone. In an embodiment, the server may determine the
mobile device is located in a pairing zone by comparing the determined location of
the mobile device to predefined coordinates of a pairing zone stored in a memory available
to the server. A pairing zone may be of any shape, such as a circle of a radius from
a predetermined point, a room, a triangle, a trapezoid, etc. If the server determines
the mobile device is not in the pairing zone (i.e., determination block 404 = "No"),
in block 406 the server may not add the mobile device to a group. If the server determines
the mobile device is in the pairing zone (i.e., determination block 404 = "Yes"),
in block 408 the server may add the mobile device to a group. In an embodiment, the
group may be an already established group defined in a memory of available to the
server. In another embodiment, adding the mobile device to a group may include creating
a group when a group is not already established.
[0035] FIG. 5 illustrates an embodiment method 500 similar to method 400 described above
with reference to FIG. 4, except that in method 500 the mobile device may not be added
to a group unless a trigger has occurred. In an embodiment, the operations of method
500 may be performed by a server in a wireless network, such as a Wi-Fi® network.
In block 402, 404, and 406 the server may perform operations of like numbered blocks
of method 400 described above with reference to FIG. 4. If the server determines the
mobile device is located in the pairing zone (i.e., determination block 404 = "Yes"),
in determination block 502 the server may determine whether a trigger has occurred.
In an embodiment, a trigger may be a time period, crossing of a geographic boundary,
providing of information, and/or other environmental factor. As an example, a trigger
may be a minimum time period, such as 10 seconds, for which a mobile device must remain
in a pairing zone to be added to a group. As an example, geographic boundary may be
a line over which a mobile device must have crossed to be added to a group. As an
example, information may be information sent from the mobile device, such as a user
registration, HTTP GET request, etc. As another example, an environmental factor may
the mobile device being present in the pairing zone at a certain time, such as between
1:00PM and 1:30PM. As a further example, an environmental factor may be the mobile
device being in the pairing zone at the same time as another individual and/or mobile
device. If the server determines the trigger did not occur (i.e., determination block
502 = "No"), as discussed above, in block 406 the server may not add the mobile device
to the group. If the server determines the trigger did occur (i.e., determination
block 502 = "Yes"), as discussed above, in block 408 the server may add the mobile
device to the group.
[0036] FIG. 6 illustrates an embodiment method 600 for adding mobile devices identified
within a pairing zone to a group. In an embodiment, the operations of method 600 may
be performed by a server in a wireless network, such as a Wi-Fi® network. In block
602 the server may receive a pairing indication. In an embodiment, a pairing indication
may be an indication to pair a given mobile device with other mobile devices in a
group. As an example, a pairing indication may be an HTTP GET request from a mobile
device in a pairing zone corresponding to a group creation page hosted by the server.
As discussed above in block 402 the server may determine the location of the mobile
device based on a network management signal from the mobile device. In a further embodiment,
a pairing indication may include information, such a group name. In block 604 the
server may identify one or more other mobile devices located in the pairing zone with
the mobile device associated with the pairing indication. In an embodiment, the pairing
zone may be a predefined geographic location, such as a circle defined at an amusement
park entrance, in which mobile devices must be located to be paired. In another embodiment,
a pairing zone may be a radius around the mobile device associated with the pairing
indication and the geographic location may vary for each pairing indication received
by the server. In this manner, pairing zones may be created by the server in any geographic
location and of any size. In an embodiment, the server may determine the location
of each other mobile device and may use the location determinations to identify whether
the other mobile devices are within the pairing zone. As discussed above, in an optional
embodiment, in block 502 the server may determine whether a trigger event has occurred.
If the trigger has not occurred (i.e., determination block 502 = "No"), in block 606
the server may indicate a pairing error the mobile device associated with the pairing
indication and/or the other mobile devices. If the trigger has occurred (i.e., determination
block 502 = "Yes"), in block 608 the server may add the mobile device and any identified
mobile devices to a group. In an embodiment, a group may be created for the mobile
devices when the group does not already exist, and the mobile devices may be added
to the newly created group. In an embodiment, the group may be named and/or other
properties of the group controlled based at least in part on information in the pairing
indication. In an embodiment, adding the mobile device and any identified mobile devices
to the group may include generating a data table listing the MAC IDs and/or IP addresses
of the mobile devices in a memory available to the server.
[0037] In block 610, the server may receive a group location request. In an embodiment,
a group location request may be an HTTP GET request for content associated with a
venue and/or the group. As an example, a group location request may be a request for
a map of an amusement park the group members may be visiting. In block 612 the server
may determine the location of all group members. As an example, the server may determine
the location of all group members based on trilateration based on communications between
the various group member mobile devices and access points (e.g., Wi-Fi® access points,
Wi-Fi® beacons, Wi-Fi® transceivers, Wi-Fi® routers, etc.) throughout a wireless network
(e.g., Wi-Fi® network). In block 614 the server may generate a group location indication
of all group member mobile devices. In an embodiment, the group location indication
may be a modification to content to include the location information of each group
member mobile device thereby creating contextual content. As an example, the location
indication may be a map of an amusement park modified to show the current location
of all group members. In block 616 the server may send the group indication to one
or more mobile devices of the group.
[0038] FIG. 7 illustrates an embodiment method 700 for sending a group reward based on the
completion of a group location challenge. The operations of method 700 may be performed
in conjunction with the operations of methods 400, 500, and/or 600 described above.
In an embodiment, the operations of method 700 may be performed by a server in a wireless
network, such as a Wi-Fi® network. In blocks 602, 402, 604, and 608 the server may
perform operations of like numbered blocks of method 600 described above with reference
to FIG. 6. In block 702 the server may initiate a group location based challenge.
A group location based challenge may be a scavenger hunt type game, in which the group
members are challenged to visit one or more locations in return for a reward for all
members or the group and/or a winning portion of the group members. As an example,
a group location based challenge may be provide reward points or prize points for
visiting different areas of an amusement park, convention, tradeshow, etc. As another
example, a group location based challenge may provide coupons to the group if all
members visit a certain booth or advertisement. In block 704 the server may send the
group location challenge indication to the group members. As an example, the server
may send the indication as a banner displayed within content rendered by the mobile
device, as an email, text message, pop-up add, etc. In block 706 the server may track
the location of all group members. In determination block 708 the server may determine
whether the group location challenge has been completed. If server determines the
challenge has not been completed (i.e., determination block 708 = "No"), in block
706 the server may continue to track the location all group member mobile devices.
If server determines the group location challenge is completed (i.e., determination
block 708 = "Yes"), in block 710 the server may send the group reward and/or individual
reward. In this manner rewards may be provided to individuals and/or groups based
on group location challenge completion. As examples, rewards may include coupons,
discounts, tokens, badges, advertisements, information, further challenges, tickets,
prizes, points, etc.
[0039] FIG. 8 illustrates an embodiment method 800 for sending individual rewards to group
members based on trigger locations and/or events. The operations of method 800 may
be performed in conjunction with the operations of methods 400, 500, 600, and/or 700
described above. In an embodiment, the operations of method 800 may be performed by
a server in a wireless network, such as a Wi-Fi® network. In blocks 402, 404, 406,
and 408 the server may perform operations of like numbered blocks of FIG. 400 described
above with reference to FIG. 4. In block 802 the server may send a group advertisement,
application, token, etc. to one or more mobile device in the group. As an example,
the server may provide a coupon to the mobile device merely for joining a group. In
block 804 the server may enable intergroup communication between the mobile devices
in the group. In an embodiment, group communication may be enabled by providing web
based instant messaging functions, email capability, streaming text feeds, message
boards, photo sharing, file sharing, etc. As discussed above in block 706 the server
may track the location of all the group mobile devices. In determination block 806
the server may determine whether a trigger location and/or event occurred for a group
member. As an example, the server may determine whether an individual group member
entered a specific area and/or sent specific information to the server. If server
determines the trigger did not occur (i.e., determination block 806 = "No"), in block
706 the server may continue to track the location of all group mobile devices. If
the server determines the trigger did occur (i.e., determination block 806 = "Yes"),
in block 808 the server may send the individual reward(s) to the group member. As
examples, individual rewards may include coupons, discounts, tokens, badges, advertisements,
information, further challenges, tickets, prizes, points, etc. sent to one member
of the group.
[0040] FIG. 9 illustrates an embodiment method 900 for sending a group reward based on the
completion of a group location challenge. The operations of method 900 may be performed
in conjunction with the operations of methods 400, 500, 600, 700, and/or 800 described
above. In an embodiment, the operations of method 900 may be performed by a server
in a wireless network, such as a Wi-Fi® network. As discussed above, in block 402
the server may determine the location of the mobile device based on a network management
signal, and in determination block 404 may determine whether the mobile device may
be located in the pairing zone. If the server determines the mobile device is not
in the pairing zone (i.e., determination block 404 = "No"), as discussed above, in
block 406 the server may not add the mobile device to a group. If the server determines
the mobile device is located in the pairing zone (i.e., determination block 404 =
"Yes"), as discussed above, in block 408 the server may add the mobile device to a
group. As discussed above in block 702 the server may initiate a group location based
challenge. As discussed above, in block 704 the server may send a group location challenge
indication, and in block 706 may track the location of all group mobile devices. As
discussed above, in determination block 708 the server may determine whether the group
location challenge is completed. If the server determines the challenge is not completed
(i.e., determination block 708 = "No"), in block 706 the server may continue to track
the location of all group mobile devices. If the server determines the challenge is
completed (i.e., determination block 710 = "Yes"), as discussed above, in block 710
the server may send the group reward and/or individual rewards.
[0041] FIG. 10 illustrates an embodiment method 1000 for determining the location of a mobile
device. The operations of method 1000 may be performed in conjunction with the operations
of methods 400, 500, 600, 700, 800, and/or 900 described above. In an embodiment,
the operations of method 1000 may be performed by a server in a wireless network,
such as a Wi-Fi® network. In block 1002 the server may receive a mobile device indication
from an access point. In an embodiment, a mobile device indication may be an indication
that the mobile device has communicated with and/or connected with the access point.
As an example, mobile device indication may be a MAC ID and/or IP address of a mobile
device provided to an access point (e.g., Wi-Fi® access points, Wi-Fi® beacons, Wi-Fi®
transceivers, Wi-Fi® routers, etc.) from the mobile device as part of a network management
communication exchange between the access point and mobile device (e.g., a dynamic
host configuration protocol ("DCHP") message exchange, Wi-Fi® message exchange, etc.).
In block 1004 the server may search for the mobile device at other access points.
As an example, the server may poll other access points to determine whether the other
access points can establish communications with the mobile device. As another example,
the server may compare the MAC ID and/or IP address of the mobile device to a list
of MAC IDs and/or IP addresses for associated mobile devices for each access point
to identify a match for the mobile device.
[0042] In determination block 1006 the server may determine whether the mobile device is
available to other access points. As an example, the mobile device may be available
to other access points when the other access points are in communication with the
mobile device. If the server determines the mobile device is available to other access
points (i.e., determination block 1006 = "Yes"), in block 1008 the server may compare
the coverage maps of the access points to determine the location of the mobile device.
In an embodiment, comparing the coverage maps of the access points to determine the
location of the mobile device may include performing trilateration to identify the
latitude, longitude, and/or elevation of the mobile device. If the server determines
the mobile device is not available to other access points (i.e., determination block
1006 = "No"), in block 1010 the server may determine the characteristics of the connection
between the mobile device and the access point. In an embodiment, connection characteristics
may include quality of server, signal strength, and error rate measurements. In an
embodiment, the connection characteristics may be determined based on information
received from the mobile device at the access point provided to the server. In block
1012 the server may compare the characteristics of the connection to an access point
coverage map to determine the location of the mobile device. In an embodiment, the
coverage map may correlate the connection characteristics with location information
(e.g., latitude, longitude, and/or elevation) of the geographic area covered by the
signal from the access point.
[0043] FIG. 11 is a system block diagram illustrating a system and message flows according
to an embodiment for establishing a group and providing contextual content to a group
of mobile devices 1102, 1104, 1106, 1108. FIG. 11 illustrates an embodiment in which
a contextual map of a venue (e.g., a theme park) showing the location of the mobile
devices 1102, 1104, 1106, 1108may be provided to the group. Initially, the mobile
devices 1102, 1104, 1106, 1108 may be located in a pairing zone and be in communication
with wireless communication routers (e.g., WiFi routers) 1110, 1112, and 1114, which
in turn communicate with a network router 1116 and added to the same group based on
being in the same location, i.e., the pairing zone. Upon pairing the group may be
defined by the creation of a position mapper table 1121 for the mobile devices 1102,
1104, 1106, 1108 in the group in a memory available to a position mapper application
1119 running on a proxy server 1118. The IP address and MAC ID of each mobile device
1102, 1104, 1106, 1108 in the group may be added to the position mapper table 1121
and may be correlated with the last location x,y,z (e.g., longitude, latitude, and
elevation) determined for the respective mobile device 1102, 1104, 1106, 1108 and
a timestamp of when the location determination occurred. The location may be determined
by a location engine 1120 which may provide location fixes to the position mapper
application 1119. An example of a location engine 1120 that may be used is the IZat™
product marketed by Qualcomm, Inc. In an embodiment, the position mapper table 1121
may be governed by rules, such as if an IP address or MAC ID is new, a fix should
be requested, if a timestamp is greater than a defined threshold, request a new fix,
if a time stamp is less than a defined threshold take no action, and if the user is
located outside the venue, redirect the user to another URL, etc. In this manner,
the position mapper table 1121 may be continually updated with current location information
for each mobile device 1102, 1104, 1106, 1108 in the group and the mobile devices
1102, 1104, 1106, 1108, in the group may be tracked.
[0044] A mobile device 1104 may send an HTTP GET request for a URL of a server 1122 associated
with the venue (e.g., www.themepark.com) via a wireless access point 1110, 1112, and
1114. In an embodiment, the venue's URL may be associated with a map of the venue.
The proxy server 1118 may receive the request from the mobile device 1104 via an access
point 1110, 1112, and 1114 and the position mapper application 1119 may determine
that the mobile device 1104 is part of a group defined in the position mapper table
1121 based on the IP address and/or MAC ID received in the HTTP GET request. The position
mapper application 1119 may interface with the location engine 1120 to fix the location
of all the group member mobile devices and may modify the HTTP GET request with location
information for the group member mobile devices, for example changing the requested
URL to a URL for the nearest place associated with a URL (e.g., www.themepark.com/place1).
The proxy server 1118 may send the request to the venue server 1122 and receive the
content associated with the modified URL. The proxy server 1118 may then modify the
content to include location information for the group members, such as graphical representations
of their location in the venue and provide the contextual content to the mobile device
1104 for display by a web browser of the mobile device 1104. In this manner, the mobile
device 1104 may display the location of the group member mobile devices 1102, 1104,
1106, 1108 without requiring position determination capability on each mobile device
1102, 1104, 1106, 1108 or specific location applications to be downloaded to each
mobile device.
[0045] FIG. 12 is a message flow diagram illustrating example message flows in the embodiment
system illustrated in FIG. 11. Initially the mobile device 1104 may establish a connection
with the router 1116. The router 1116 may assign an IP address to the mobile device
1104 and the router, switch, proxy server 1118, and position mapper application 1119
may map the IP address to a MAC ID. The position mapper application 1119 may continually
poll the router 1116 and/or other access points to track and fix the location of the
mobile device 1104 using the location engine 1120 (e.g., IZat™) and may update the
position mapper table 1121 accordingly. The router 1116 may provide the IP address
to the mobile device 1104. Non-venue related traffic may be handled according to standard
protocols. A HTTP GET request related to the URL of the venue server 1122 (e.g., www.themepark.com)
may be identified by the proxy server 1118 for special handling, and based on the
current fix, or a new fix if the current fix is aged out, the current location of
one or more group member mobile devices may be provided from the position mapper application
1119 and the HTTP GET Request header information may be modified (e.g., by an Internet
Content Adaption Protocol ("ICAP") type program) at the proxy server 1118 to modify
the URL to a URL associated with the location of the mobile device (e.g., www.themepark.com/place1)
as discussed above. The venue web server 1122 may return the contextual content associated
with the URL, the proxy server may modify the contextual content, and the contextual
content may be provided back through the venue's network to the mobile device 1104.
[0046] The various embodiments may be implemented in any of a variety of mobile devices,
an example of which is illustrated in FIG. 13. For example, the mobile device 1300
may include a processor 1302 coupled to internal memories 1304 and 1310. Internal
memories 1304 and 1310 may be volatile or non-volatile memories, and may also be secure
and/or encrypted memories, or unsecure and/or unencrypted memories, or any combination
thereof. The processor 1302 may also be coupled to a touch screen display 1306, such
as a resistive-sensing touch screen, capacitive-sensing touch screen infrared sensing
touch screen, or the like. Additionally, the display of the mobile device 1300 need
not have touch screen capability. Additionally, the mobile device 1300 may have one
or more antenna 1308 for sending and receiving electromagnetic radiation that may
be connected to a wireless data link (e.g., Wi-Fi®, Bluetooth®, or any other type
data link) and/or cellular telephone transceiver 1316 coupled to the processor 1302
for establishing network interface connections with a network, such as a local area
network including wireless access points (e.g., Wi-Fi® access points) coupled to other
system computers and servers, the Internet, the public switched telephone network,
and/or a cellular network (e.g., CDMA, TDMA, GSM, PCS, 3G, 4G, LTE, or any other type
of cellular network). The mobile device 1300 may also include physical buttons 1312a
and 1312b for receiving user inputs. The mobile device 1300 may also include a power
button 1318 for turning the mobile device 1300 on and off.
[0047] The various embodiments may also be implemented on any of a variety of commercially
available server devices, such as the server 1400 illustrated in FIG. 14. Such a server
1400 typically includes a processor 1401 coupled to volatile memory 1402 and a large
capacity nonvolatile memory, such as a disk drive 1403. The server 1400 may also include
a floppy disc drive, compact disc (CD) or DVD disc drive 1406 coupled to the processor
1401. The server 1400 may also include network access ports 1404 coupled to the processor
1401 for establishing network interface connections with a network 1407, such as a
local area network including wireless access points (e.g., Wi-Fi® access points) coupled
to other system computers and servers, the Internet, the public switched telephone
network, and/or a cellular network (e.g., CDMA, TDMA, GSM, PCS, 3G, 4G, LTE, or any
other type of cellular network).
[0048] The processors 1302 and 1401 may be any programmable microprocessor, microcomputer
or multiple processor chip or chips that can be configured by software instructions
(applications) to perform a variety of functions, including the functions of the various
embodiments described above. In some devices, multiple processors may be provided,
such as one processor dedicated to wireless communication functions and one processor
dedicated to running other applications. Typically, software applications may be stored
in the internal memory 1304, 1310, 1402, and 1403 before they are accessed and loaded
into the processors 1302 and 1401. The processors 1302 and 1401 may include internal
memory sufficient to store the application software instructions. In many devices
the internal memory may be a volatile or nonvolatile memory, such as flash memory,
or a mixture of both. For the purposes of this description, a general reference to
memory refers to memory accessible by the processors 1302 and 1401 including internal
memory or removable memory plugged into the device and memory within the processor
1302 and 1401 themselves.
[0049] The foregoing method descriptions and the process flow diagrams are provided merely
as illustrative examples and are not intended to require or imply that the steps of
the various embodiments must be performed in the order presented. As will be appreciated
by one of skill in the art the order of steps in the foregoing embodiments may be
performed in any order. Words such as "thereafter," "then," "next," etc. are not intended
to limit the order of the steps; these words are simply used to guide the reader through
the description of the methods. Further, any reference to claim elements in the singular,
for example, using the articles "a," "an" or "the" is not to be construed as limiting
the element to the singular.
[0050] The various illustrative logical blocks, modules, circuits, and algorithm steps described
in connection with the embodiments disclosed herein may be implemented as electronic
hardware, computer software, or combinations of both. To clearly illustrate this interchangeability
of hardware and software, various illustrative components, blocks, modules, circuits,
and steps have been described above generally in terms of their functionality. Whether
such functionality is implemented as hardware or software depends upon the particular
application and design constraints imposed on the overall system. Skilled artisans
may implement the described functionality in varying ways for each particular application,
but such implementation decisions should not be interpreted as causing a departure
from the scope of the present invention.
[0051] The hardware used to implement the various illustrative logics, logical blocks, modules,
and circuits described in connection with the aspects disclosed herein may be implemented
or performed with a general purpose processor, a digital signal processor (DSP), an
application specific integrated circuit (ASIC), a field programmable gate array (FPGA)
or other programmable logic device, discrete gate or transistor logic, discrete hardware
components, or any combination thereof designed to perform the functions described
herein. A general-purpose processor may be a microprocessor, but, in the alternative,
the processor may be any conventional processor, controller, microcontroller, or state
machine. A processor may also be implemented as a combination of computing devices,
e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors,
one or more microprocessors in conjunction with a DSP core, or any other such configuration.
Alternatively, some steps or methods may be performed by circuitry that is specific
to a given function.
[0052] In one or more exemplary aspects, the functions described may be implemented in hardware,
software, firmware, or any combination thereof. If implemented in software, the functions
may be stored as one or more instructions or code on a non-transitory computer-readable
medium, non-transitory processor-readable medium, or non-transitory server readable
medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable
and/or server-executable software module which may reside on a non-transitory computer-readable,
non-transitory processor-readable medium, or non-transitory server readable medium.
Non-transitory computer-readable media, non-transitory processor-readable media, or
non-transitory server readable media may be any storage media that may be accessed
by a computer, processor, or a server. By way of example but not limitation, such
non-transitory computer-readable, processor-readable, or server-readable media may
include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic
disk storage or other magnetic storage devices, or any other medium that may be used
to store desired program code in the form of instructions or data structures and that
may be accessed by a computer. Disk and disc, as used herein, includes compact disc
(CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray
disc where disks usually reproduce data magnetically, while discs reproduce data optically
with lasers. Combinations of the above are also included within the scope of non-transitory
computer-readable, processor- readable, and server-readable media. Additionally, the
operations of a method or algorithm may reside as one or any combination or set of
codes and/or instructions on a non-transitory server-readable medium, processor-readable
medium, and/or computer- readable medium, which may be incorporated into a computer
program product.
[0053] The preceding description of the disclosed embodiments is provided to enable any
person skilled in the art to make or use the present invention. Various modifications
to these embodiments will be readily apparent to those skilled in the art without
departing from the scope of the invention. Thus, the present invention is not intended
to be limited to the embodiments shown herein but is to be accorded the widest scope
consistent with the following.
1. A method for creating a group, comprising:
determining in a server (207) a location of a mobile device (214, 216, 218, 220);
determining in the server (207) whether the mobile device (214, 216, 218, 220) is
located in a pairing zone (226) based on the determined location of the mobile device
(214, 216, 218, 220); and
adding the mobile device (214, 216, 218, 220) to the group maintained by the server
(207) upon determining the mobile device (214, 216, 218, 220) is located in the pairing
zone (226);
characterized in that determining in the server (207) a location of the mobile device (214, 216, 218, 220)
comprises:
determining in the server (207) one or more WiFi access points (202, 204, 206) to
which the mobile device (214, 216, 218, 220) is available at a time based on an access
point probe request received from the mobile device (214, 216, 218, 220); and
comparing in the server coverage maps (208, 210, 212) for the determined one or more
WiFi access points (202, 204, 206) to determine a location of the mobile device (214,
216, 218, 220).
2. The method of claim 1, wherein:
the determined one or more WiFi access points (202, 204, 206) comprise at least three
WiFi access points; and
comparing in the server coverage maps (208, 210, 212) for the determined one or more
WiFi access points (202, 204, 206) to determine a location of the mobile device (214,
216, 218, 220) comprises performing trilateration in the server (207) based at least
in part on the coverage maps (208, 210, 212) of the determined at least three WiFi
access points (202, 204, 206) to determine a location of the mobile device (214, 216,
218, 220).
3. The method of claim 1, wherein determining in the server (207) a location of the mobile
device (214, 216, 218, 220) further comprises:
determining characteristics of connections between the determined one or more WiFi
access points (202, 204, 206) and the mobile device (214, 216, 218, 220) at the time;
and
comparing in the server (207) the determined characteristics of connections between
the determined one or more WiFi access points (202, 204, 206) to determine a location
of the mobile device (214, 216, 218, 220);
wherein the characteristics of connections are one or more of quality of service,
signal strength, and error rate.
4. The method of claim 1, wherein determining in the server (207) a location of the mobile
device (214, 216, 218, 220) further comprises:
estimating separation distances between the mobile device (214, 216, 218, 220) and
each of three or more WiFi access points (202, 204, 206) based on measured signal
characteristics; and
estimating the location of the mobile device (214, 216, 218, 220) using the estimated
separation distances and known locations of the three or more WiFi access points (202,
204, 206) using a trilateration algorithm;
wherein the signal characteristics are one or more of quality of service, signal strength,
and error rate.
5. The method of claim 1, further comprising:
determining in the server (207) whether a trigger has occurred,
wherein adding the mobile device (214, 216, 218, 220) to the group maintained by the
server (207) upon determining the mobile device (214, 216, 218, 220) is located in
the pairing zone (226) comprises adding the mobile device (214, 216, 218, 220) to
the group maintained by the server (207) upon determining that the mobile device (214,
216, 218, 220) is located in the pairing zone (226) and the trigger has occurred;
wherein the trigger is an expiration of a time period or a mobile device (214, 216,
218, 220) context.
6. The method of claim 1, further comprising:
correlating the mobile device (214, 216, 218, 220) with user information in the server
(207); or
enabling group communications between the mobile device (214, 216, 218, 220) and any
other mobile device (214, 216, 218, 220) that is a member of the group upon adding
the mobile device (214, 216, 218, 220) to the group in the server (207).
7. The method of claim 1, further comprising:
tracking locations of all group member mobile devices (214, 216, 218, 220);
determining in the server (207) whether the mobile device (214, 216, 218, 220) enters
a trigger location and a trigger event occurs; and
sending a reward to the mobile device (214, 216, 218, 220) upon the mobile device
(214, 216, 218, 220) entering the trigger location and the trigger event occurring;
wherein the reward is one or more of a coupon, discount, application, token, and advertisement.
8. The method of claim 1, further comprising:
initiating a group location based challenge;
sending a group location challenge indication to all group member mobile devices (214,
216, 218, 220);
tracking locations of all group member mobile devices (214, 216, 218, 220) in the
server (207);
determining in the server (207) whether the group location challenge is completed;
and
sending a reward to all group member mobile devices (214, 216, 218, 220) upon completion
of the group location challenge;
wherein the reward is one or more of a coupon, discount, application, token, and advertisement.
9. The method of claim 1, further comprising:
receiving a group location request in the server (207);
determining a current location of all group member mobile devices (214, 216, 218,
220); and
generating a group location indication of determined current locations of all group
member mobile devices (214, 216, 218, 220);
wherein the group location indication is a map illustrating the determined current
locations of all group member mobile devices (214, 216, 218, 220).
10. The method of claim 1, further comprising correlating in the server (207) user information
of all mobile devices (214, 216, 218, 220) that are members of the group.
11. The method of claim 1, wherein at least a portion of the operations of the method
are performed as post event data analysis.
12. The method of claim 1, further comprising:
tracking the location of all group member mobile devices (214, 216, 218, 220) in the
server (207) to generate a database of location history information; and
performing analytics on the database of location history information based on the
group.
13. A server, comprising:
means for determining in the server (207) a location of a mobile device (214, 216,
218, 220);
means for determining in the server (207) whether the mobile device (214, 216, 218,
220) is located in a pairing zone (226) based on the determined location of the mobile
device (214, 216, 218, 220); and
means for adding the mobile device (214, 216, 218, 220) to a group maintained by the
server (207) upon determining the mobile device (214, 216, 218, 220) is located in
the pairing zone (226);
characterized in that means for determining in the server (207) a location of the mobile device (214, 216,
218, 220) comprises:
means for determining in the server (207) one or more WiFi access points (202, 204,
206) to which the mobile device (214, 216, 218, 220) is available at a time based
on an access point probe request received from the mobile device (214, 216, 218, 220),;
and
means for comparing in the server coverage maps (208, 210, 212) for the determined
one or more WiFi access points (202, 204, 206) to determine a location of the mobile
device (214, 216, 218, 220).
14. A non-transitory server readable medium having stored thereon server-executable instructions
configured to cause a server to perform the method of claim 1.
1. Ein Verfahren zum Erzeugen einer Gruppe, das Folgendes aufweist:
Bestimmen, in einem Server (207), eines Standorts einer Mobileinrichtung (214, 216,
218, 220);
Bestimmen, in dem Server (207), ob die Mobileinrichtung (214, 216, 218, 220) in einer
Paarungs- bzw. Koppelungszone (226) angeordnet ist basierend auf dem bestimmten Standort
der Mobileinrichtung (214, 216, 218, 220); und
Hinzufügen der Mobileinrichtung (214, 260, 218, 220) zu der Gruppe, die durch den
Server (207) unterhalten wird auf eine Bestimmung hin, dass die Mobileinrichtung (214,
216, 218, 220) in der Koppelungszone (226) angeordnet ist; dadurch gekennzeichnet, dass das Bestimmen, in dem Server (207) eines Standortes der Mobileinrichtung (214, 216,
218, 220) Folgendes aufweist:
Bestimmen, in dem Server (207), eines oder mehrerer WiFi-Zugriffspunkte (202, 204,
206), für welche die Mobileinrichtung (214, 216, 218, 220) zu einer Zeit verfügbar
ist basierend auf einer Zugriffspunktsondierungsanfrage, die von der Mobileinrichtung
(214, 216, 218, 220) empfangen wird; und
Vergleichen, in dem Server, von Abdeckungskarten (208, 210, 212) für die bestimmten
ein oder mehreren WiFi-Zugriffspunkte (202, 204, 206) zum Bestimmen eines Standortes
der Mobileinrichtung (214, 216, 218, 220).
2. Verfahren nach Anspruch 1, wobei:
die bestimmten ein oder mehreren WiFi-Zugriffspunkte (202, 204, 206) wenigstens drei
WiFi-Zugriffspunkte aufweisen; und
Vergleichen, in dem Server, von Abdeckungskarten (208, 210, 212) für die bestimmten
ein oder mehreren WiFi-Zugriffspunkte (202, 204, 206) zum Bestimmen eines Standortes
der Mobileinrichtung (214, 216, 218, 220) Durchführen von Trilateration in dem Server
(207) basierend wenigstens teilweise auf den Abdeckungskarten (208, 210, 212) der
bestimmten wenigstens drei WiFi-Zugriffspunkte (202, 204, 206) zum Bestimmen eines
Standortes der Mobileinrichtung (214, 216, 218, 220) aufweist.
3. Verfahren nach Anspruch 1, wobei das Bestimmen, in dem Server (207), eines Standortes
der Mobileinrichtung (214, 216, 218, 220) weiter Folgendes aufweist:
Bestimmen von Charakteristika von Verbindungen zwischen den bestimmten ein oder mehreren
WiFi-Zugriffspunkten (202, 204, 206) und der Mobileinrichtung (214, 216, 218, 220)
zu der Zeit; und
Vergleichen, in dem Server (207), der bestimmten Charakteristika von Verbindungen
zwischen den bestimmten ein oder mehreren WiFi-Zugriffspunkten (202, 204, 206) zum
Bestimmen eines Standortes der Mobileinrichtung (214, 216, 218, 220);
wobei die Charakteristika von Verbindungen ein oder mehreres von einer Dienstqualität,
Signalstärke und Fehlerrate sind.
4. Verfahren nach Anspruch 1, wobei das Bestimmen, in dem Server (207), eines Standortes
der Mobileinrichtung (214, 216, 218, 220) weiter Folgendes aufweist:
Schätzen von Trennungsdistanzen zwischen der Mobileinrichtung (214, 216, 218, 220)
und jedem von drei oder mehr WiFi-Zugriffspunkten (202, 204, 206) basierend auf gemessenen
Signalcharakteristika; und
Schätzen der Position der Mobileinrichtung (214, 216, 218, 220) unter Verwendung der
geschätzten Trennungsdistanzen und bekannten Standorten der drei oder mehr WiFi-Zugriffspunkte
(202, 204, 206) unter Verwendung eines Trilaterationsalgorithmus;
wobei die Signalcharakteristika ein oder mehreres von einer Dienstqualität, Signalstärke
und Fehlerrate sind.
5. Verfahren nach Anspruch 1, das weiter Folgendes aufweist:
Bestimmen, in dem Server (207), ob ein Auslöser bzw. Trigger aufgetreten ist,
wobei das Hinzufügen der Mobileinrichtung (214, 216, 218, 220) zu der Gruppe, die
durch den Server (207) unterhalten wird, auf Bestimmen hin, dass die Mobileinrichtung
(214, 216, 218, 220) in der Koppelungszone (226) angeordnet ist, Hinzufügen der Mobileinrichtung
(214, 216, 218, 220) zu der Gruppe aufweist, die durch den Server (207) unterhalten
wird auf Bestimmen hin, dass die Mobileinrichtung (214, 216, 218, 220) in der Koppelungszone
(226) angeordnet ist und der Auslöser aufgetreten ist;
wobei der Auslöser ein Ablaufen einer Zeitperiode oder eines Kontextes der Mobileinrichtung
(214, 216, 218, 220) ist.
6. Verfahren nach Anspruch 1, das weiter Folgendes aufweist:
Korrelieren der Mobileinrichtung (214, 216, 218, 220) mit Nutzerinformation in dem
Server (207); oder
Ermöglichen von Gruppenkommunikationen zwischen der Mobileinrichtung (214, 216, 218,
220) und irgendeiner anderen Mobileinrichtung (214, 216, 218, 220), die ein Mitglied
der Gruppe ist, auf Hinzufügen der Mobileinrichtung (214, 216, 218, 220) zu der Gruppe
in dem Server (207) hin.
7. Verfahren nach Anspruch 1, das weiter Folgendes aufweist:
Nachverfolgen von Standorten aller Gruppenmitgliedsmobileinrichtung (214, 216, 218,
220);
Bestimmen, in dem Server (207), ob die Mobileinrichtung (214, 216, 218, 220) in einen
Auslöserstandort eintritt oder ein Auslöserereignis auftritt; und Senden einer Gegenleistung
an die Mobileinrichtung (214, 216, 218, 220) darauf hin, dass die Mobileinrichtung
(214, 216, 218, 220) den Auslöserstandort betritt oder das Auslöserereignis auftritt;
wobei die Gegenleistung ein oder mehreres von einem Coupon, einer Ermäßigung, einer
Anwendung, einem Token bzw. Gutschein und einer Werbung ist.
8. Verfahren nach Anspruch 1, das weiter Folgendes aufweist:
Initiieren einer auf einem Gruppenstandort basierenden Aufgabe;
Senden einer Gruppenstandortaufgabeanzeige an alle Gruppenmitgliedsmobileinrichtungen
(214, 216, 218, 220);
Nachverfolgen von Standorten aller Gruppenmitgliedsmobileinrichtungen (214, 216, 218,
220) in dem Server (207);
Bestimmen, in dem Server (207), ob die Gruppenstandortaufgabe abgeschlossen ist; und
Senden einer Gegenleistung an alle Gruppenmitgliedsmobileinrichtungen (214, 216, 218,
220) auf einen Abschluss der Gruppenstandortaufgabe hin;
wobei die Gegenleistung ein oder mehreres von einem Coupon, einer Ermäßigung, einer
Anwendung, einem Token bzw. Gutschein und einer Werbung ist.
9. Verfahren nach Anspruch 1, das weiter Folgendes aufweist:
Empfangen einer Gruppenstandortanfrage in dem Server (207);
Bestimmen eines aktuellen Standortes aller Gruppenmitgliedsmobileinrichtungen (214,
216, 218, 220); und
Generieren einer Gruppenstandortanzeige von bestimmten aktuellen Standorten aller
Gruppenmitgliedsmobileinrichtungen (214, 216, 218, 220);
wobei die Gruppenstandortanzeige eine Karte ist, die die bestimmten aktuellen Standorte
aller Gruppenmitgliedsmobileinrichtungen (214, 216, 218, 220) veranschaulicht.
10. Verfahren nach Anspruch 1, das weiter Korrelieren, in dem Server (207), von Nutzerinformation
aller Mobileinrichtungen (214, 216, 218, 220), die Mitglieder der Gruppe sind, aufweist.
11. Verfahren nach Anspruch 1, wobei wenigstens ein Teil der Operationen des Verfahrens
als Post-Ereignis-Datenanalyse durchgeführt wird.
12. Verfahren nach Anspruch 1, das weiter Folgendes aufweist:
Nachverfolgen des Standortes aller Gruppenmitgliedsmobileinrichtungen (214, 216, 218,
220) in dem Server (207) zum Generieren einer Datenbank von Standorthistorieninformation;
und
Durchführen von Analysevorgängen auf der Datenbank von Standorthistorieninformation
basierend auf der Gruppe.
13. Ein Server, der Folgendes aufweist:
Mittel zum Bestimmen, in dem Server (207), eines Standorts einer Mobileinrichtung
(214, 216, 218, 220);
Mittel zum Bestimmen, in dem Server (207), ob die Mobileinrichtung (214, 216, 218,
220) in einer Paarungs- bzw. Koppelungszone (226) angeordnet ist basierend auf dem
bestimmten Standort der Mobileinrichtung (214, 216, 218, 220); und
Mittel zum Hinzufügen der Mobileinrichtung (214, 260, 218, 220) zu einer Gruppe, die
durch den Server (207) unterhalten wird, auf eine Bestimmung hin, dass die Mobileinrichtung
(214, 216, 218, 220) in der Koppelungszone (226) angeordnet ist;
dadurch gekennzeichnet, dass die Mittel zum Bestimmen, in dem Server (207), eines Standortes der Mobileinrichtung
(214, 216, 218, 220) Folgendes aufweisen:
Mittel zum Bestimmen, in dem Server (207), eines oder mehrerer WiFi-Zugriffspunkte
(202, 204, 206), für welche die Mobileinrichtung (214, 216, 218, 220) zu einer Zeit
verfügbar ist basierend auf einer Zugriffspunktsondierungsanfrage, die von der Mobileinrichtung
(214, 216, 218, 220) empfangen wird; und
Mittel zum Vergleichen, in dem Server, von Abdeckungskarten (208, 210, 212) für die
bestimmten ein oder mehreren WiFi-Zugriffspunkte (202, 204, 206) zum Bestimmen eines
Standortes der Mobileinrichtung (214, 216, 218, 220).
14. Ein nicht transitorisches serverlesbares Medium mit darauf gespeicherten, von einem
Server ausführbaren Instruktionen, die konfiguriert sind einen Server zu veranlassen,
das Verfahren nach Anspruch 1 durchzuführen.
1. Un procédé de création d'un groupe, comprenant :
la détermination dans un serveur (207) d'un emplacement d'un dispositif mobile (214,
216, 218, 220),
la détermination dans le serveur (207) si le dispositif mobile (214, 216, 218, 220)
se trouve dans une zone d'appariement (226) en fonction de l'emplacement déterminé
du dispositif mobile (214, 216, 218, 220), et
l'ajout du dispositif mobile (214, 216, 218, 220) au groupe entretenu par le serveur
(207) après la détermination que le dispositif mobile (214, 216, 218, 220) se trouve
dans la zone d'appariement (226),
caractérisé en ce que la détermination dans le serveur (207) d'un emplacement du dispositif mobile (214,
216, 218, 220) comprend :
la détermination dans le serveur (207) d'un ou de plusieurs points d'accès WiFi (202,
204, 206) pour lesquels le dispositif mobile (214, 216, 218, 220) est disponible à
un instant en fonction d'une demande de sondage de point d'accès reçue du dispositif
mobile (214, 216, 218, 220), et
la comparaison dans le serveur de cartes de couverture (208, 210, 212) pour les un
ou plusieurs points d'accès WiFi déterminés (202, 204, 206) de façon à déterminer
un emplacement du dispositif mobile (214, 216, 218, 220).
2. Le procédé selon la Revendication 1, où :
les un ou plusieurs points d'accès WiFi déterminés (202, 204, 206) comprennent au
moins trois points d'accès WiFi, et
la comparaison dans le serveur de cartes de couverture (208, 210, 212) pour les un
ou plusieurs points d'accès WiFi déterminés (202, 204, 206) de façon à déterminer
un emplacement du dispositif mobile (214, 216, 218, 220) comprend l'exécution d'une
trilatération dans le serveur (207) en fonction au moins en partie des cartes de couverture
(208, 210, 212) des au moins trois points d'accès WiFi déterminés (202, 204, 206)
de façon à déterminer un emplacement du dispositif mobile (214, 216, 218, 220).
3. Le procédé selon la Revendication 1, où la détermination dans le serveur (207) d'un
emplacement du dispositif mobile (214, 216, 218, 220) comprend en outre :
la détermination de caractéristiques de connexions entre les un ou plusieurs points
d'accès WiFi déterminés (202, 204, 206) et le dispositif mobile (214, 216, 218, 220)
à l'instant, et
la comparaison dans le serveur (207) des caractéristiques de connexions déterminées
entre les un ou plusieurs points d'accès WiFi déterminés (202, 204, 206) de façon
à déterminer un emplacement du dispositif mobile (214, 216, 218, 220),
où les caractéristiques de connexions sont une ou plusieurs caractéristiques parmi
qualité de service, intensité de signal et taux d'erreur.
4. Le procédé selon la Revendication 1, où la détermination dans le serveur (207) d'un
emplacement du dispositif mobile (214, 216, 218, 220) comprend en outre :
l'estimation de distances de séparation entre le dispositif mobile (214, 216, 218,
220) et chacun de trois ou plus points d'accès WiFi (202, 204, 206) en fonction de
caractéristiques de signal mesurées, et
l'estimation de l'emplacement du dispositif mobile (214, 216, 218, 220) au moyen des
distances de séparation estimées et d'emplacements connus des trois ou plus points
d'accès WiFi (202, 204, 206) au moyen d'un algorithme de trilatération,
où les caractéristiques de signal sont une ou plusieurs caractéristiques parmi qualité
de service, intensité de signal et taux d'erreur.
5. Le procédé selon la Revendication 1, comprenant en outre :
la détermination dans le serveur (207) si un déclencheur s'est produit,
où l'ajout du dispositif mobile (214, 216, 218, 220) au groupe entretenu par le serveur
(207), après la détermination que le dispositif mobile (214, 216, 218, 220) se trouve
dans la zone d'appariement (226), comprend l'ajout du dispositif mobile (214, 216,
218, 220) au groupe entretenu par le serveur (207) après la détermination que le dispositif
mobile (214, 216, 218, 220) se trouve dans la zone d'appariement (226) et que le déclencheur
s'est produit,
où le déclencheur est une expiration d'une période temporelle ou un contexte de dispositif
mobile (214, 216, 218, 220).
6. Le procédé selon la Revendication 1, comprenant en outre :
la corrélation du dispositif mobile (214, 216, 218, 220) avec des informations d'utilisateur
dans le serveur (207), ou
l'activation de communications de groupe entre le dispositif mobile (214, 216, 218,
220) et tout autre dispositif mobile (214, 216, 218, 220) qui est un membre du groupe
après l'ajout du dispositif mobile (214, 216, 218, 220) au groupe dans le serveur
(207).
7. Le procédé selon la Revendication 1, comprenant en outre :
le suivi d'emplacements de la totalité des dispositifs mobiles membres du groupe (214,
216, 218, 220),
la détermination dans le serveur (207) si le dispositif mobile (214, 216, 218, 220)
entre dans un emplacement déclencheur et qu'un événement déclencheur se produit, et
l'envoi d'une récompense au dispositif mobile (214, 216, 218, 220) après l'entrée
par le dispositif mobile (214, 216, 218, 220) dans l'emplacement déclencheur et l'occurrence
de l'événement déclencheur,
où la récompense est un ou plusieurs éléments parmi un coupon, un rabais, une application,
un jeton et une annonce publicitaire.
8. Le procédé selon la Revendication 1, comprenant en outre :
le lancement d'un challenge basé sur un emplacement de groupe,
l'envoi d'une indication de challenge relatif à un emplacement de groupe à la totalité
des dispositifs mobiles membres du groupe (214, 216, 218, 220),
le suivi des emplacements de la totalité des dispositifs mobiles membres du groupe
(214, 216, 218, 220) dans le serveur (207),
la détermination dans le serveur (207) si le challenge relatif à un emplacement de
groupe a été réalisé, et
l'envoi d'une récompense à la totalité des dispositifs mobiles membres du groupe (214,
216, 218, 220) après la réalisation du challenge relatif à un emplacement de groupe,
où la récompense est un ou plusieurs éléments parmi un coupon, un rabais, une application,
un jeton et une annonce publicitaire.
9. Le procédé selon la Revendication 1, comprenant en outre :
la réception d'une demande d'emplacement de groupe dans le serveur (207),
la détermination d'un emplacement actuel de la totalité des dispositifs mobiles membres
du groupe (214, 216, 218, 220), et
la génération d'une indication d'emplacement de groupe d'emplacements actuels déterminés
de la totalité des dispositifs mobiles membres du groupe (214, 216, 218, 220),
où l'indication d'emplacement de groupe est une carte illustrant les emplacements
actuels déterminés de la totalité des dispositifs mobiles membres du groupe (214,
216, 218, 220).
10. Le procédé selon la Revendication 1, comprenant en outre la corrélation dans le serveur
(207) des informations d'utilisateur de la totalité des dispositifs mobiles (214,
216, 218, 220) qui sont des membres du groupe.
11. Le procédé selon la Revendication 1, où au moins une partie des opérations du procédé
sont exécutées sous la forme d'une analyse de données post-événement.
12. Le procédé selon la Revendication 1, comprenant en outre :
le suivi de l'emplacement de la totalité des dispositifs mobiles membres du groupe
(214, 216, 218, 220) dans le serveur (207) de façon à générer une base de données
d'informations d'historique d'emplacements, et
l'exécution d'opérations d'analyse sur la base de données d'informations d'historique
d'emplacements en fonction du groupe.
13. Un serveur, comprenant :
un moyen de détermination dans le serveur (207) d'un emplacement d'un dispositif mobile
(214, 216, 218, 220),
un moyen de détermination dans le serveur (207) si le dispositif mobile (214, 216,
218, 220) se trouve dans une zone d'appariement (226) en fonction de l'emplacement
déterminé du dispositif mobile (214, 216, 218, 220), et
un moyen d'ajout du dispositif mobile (214, 216, 218, 220) à un groupe entretenu par
le serveur (207) après la détermination que le dispositif mobile (214, 216, 218, 220)
se trouve dans la zone d'appariement (226),
caractérisé en ce que le moyen de détermination dans le serveur (207) d'un emplacement du dispositif mobile
(214, 216, 218, 220) comprend :
un moyen de détermination dans le serveur (207) d'un ou de plusieurs points d'accès
WiFi (202, 204, 206) pour lesquels le dispositif mobile (214, 216, 218, 220) est disponible
à un instant en fonction d'une demande de sondage de point d'accès reçue du dispositif
mobile (214, 216, 218, 220), et
un moyen de comparaison dans le serveur de cartes de couverture (208, 210, 212) pour
les un ou plusieurs points d'accès WiFi déterminés (202, 204, 206) de façon à déterminer
un emplacement du dispositif mobile (214, 216, 218, 220).
14. Un support lisible par un serveur non transitoire possédant conservées en mémoire
sur celui-ci des instructions exécutables par un serveur configurées de façon à amener
un serveur à exécuter le procédé selon la Revendication 1.