U.S. patent application number 12/969386 was filed with the patent office on 2012-06-21 for geogame for mobile device.
This patent application is currently assigned to AT&T INTELLECTUAL PROPERTY I LP. Invention is credited to Robert J. Hall.
Application Number | 20120157210 12/969386 |
Document ID | / |
Family ID | 46235086 |
Filed Date | 2012-06-21 |
United States Patent
Application |
20120157210 |
Kind Code |
A1 |
Hall; Robert J. |
June 21, 2012 |
GEOGAME FOR MOBILE DEVICE
Abstract
In a geographic location based game (geogame), players (actual
persons) utilize mobile communications devices to play a game in
which players catch virtual "good" objects and/or avoid virtual
"bad" objects. Virtual objects can be stationary, move in
accordance with deterministic pattern, move in accordance with
non-predetermined patterns, and/or move randomly. Players acquire
points by capturing a virtual good object. Players capture virtual
good objects by physically moving to the geographic location of a
virtual object. If a player comes in contact with a "bad" virtual
object, the player loses points. Captured virtual objects can be
used to attack other players and/or virtual objects.
Inventors: |
Hall; Robert J.; (Berkeley
Heig, NJ) |
Assignee: |
AT&T INTELLECTUAL PROPERTY I
LP
Reno
NV
|
Family ID: |
46235086 |
Appl. No.: |
12/969386 |
Filed: |
December 15, 2010 |
Current U.S.
Class: |
463/40 |
Current CPC
Class: |
A63F 13/216 20140902;
A63F 2300/5573 20130101; A63F 13/537 20140902; A63F 13/47 20140902;
A63F 2300/406 20130101; A63F 2300/5593 20130101; A63F 2300/407
20130101; A63F 2300/204 20130101; A63F 13/65 20140902; A63F 13/332
20140902; A63F 2300/69 20130101; A63F 13/79 20140902 |
Class at
Publication: |
463/40 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Claims
1. A wireless device comprising: a processor portion configured to:
determine a boundary of each virtual object in a geogame based on a
received event information; determine a current location of the
device; determine if the current location of the device intersects
a boundary of a virtual object; an input/output portion configured
to: geocast an indication of an event; and receive respective
geocasts from other devices participating in the geogame; and a
user interface portion configured to: render a representation of at
least one virtual object in the geogame based on the received event
information.
2. The device of claim 1, wherein: if it is determined that the
current location of the device intersects a boundary of a virtual
object, determine a type of virtual object whose boundary the
device intersects, wherein the type is one of a first type, a
second type, or a third type; the processor portion further is
configured to: if the type is determined to be a first type:
determine that the virtual object whose boundary the device
intersects is a captured virtual object; and reward a player
utilizing the device to capture the virtual object; if the type is
determined to be a second type, penalize the player utilizing the
device whose boundary intersects the boundary of the virtual
object; and if the type is determined to be a third type: determine
if the device whose current location intersects with the boundary
of the virtual object has previously intersected a boundary of the
virtual object; and if the boundary of the device whose current
location intersects with the boundary of the virtual object has not
previously intersected a boundary of the virtual object, penalize
the player utilizing the device to participate in the geogame; the
input/output portion further is configured to: geocast an
indication that a player is rewarded; and geocast an indication
that a player is penalized; and the user interface portion further
configured to: render an indication that a player is rewarded; and
render an indication that a player is penalized.
3. The device of claim 2, wherein the processor portion is
configured to remove a captured virtual object from geogame
play.
4. The device of claim 2, wherein the processor portion is
configured to convert a captured virtual object to the third type
virtual object that moves toward a current location of a device
participating in the geogame other than a current location of the
device whose boundary intersected with the boundary of the virtual
object.
5. The device of claim 1, wherein at least one virtual object is
stationary.
6. The device of claim 1, wherein at least one virtual object moves
in a predetermined pattern.
7. The device of claim 1, wherein at least one virtual object moves
in a non-predetermined pattern.
8. The device of claim 1, wherein at least one virtual object moves
toward a location of the device.
9. The device of claim 1, wherein at least one virtual object moves
away from a location of the device.
10. A method of playing a geogame, the method comprising:
determining a boundary of each virtual object in a geogame based on
a received event information; determining a current location of the
device; geocasting an indication of the current location of the
device; determining if the current location of the device
intersects with a boundary of a virtual object; and rendering a
representation of at least one virtual object in the geogame based
on the received event information.
11. The method of claim 10, further comprising: if it is determined
that the current location of the device intersects with a boundary
of a virtual object, determining a type of virtual object whose
boundary the device intersects, wherein the type is one of a first
type, a second type, or a third type; if the type is determined to
be a first type: determining that the virtual object whose boundary
the device intersects is a captured virtual object; rewarding a
player utilizing the device to capture the virtual object; and
geocasting an indication that the player is rewarded; and if the
type is determined to be a third type: determining if the device
whose current location intersects with the boundary of the virtual
object has previously intersected a boundary of the virtual object;
if the boundary of the device whose current location intersects
with the boundary of the virtual object has not previously
intersected a boundary of the virtual object, penalizing the player
utilizing the device to participate in the geogame; and geocasting
an indication that a player is penalized.
12. The method of claim 11, wherein a captured virtual object is
removed from geogame play.
13. The method of claim 11, wherein a captured virtual object is
converted to the third type virtual object that moves toward a
current location of a device participating in the geogame other
than a current location of the device whose boundary intersected
with the boundary of the virtual object.
14. The method of claim 10, wherein at least one virtual object is
stationary.
15. The device of claim 10, wherein at least one virtual object
moves in a predetermined pattern.
16. The device of claim 10, wherein at least one virtual object
moves in a non-predetermined pattern.
17. The device of claim 10, wherein at least one virtual object
moves toward a location of the device.
18. The method of claim 11, wherein at least one virtual object
moves away from a location of the device.
19. A computer readable storage medium comprising computer
executable instructions for causing a processor to perform the
steps of: determining a boundary of each virtual object in a
geogame based on a received indication of location of each virtual
object; determining a current location of the device; geocasting an
indication of the current location of the device; determining if
the current location of the device intersects with a boundary of a
virtual object; if it is determined that the current location of
the device intersects with a boundary of a virtual object,
determining a type of virtual object whose boundary the device
intersects, wherein the type is one of a first type, a second type,
or a third type; rendering a representation of a each virtual
object in the geogame based on the received indication of a
location of each virtual object in the geogame; rendering a
representation of the current location of the device; and rendering
a representation of a current location of each other device
participating in the geogame based on the received geocasts from
other devices participating in the geogame.
20. The medium of claim 19, the instructions further for causing
the processor to: if the type is determined to be a first type:
determine that the virtual object whose boundary the device
intersects is a captured virtual object; reward a player utilizing
the device to capture the virtual object; and geocasting an
indication that the player is rewarded; and if the type is
determined to be a third type: determine if the device whose
current location intersects with the boundary of the virtual object
has previously intersected a boundary of the virtual object; if the
boundary of the device whose current location intersects with the
boundary of the virtual object has not previously intersected a
boundary of the virtual object, penalize the player utilizing the
device to participate in the geogame; and geocast an indication
that a player is penalized.
Description
TECHNICAL FIELD
[0001] The technical field generally relates to a game based on the
geographic location (geolocation-based game or geogame) of the
players, and more specifically to geolocation-based gaming using a
scalable tiered geocast protocol, and even more specifically to a
geolocation-based game wherein according to the rules of the
geogame, players capture and/or avoid virtual objects.
BACKGROUND
[0002] Video games are extremely popular. As a result of advances
in technology, physical activity of a player can be incorporated
into a video game (e.g., Nintendo's.RTM. Wii.TM.) Players of video
games involving physical activity and/or movement are typically
limited to playing the games within restricted environments. For
example, players of many gaming systems interact with the gaming
system via wired and/or wireless controllers. The controllers have
a limited range, thus, limiting physical video games to indoor use
within a limited range from a gaming console and/or home
entertainment system. Even wireless controllers limit game play to
a small portion of a room by ultra short-range signals used to
allow a player to see the video monitor. Often game consoles must
be positioned on a stable, flat surface, and require 110 volt
connections to a power supply. These characteristics leave gaming
consoles with little to no portability.
[0003] Multiplayer versions of video games involving physical
movement typically allow multiple players to compete against one
another. Players may be located within one physical area, with
simultaneous access to one gaming console, or may be located at
various physical areas and link up over a network such as the
Internet. Despite the physical distance separating them, players
engaged in a multiplayer game from different physical locations
still have the above described limited movement restriction imposed
upon them. Further, these games typically rely on the constant
presence of wireless and/or wireline network connectivity. If
access to the network is interrupted, for even very short periods
of time, the multiplayer gaming experience can be deteriorated or
lost altogether. Thus, it is sometimes not possible to enjoy
multiplayer gaming involving physical movement at all, for example
in a remote geographic area with limited or no network service
available.
SUMMARY
[0004] Various types of geographic location based games (geogames)
and mechanisms for implementing geogames are described herein. Also
described is a geographic broadcast ("geocast") protocol for
implementing geogames. In an exemplary geogame, players (actual
persons) utilize mobile communications devices (also referred to as
wireless terminals or WTs) to play a game in which players move in
order to catch (capture) virtual "good" objects and/or avoid
virtual "bad" objects. In various embodiments, virtual objects can
be stationary, move in accordance with deterministic pattern, move
randomly, or any combination thereof. For example, in one example
embodiment, virtual good objects remain stationary, and a player,
or players, acquires points by capturing virtual good objects. A
player captures a virtual good object by occupying the geographic
location of the virtual object. In another example embodiment,
virtual good objects move in deterministic patterns, and a player,
or players, acquires points by capturing virtual good objects. In
yet another example embodiment, virtual good objects move randomly,
and a player, or players, acquires points by capturing a virtual
object. In another example, embodiment, virtual objects move away
from a player as a player gets close to the virtual object. In
another example embodiment, if a player comes in contact (occupies
the geographic location) of a "bad" virtual object, the player
loses points. In various example embodiments, bad virtual objects
can remain stationary, move in accordance with deterministic
patterns, move randomly, and/or chase players. In yet another
example embodiment, captured virtual objects can be used to attack
other players and/or virtual objects.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] FIG. 1 illustrates an example mobile ad hoc network in which
geogaming may be implemented.
[0006] FIG. 2 illustrates example communications in an ad hoc
network in which geogaming can be implemented via a WiFi access
point.
[0007] FIG. 3 illustrates an example mobile ad hoc network in which
geogaming can be implemented utilizing tiered geocasting and
forwarding zones.
[0008] FIG. 4, comprising FIG. 4A-FIG. 4E depict example geocast
regions or boundaries.
[0009] FIG. 5 depicts a geogame player located in a geogame play
region as rendered on a wireless terminal.
[0010] FIG. 6 depicts "good" virtual objects.
[0011] FIG. 7 depicts "bad" virtual objects.
[0012] FIG. 8 depicts good virtual objects 50 and bad virtual
objects 52 located in a player's game play region.
[0013] FIG. 9 depicts multiple geogame players along with good
virtual objects and bad virtual objects, as rendered on a wireless
terminal.
[0014] FIG. 10 depicts an example location and boundary of a
virtual object.
[0015] FIG. 11 depicts renderings of multiple players and multiple
virtual objects in different, distinct, physical locations.
[0016] FIG. 12 depicts a good virtual object being converted to an
attack virtual object.
[0017] FIG. 13 depicts a list from which a player can select a
destination, termination, boundary, region, or the like.
[0018] FIG. 14 depicts a position of a player on a map displayed on
a wireless communications device.
[0019] FIG. 15 depicts an example rendering of a start time of a
geogame.
[0020] FIG. 16 is an example depiction of multiple players having
joined the geogame.
[0021] FIG. 17 is a flow diagram of an example process for playing
a geogame.
[0022] FIG. 18 is an illustration of an example relationship
between event history and state values in a geogame.
[0023] FIG. 19 is a depiction of an example a global event
history.
[0024] FIG. 20 is another flow diagram of an example process for
playing a geogame.
[0025] FIG. 21 is a block diagram of an example communications
device configured to facilitate geogaming.
[0026] FIG. 22 depicts an overall block diagram of an exemplary
packet-based mobile cellular network environment, such as a GPRS
network, within which geogaming can be implemented.
[0027] FIG. 23 illustrates an architecture of a typical GPRS
network within which geogaming can be implemented.
[0028] FIG. 24 illustrates an exemplary block diagram view of a
GSM/GPRS/IP multimedia network architecture within which geogaming
can be implemented.
[0029] FIG. 25 illustrates a PLMN block diagram view of an
exemplary architecture in which the geogaming may be
incorporated.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0030] Various embodiments of geographic location based gaming,
referred to as geogaming, and implementation mechanisms for
geogaming are described herein. The described embodiments are
merely examples that may be embodied in various and alternative
forms, and combinations thereof. As used herein, for example,
"exemplary," and similar terms, refer expansively to embodiments
that serve as an illustration, specimen, model, or pattern. The
figures are not necessarily to scale and some features may be
exaggerated or minimized, such as to show details of particular
components. In some instances, well-known components, systems,
materials, or methods have not been described in detail in order to
avoid obscuring the instant disclosure. Therefore, specific
structural and functional details disclosed herein are not to be
interpreted as limiting, but rather as a basis for the claims and
as a representative basis for teaching one skilled in the art how
to employ the teachings instant application in various ways.
[0031] While the description includes a general context of
computer-executable instructions, geogaming also can be implemented
in combination with other program modules and/or as a combination
of hardware and software. The term "application," or variants
thereof, is used expansively herein to include routines, program
modules, programs, components, data structures, algorithms, and the
like. Applications can be implemented on various system
configurations, including single-processor or multiprocessor
systems, minicomputers, mainframe computers, personal computers,
hand-held computing devices, microprocessor-based, programmable
consumer electronics, combinations thereof, or the like.
[0032] In an example embodiment, geogaming is implemented via a
scalable, wireless, geographic broadcast ("geocast") protocol.
Geogaming via a geocast protocol enables multiplayer gaming between
mobile communication devices, such as wireless terminals (WTs)
without relying on traditional network elements. No gaming console
is required, thus eliminating the venue restrictions imposed by
wired controllers and/or wireless controllers with limited ranges.
Geogames can be played in wide open spaces, either indoors or
outdoors. Geogaming can be fully distributed over an ad hoc network
of mobile communications devices, eliminating the need for
traditional mobile communications infrastructure and central
servers. Because no network infrastructure is required to play,
geogaming can take place in remote areas with little or no network
access; for example in the middle of the woods. The scalable nature
of the geocast protocol enables geogames to function equally well
in both remote areas and crowded areas containing both geogame
players and other users of mobile communications devices. Because
multiplayer geogames do not require constant communication with a
central server, game play can be more physically active and
geographically wide ranging. Geogaming using tiered geocasting
enables geogame players to participate in multiplayer gaming
spanning great distances. For example, players on separate
continents may participate in a single multiplayer geogame.
[0033] In an example embodiment, WTs taking part in a geogame are
programmed with a geogaming application, which uses geolocation
information obtained from a locating system, such as, for example,
a global positioning system (GPS), or the like.
[0034] The geogaming application of each WT in the game controls a
position of a simulated or virtual player based on location data
received from the location system. In some embodiments, the
geogaming application in the WT uses movement data from an inertial
unit, or the like, of the WT to control a posture and/or movement
of a virtual player, and/or to render (e.g., display) a posture
and/or movement of an actual player, to determine and control
locations of virtual objects, and/or to render locations of virtual
objects.
[0035] The scalable tiered geocast communication protocol is
programmed into each WT taking part in the geogame, and any WT that
operates to relay communications to or from the WTs taking part in
the geogame. The WTs taking part in the geogame share changed game
conditions, such as WT geolocation, between them via geocast data
packets transmitted over one or both of a first tier, short-range,
network, and a second tier, long-range, network according to
transmission heuristics of the tiered geocast protocol.
[0036] The herein described geogaming architecture can be used to
facilitate a wide variety of geogames. In one example, a geogame,
which is described in U.S. patent application Ser. No. 12/835,385,
entitled "Location Based Mobile Gaming Application And Method For
Implementing The Same Using A Scalable Tiered Geocast Protocol,"
filed Jul. 13, 2010, which is incorporated by reference herein in
its entirety, involves players virtually hitting, or virtually
catching and throwing, back and forth a game object, such as a
virtual ball or flying disc. Movements of the virtual game object
are also shared between WTs in geocast data packets transmitted
according to the tiered geocast protocol. In some embodiments,
other game information, such as location and size of predefined
playing areas, and scoring during the game, are propagated in
geocast data packets according to the tiered geocast protocol.
[0037] Another example geogame, which is described in U.S. patent
application Ser. No. 12/644,293, entitled "Augmented Reality Gaming
Via Geographic Messaging," filed Dec. 22, 2009, which is
incorporated by reference herein in its entirety, involves a
virtual mortar shell or a virtual nuclear strike in a military
simulation game. Yet another example geogame, also described in
U.S. patent application Ser. No. 12/644,293, involves a virtual
unmanned aerial vehicle (UAV), which can provide reconnaissance
information about the location of other players of a geogame.
[0038] In another example geogame, which is described in U.S.
patent application Ser. No. 12/914,811, entitled "Geogame For
Mobile Device," filed Oct. 28, 2010, which is incorporated by
reference herein in its entirety, players, utilizing wireless
devices, are required to continuously physically move within a
defined boundary throughout the geogame. The wireless devices, with
the aid of a location system, such as GPS, track the movements of
the players. As players move, virtual tails are generated behind
each player, and their locations are determined and geocast, via a
wireless geographic broadcast protocol, to all players of the
geogame. Each player observes all players movements and tail
locations on his/her wireless device. If a player stops moving, the
player is expelled from the game. If a player exits the confines of
the boundary, the player is expelled from the game. If a player
crosses a virtual tail, the player is expelled from the game. If
two virtual tails cross, both players are expelled from the game.
The last player remaining is the winner.
[0039] In another example geogame, described herein, distributed
virtual objects are controlled by using a scalable wireless geocast
protocol to propagate timely messaging. Within this messaging,
several distributed algorithms operate to distribute virtual object
state updates. In operation, the geogame comprises multiple levels,
with each level presenting different types of challenges and
different virtual object behaviors. On one level, a set of "good"
virtual objects fly randomly around the landscape, while the user
must run/move so that the user's device detects its location to lie
within the boundary of a virtual object, thereby `catching` it and
obtaining points. As one player catches a virtual object, that
virtual object is no longer available for other players to catch.
Thus, state changes are propagated to all players in the area (via
geocast messaging). Another example level adds "bad" virtual
objects. According to the rules of game play, players must move so
that their location does not lie within the bad virtual object
boundaries or else they lose points for such time. Another level
adds the behavior of a good virtual object "flying away" from
players, making it harder for players to catch them. Since this
requires them to react to the players' positions, it requires
distribution of state changes as well. Another level adds bad
virtual object that chase players. Another level gives players the
ability to command captured virtual object as "attack objects".
Timestamps, voting protocols, and multiphase commitment protocols
are used to implement distributed virtual object state changes.
[0040] In an example embodiment, each WT taking part in the geogame
is programmed with the scalable tiered geocast communication
protocol. One example of a type of scalable protocol is the mobile
ad hoc network geocast protocol. Using the tiered geocast protocol,
geogaming can be occasioned in all types of network scenarios,
including those in which relevant areas are densely populated with
participating WTs, those in which areas are sparsely populated, and
even in areas long-range infrastructure such as cell towers, WIFI
hotspot or other Internet router are not reachable by the WTs
taking part in the game.
[0041] Geocast protocols differ from a traditional Internet
protocol (IP) such as the uniform datagram protocol (UDP) in that
messages are addressed to a destination geocast region instead of
an IP address, such as an UDP address. Utilizing the geocast
protocol, WTs in a target area do not need to register to a group
address, as required of some other protocols. In some example
embodiments, each geocast data packet is assigned, at origination,
a globally unique packet serial number. The unique packet serial
number is read by participating devices according to the protocol
to, for example, determine whether a particular data packet is
being received for a first time or has been received before. The
packet serial number and all other packet information may be
positioned in a header or body of the data packet.
[0042] The geogaming application is in some embodiments configured
to store pre-set or previously identified geocast destination,
locations, region, or the like, and allow the initiating player to
select appropriately for geocasting.
[0043] Geocast data packets are transmitted according to heuristics
of a tiered geocast protocol, which is described in more detail
herein, to a destination geocast region for reception by all
devices located in the region that are programmed with the geocast
protocol, i.e., participating devices.
[0044] Although basic geocasting over only a single network (e.g.,
long-range network) enables communications in some situations where
traditional networking is impractical or inadequate, it is in some
embodiments preferable to selectively geocast over one or more of
two or more networks (i.e., tiers) versus the flat configuration of
a single network. The tiered geocast protocol of the present
disclosure improves on single-network geocasting by providing the
heuristics, or decision rules, for selectively propagating geocast
data packets within a relatively short-range, peer-to-peer network,
and bridging packets onto a long-range network for long-distance
transport depending on various circumstances. Each participating WT
and other nodes (e.g., WIFI access point or other router) have
forwarding rules, including geographical parameters, and a look-up
table for use in implementing the rules.
[0045] In one embodiment, the geocast system is configured such
that a transmitting WT receives a confirmation that a geocast data
packet was transmitted successfully. For example, it is
contemplated that at least one of the WTs in a geocasting
destination region, even if not a WT actively participating in the
game, could return geocast a confirmation data packet indicating
that the packet was received by a WT in the region. In one
contemplated embodiment, although the protocol is based on a
geographical address and not a device-specific address, a
device-specific address of a target WT participating in the game is
included in a geocast and the target WT initiates inclusion in a
return geocast data packet of a confirmation of receipt message to
the originating WT.
[0046] In addition, in some embodiments, a geocast data packet
includes one or more fields, such as in a header or body of the
packet, in which information related to a path taken by a packet is
recorded. For example, a receiving node (e.g., WT or Internet
router) receiving a geocast can retrieve data from the geocast
header to identify an ordered list of the nodes whose transmissions
led to the receiving node receiving it. In this way, path discovery
is integrated into the transmission process. Any node can also use
this information to send a source-routed unicast back to any node
along the path, which is termed reverse-path forwarding (RPF).
[0047] Although a two-tiered communication system, including a
first short-range peer-to-peer network and a long-range network, is
primarily described herein, the geogaming application of the
present disclosure may be implemented in connection with a protocol
and communication system using other types of networks as well as
or instead of those described herein, and in connection with more
than two network tiers.
[0048] Propagations over the short-range network are made between
devices programmed with the scalable tiered geocast protocol,
whereby adjacent devices are within range of each other, such as
radio range (e.g., 100 meters). The WTs and tiered geocast protocol
are configured to transmit geocast data packets over one or more
short-range networks, including existing wireless local area
networks (WLANs), such an IEEE 802.11 network. As an example, when
a first gaming WT is about 900 meters from an edge of a geocasting
region including a second gaming WT, a geocast data packet from the
first device would be broadcasted and participating intermediate
devices would receive and retransmit the geocast data packet until
it reached the geocast region, without need for transmission over
an Internet router or other base station. In this example,
depending on the location of a retransmitting device, the geocast
data packet can be broadcast to the geocast region in one or two
hops.
[0049] Geogaming is particularly suited to highly mobile devices
without requiring connection to an infrastructure-based
communications network. A mobile ad hoc network is an example of
such a set of devices. Mobile ad hoc networks extend the reach of
data networking into areas and scenarios in which
infrastructure-based networking is impossible or impractical. For
example, mobile ad hoc networks can allow first responders to use
networked messaging and information applications in a zone where
the network infrastructure has been destroyed by a disaster. Mobile
ad hoc networks can provide military units operating in battlefield
situations lacking infrastructure the same types of benefits as
infrastructure-based networks. Mobile ad hoc networks can allow
networking among low resource nodes, such as man-worn devices
powered by lightweight wearable batteries, by allowing units to
relay each other's short-range transmissions, instead of each unit
transmitting long range directly to the destination.
[0050] To better understand geogaming and applications thereof, a
description of mobile ad hoc networks is provided. In is to be
understood however, that applications of geogaming are not limited
to mobile ad hoc networks. Rather, geogaming is applicable to any
appropriate device or group of devices.
[0051] A mobile ad hoc network comprises communications devices
(also referred to as nodes) that communicate with each other via
geographical broadcasting, referred to as geocasting. Geocasting is
described in U.S. Pat. No. 7,525,933, entitled "System And Method
For Mobile Ad Hoc Network," filed Nov. 30, 2005, issued Apr. 28,
2009, and is incorporated by reference herein in its entirety.
Geocasting uses a protocol in which an IP address is replaced with
a geographic address. Thus, each geocast message comprises an
indication of a location of a geographic region of intended
reception of the geocast message. Generally, a packet is sent to
every communications device located within a specific geographic
region. The packet can contain an indication of the location of the
sender, an indication of the geographic region, a payload, or a
combination thereof, or the like. The communications devices in the
geographic region, and any other communications devices that can
communicate with them, are referred to, collectively, as a mobile
ad hoc network. No registration is required to become a member of
the mobile ad hoc network. Any communications device in the mobile
ad hoc network can send a message to any or every communications
device in the mobile ad hoc network. As communications devices move
within communications range of any member of the mobile ad hoc
network, they can become members of the mobile ad hoc network
without requiring registration. The communications devices of the
ad hoc network of communications devices communicate with each
other. The ad hoc network of communications devices does not
require base station terminals to control communications between
the mobile devices. In example embodiments, base stations or
routers may be used to relay messages between different mobile ad
hoc networks, or to use other network transports such as other
traditional internet protocol networks, such as the internet, to
bridge messages between mobile ad hoc networks. Each communications
device is capable of receiving and/or transmitting data packets to
and/or from other communications devices in the mobile ad hoc
network.
[0052] In an example embodiment, a communications device transfers
packets to other communications devices according to heuristic
decision rules that determine whether a receiving device will
re-transmit a received packet. These rules effectively guide
packets to their destinations and control communication traffic
within the ad hoc network. The decision rules achieve this control
by using statistics obtained and recorded by a communications
device as it receives packets transmitted within reception range
within its environment. This distributed packet transfer mechanism
results in packets "flowing" to and throughout the geocast region
specified in each packet. The communications devices in the geocast
region receive and process each distinct packet, typically
rendering the content to the user via a user interface of a
communications device. Two packets are distinct if they contain
distinct geocast identifiers. However, a re-transmitted copy of a
packet generally will contain the same geocast identifier as the
original packet.
[0053] FIG. 1 illustrates an example mobile ad hoc network in which
geogaming may be implemented. Communications devices (nodes) in the
mobile ad hoc network can communicate via RF encoded with
geographic information, via Bluetooth technology, via WiFI (e.g.,
in accordance with the 802.11 standard), or the like, or any
combination thereof. For example, as depicted in FIG. 1,
communication devices 12, 14, 16, 18, and 20 form a mobile ad hoc
network. As shown in FIG. 1, communication device 12 communicates
with communications device 14 directly (e.g., via Bluetooth).
Communication device 14 communicates with communications device 16,
and thus can retransmit information received from communications
device 12 to communications device 16, and vice versa (retransmit
information received from communications device 16 to
communications device 12). Communications device 16 communicates
with communications devices 18 and 20, and can relay information
from/to communications devices 18 and/or 20 to/from communications
devices 12 and/or 14.
[0054] Although not depicted in FIG. 1, it is possible, in a mobile
ad hoc network, that, for a pair of nodes (A and B for example),
node A can receive from node B but node B can not receive from node
A. This asymmetric style of communication is potential likely in a
mobile ad hoc network.
[0055] In an example embodiment, communications devices that
receive a message can resend the message in accordance with the
scalable wireless geocast protocol. For example, a communication
device's ability to retransmit a message can be based on the number
of times the message was previously received, the communication
device's proximity with respect to the communications devices from
which the message was sent, and/or the communication device's
proximity to the geocast region. This can be implemented as a three
step location-based approach, which is described in detail in the
aforementioned U.S. Pat. No. 7,525,933, entitled "System And Method
For Mobile Ad Hoc Network," filed Nov. 30, 2005, issued Apr. 28,
2009. First, in accordance with the location-based approach, the
receiving communication device determines whether it has previously
received the same message at least a predetermined number (N) of
times. If not, it retransmits the message over the ad hoc network
of communications devices. If so, the communications device
progresses to the second step and determines whether the sending
communications device is closer than some minimum distance away. If
no prior transmitter of the message was closer than some minimum
distance away, the communications device retransmits the message
over the ad hoc network of communications devices. Otherwise, the
communications device progresses to the third step and determines
whether it is closer to the center of the geocast region than any
sending communications device from which the message was received.
If so, the communications device transmits the message over the ad
hoc network of communications devices. If not, the communications
device does not retransmit the message.
[0056] This location-based approach prevents the receiving
communications device from retransmitting a message that was most
likely already retransmitted by another communications device
located close to it (and thus most likely reaching the same
neighboring communications devices that it can reach). In addition,
this location-based approach reduces the chance that the
communications device will retransmit the same message multiple
times to the same neighboring communications devices.
[0057] As mentioned above, a mobile ad hoc network does not require
a communications network infrastructure or a WiFi access point.
However, in an example configuration, a mobile ad hoc network can
utilize WiFi access points and/or a communications network
infrastructure.
[0058] FIG. 2 illustrates example communications in an ad hoc
network in which geogaming can be implemented via a WiFi access
point. As depicted in FIG. 2, communication devices 26, 28, 30, 36,
and 38 form a mobile ad hoc network and communication device 32 and
34 form another mobile ad hoc network. Coverage area 22, which is
the area covered by a WiFi access point 40, covers communication
devices 26 and 28. Coverage area 24, which is the area covered by
another WiFi access point 42 covers communication device 32. As
shown in FIG. 2, communication device 34 transmits to communication
device 32 directly (e.g., via Bluetooth). Communication device 32
retransmits to a WiFi access point 42 which in turn retransmits to
the other WiFi access point 40. Communication devices 26 and 28
receive the transmission from the WiFi access point 40, and
communication device 28 retransmits directly to communication
device 30. And, as depicted, communication device 30 retransmits to
other communication devices 36 and 38.
[0059] FIG. 3 illustrates an example mobile ad hoc network in which
geogaming can be implemented utilizing tiered geocasting and
forwarding zones. Tiered geocasting uses long range (LR)
transmitters (such as communications devices, etc), infrastructure,
a communications network, a cellular tower, or a combination
thereof, when available. Tiered geocasting assumes that at least
one tier is usable by at least one of the communications devices. A
long range tier is a tier wherein characteristic message transfers
between devices occur over a longer physical range than those over
some other tier. A long range tier can be wireless, wired, or a
combination thereof.
[0060] A forwarding zone can be utilized to implement tiered
geocasting. A common forwarding zone can be defined for all geocast
packets or different forwarding zones can be defined for each type
of geocast packet. Forwarding zones (as shown in FIG. 3, for
example and without limitation) can be defined differently in
different tiers, even for the same packet type or even same packet.
Thus, forwarding heuristics can be applied independently per tier,
with bridging at multi-tier capable nodes. In an example
embodiment, a communications device retransmits a packet only if
the communications device is located within the forwarding zone
defined for the packet's type. This determination is in addition to
the determinations described above and, if the communications
device is not in the forwarding zone, the packet will not be
retransmitted, even if one or more of the above conditions would
otherwise have caused a retransmission hold.
[0061] As depicted in FIG. 3, nodes (e.g., communications devices)
D1, D2, D3, D4, D5, D6, and D7, are at various locations within
short range (SR) and long range (LR) tiers. All of devices D1, D2,
D3, D4, D5, D6, and D7 together form a mobile ad hoc network, with
devices D5, D6, and D7 being located in geocast region Y, hence
being targets of a message sent by D1. Each communications device
D1, D2, D3, D4, D5, D6, and D7 can determine its own geographical
location through any type of location determination system
including, for example, the Global Positioning System (GPS),
assisted GPS (A-GPS), time difference of arrival calculations,
configured constant location (in the case of non-moving nodes), any
combination thereof, or any other appropriate means. Each
communications device is operable to transmit and receive packets
on a mobile ad hoc network. In addition, at any given time, some
subset (possibly all) of the communications devices may be operable
to transmit and receive packets over the long range tier network.
For example, though not a limitation, in FIG. 3, devices D2, D3,
and D4 can transmit and receive messages over both the short and
long range tiers. Note that this latter fact is indicated visually
in the diagram by D2, D3, and D4 each having two dots (one in the
short range tier and one in the long range tier) connected by a
vertical line. The long-rang tier network can be any network in
which packets can be transmitted from one long range capable
communications device to another long range capable communications
device. Such packet networks can include, for example, an
infrastructure-based network comprising wireless base stations (for
up- and down-link) operating on a separate frequency from that used
by an ad hoc network. In addition, the long rang tier network also
could be implemented simply as another instance of an ad hoc
network using distinct radio frequencies and possibly longer radio
ranges.
[0062] Communications device D1 transmits the message, and
communications device D2 receives the transmission from
communications device D1. Communications device D2 retransmits
(transmission 2a), within the short range tier and in accordance
with the heuristics for the short range forwarding zone (SRFZ) as
well as within the long range tier (transmission 2b).
Communications D2, with long range transmission capability (in the
long range tier) retransmits in the long range tier as well
(transmission 2b). Communications device D3 receives the
transmission 2b from communications device D2 and retransmits (as
transmission 3) in the long range tier only. Communications device
D4 receives the transmission 3 from communications device D3 and
retransmits both on the long and short range tiers, resulting in
transmission 4a in the long range tier and 4b in the short range
tier. Communications device D5, within geocast region Y, receives
the transmission 4a, and in turn retransmits (transmission 5)
within the geocast region Y. Transmission 5 is received by the
other devices in geocast region Y, namely devices D6 and D7, thus
completing the geocast message transfer.
[0063] As described above, an example geogame is played within a
geographic area. Geocast origination, destination, and termination
regions can be defined by geographic parameters and may have any
size and shape. As examples, the regions may be defined by three or
more bounding geographic coordinates, forming a triangle,
rectangle, or other shape, or a single geographic coordinate and a
radius or diameter, forming a geocast region.
[0064] Players can identify the geocast region directly or
indirectly. In one embodiment, an initiating player selects a
region indirectly by identifying a target player with whom the
initiating player wishes to play. The geocast region may be defined
by the initiating WT, the target WT, or other entity, such as a
remote server facilitating game initiation and/or play. The geocast
region may be defined, at least in part, based on a location of the
target WT. In various embodiments, the location of the target WT is
obtained from the target WT or other sources such as from a network
resource, like a home location register (HLR) to which the target
WT is associated.
[0065] FIG. 4, comprising FIG. 4A-FIG. 4E depict example geocast
regions or boundaries. A geocast region may be defined to be a
single point 40, as depicted in FIG. 4A. A point geocast region may
be defined by a longitude value and a latitude value (not shown). A
point above the surface of the earth could be defined by providing
an altitude value in addition to longitude and latitude values. A
geocast region may also comprise multiple single points (not shown)
such as the single point 40. Location points such as point 40 may
be used as the building blocks for more complex geocast region
geometries, as described herein. FIG. 4B depicts a geocast region
defined by a point 40 in combination with a radius 42. The geocast
region of this example will comprise the area enclosed by the
radius, and may include the space above the area as well. A geocast
region could also be defined as the overlap region between two or
more circular geocast regions (not shown). FIG. 4C depicts a more
complex geometry formed from a series of points 40 interconnected
with straight boundary lines. This technique of geocast region
definition is similar to the techniques typically used in the
definition of parcels of real property. FIGS. 4D and 4E depict the
creation of one or more geocast regions within a single geographic
footprint. FIG. 4D depicts creating a geocast region for a specific
floor of a building 44. The single floor geocast region is defined
as the volume of space between upper and lower areas, each formed
using a series of points 40 set at corners of the buildings. FIG.
4E depicts an alternate technique for defining a single floor
geocast region in building 44. Upper and lower points 40 are
defined in the middle of the ceiling and the floor of the geocast
region respectively. The single floor geocast region is then
defined as the volume of space between an upper area and a lower
area defined by a pair of radii 42 extending from the middle
points. Geocast regions may also be defined to change in size,
geographic location, etc. with time (not shown), essentially
allowing the creation of geocast geogaming regions in four
dimensions. For example a geogaming region corresponding to a
virtual playing field may be defined to change size, shape, and/or
geographic location over time as the number of participating
geogame players fluctuates. Information defining a particular
geocast region (e.g., a series of points) can be communicated in an
addressing portion of a geogaming message. Geocast sub-regions may
be defined within a particular geocast region using the above
techniques. It should be noted that the techniques described with
reference to FIGS. 4A-4E are merely examples, and the scope of the
instant disclosure should not be limited thereto. Other geogaming
region geometries and techniques for defining geogaming regions may
be recognized by those skilled in the art, and are meant to be
included within the scope of the instant disclosure.
[0066] In some embodiments, a player can select a geocast region or
the like, by making one or more selections on a map and/or from a
list. For example, if a player on a college campus in New York
wishes to initiate play with one or more players located on a
college campus in London, the initiating player may select the
campus in London, or a desired portion of the campus, such as a
particular fraternity house selected by map input and/or from a
list, as the geocast region, or the like.
[0067] FIG. 5 depicts a geogame player 45 located in a geogame play
region as rendered on a wireless terminal, WT 200. As shown in FIG.
5, the player is rendered on the wireless terminal, WT, as a circle
with a dot therein. Players, however, can be rendered in any
appropriate format. For example, players can be rendered in
different colors, by different shapes, via animation, via icons,
via text, via numbers, via avatars, or the like, or any combination
thereof. The game play region can be any appropriate region. In
various embodiments, a player can define a region by boundaries,
select a region from a list of predetermined regions, define a
region based on the player's geographical location, or any
combination thereof.
[0068] FIG. 6 depicts "good" virtual objects 50. For the sake of
clarity, only three good virtual objects are designed with the
number 50. As shown in FIG. 6, each good virtual object is rendered
on the wireless terminal, WT 200, as a circle with an "X" therein.
Good virtual objects, however, can be rendered in any appropriate
format. For example, good virtual objects can be rendered in
different colors, by different shapes, via animation, via icons,
via text, via numbers, via avatars, or the like, or any combination
thereof.
[0069] FIG. 7 depicts "bad" virtual objects 52. For the sake of
clarity, only three bad virtual objects are designed with the
number 52. As shown in FIG. 7, each bad virtual object is rendered
on the wireless terminal, WT 200, as a circle with an "Y" therein.
Bad virtual objects, however, can be rendered in any appropriate
format. For example, bad virtual objects can be rendered in
different colors, by different shapes, via animation, via icons,
via text, via numbers, via avatars, or the like, or any combination
thereof.
[0070] In an example configuration, virtual objects can be rendered
as creatures or imaginary entities, such as butterflies, fireflies,
moths, birds, fairies, or the like. Creatures can be rendered as
good creatures and bad creatures. And, as the creatures/entities
appear to fly and/or float, players capture and/or avoid the
creatures/entities per rules of the geogame.
[0071] FIG. 8 depicts good virtual objects 50 and bad virtual
objects 52 located in a player's game play region as depicted on WT
200.
[0072] FIG. 9 depicts another geogame player 47 located in the same
geogame play region as player 45, along with good virtual objects
50 and bad virtual objects 52, as rendered on a wireless terminal,
WT 200. As shown in FIG. 9, the player 47 is rendered on the
wireless terminal, WT, as a square with a dot therein. Players,
however, can be rendered in any appropriate format. For example,
players can be rendered in different colors, by different shapes,
via animation, via icons, via text, via numbers, via avatars, or
the like, or any combination thereof. The game play region can be
any appropriate region. In various embodiments, a player can define
a region by boundaries, select a region from a list of
predetermined regions, define a region based on the player's
geographical location, or any combination thereof. As shown in FIG.
9, geogame player 9 is playing the geogame in the same geographic
region as geogame player 45. However, as described in more detail
below, this is not necessary.
[0073] FIG. 10 depicts an example location and boundary of a
virtual object. As depicted in FIG. 10 on WT 200, the geographic
boundary associated with the location of the virtual object 54 is
defined by the border 56. The virtual object 54 is denoted by the
letter "V" so as not to be considered a good or bad virtual object,
but rather a generic virtual object for the purpose of this
discussion. Border 56 can define an area or a volume. Thus, the
circle depicted as the perimeter 56 of virtual object 54 can
represent any appropriate two or three dimensional shape, such as,
for example, a circle, an ellipse, a sphere, an ellipsoid, a
spheroid, or the like. Similarly, a player can represent a three
dimensional player. Thus, the circle depicted on the perimeter of
player 45, which represent the boundary of the player 45, can
represent any appropriate two or three dimensional shape, such as,
for example, a circle, an ellipse, a sphere, an ellipsoid, a
spheroid, or the like.
[0074] Virtual objects can represent two or three-dimensional
objects that are floating, flying, rolling, moving, remaining
stationary, or the like. Accordingly, in a example embodiment, if a
virtual object is floating or flying, a player may have to jump to
capture a good virtual object. Or a player may be able to duck to
avoid a bad virtual object. As depicted in FIG. 10, two players 43
and 45 intersect the boundary of the virtual object 54. That is,
the location of each of the two players 43 and 45 is coincident
with a portion of the virtual space occupied by the volume (or area
if two dimensional) defined by the border 56. A boundary of a
virtual object is the virtual space occupied by the virtual object
as defined by the border 56. Thus, a player intersects the boundary
of a virtual object if the location of the player intersects the
border of the boundary or if the location of the player is within
the border, as depicted in FIG. 10. According to the rules of the
geogame, if the virtual object 54 is a good virtual object, has
captured the virtual object 54. If however, the virtual object 54
is a bad virtual object, the player will loses a point or points.
In an example embodiment, a player whose device is within the
boundary of a bad virtual object will continue to lose points as
long as the player is within the boundary. Thus, to avoid losing
more points, the player must move away from (move out of the
boundary of) the bad virtual object.
[0075] FIG. 11 depicts renderings of multiple players and multiple
virtual objects in different, distinct, physical locations. As
shown in FIG. 11A, geogame region 48a is physically located in a
field in New Jersey. As shown in FIG. 11B, geogame region 48b is
physically located in a field in Pennsylvania. In an example
scenario, as depicted in FIG. 11, player 45 has selected region
48a. When player 47 joins the geogame, the location of player 47 is
determined and a corresponding region 48b is determined for player
47. In various example embodiments, the area, volume, and/or
dimensions of multiple regions can be the same or differ. After the
geogame starts, locations of player's and virtual objects are
rendered on each player's WT. The locations of players and virtual
objects are appropriately correlated to be rendered similarly with
the boundary/region being rendered.
[0076] According to the rules of the geogame, player 45 is to
capture good virtual objects 50 (circled Xs) to obtain points, and
is to avoid bad virtual object 52 (squared Xs) to avoid losing
points, located in the geogame region 48a. And, player 47 is to
capture good virtual objects 50 (circled Xs) to obtain points, and
is to avoid bad virtual object 52 (squared Xs) to avoid losing
points, located in the geogame region 48b. A virtual object is
captured when the boundary of the physical geographic location of a
device being used by player is determined to intersect the boundary
of the geographic location associated with a good virtual object.
And a player loses points when the boundary of the physical
geographic location of a device being used by player is determined
to intersect the boundary of the geographic location associated
with a bad virtual object. Each virtual object has a geographic
location and boundary associated therewith.
[0077] FIG. 12 depicts a good virtual object 50 being converted to
an attack virtual object 58. In one example embodiment, when a good
virtual object is captured, the good virtual object is removed from
game play. In an example embodiment involving multiple players,
when a player captures a good virtual object, the captured good
virtual object can be converted to an "attack" virtual object. As
depicted in FIG. 12A, geogame player 45 has captured good virtual
object 50. In response to being captured, the good virtual object
50 is converted to an attack virtual object 58 as depicted in FIG.
12B. An attack virtual object represents a bad virtual object for
all other players of the geogame other than the player who
converted the virtual object. And, an attack virtual object is
essentially a neutral virtual object for the converting geogame
player. Thus, if the converting player "touches" the virtual object
(the boundary of the location of the converting geogame player
intersects the boundary of the attack virtual object), the
converting player does not lose points and the converting player
does not gain points.
[0078] An attack virtual object, can remain stationary, can move in
a predetermined pattern, can mover in a non-predetermined pattern
(e.g., random), and/or can move toward other players of the
geogame. When the boundary of an attack virtual object intersects
the boundary of another geogame player, the other geogame player
loses points.
[0079] In an various example configurations, a bad virtual object
can be removed from game play when a player touches (the boundary
of the location of the geogame player intersects the boundary of
the virtual object) the bad virtual object, a bad virtual object
can remain in game play, and the player touching the bad virtual
object can continue to lose point until that player moves away from
the bad virtual object, or any combination thereof.
[0080] In an various example configurations, an attack virtual
object can be removed from game play when a player touches (the
boundary of the location of the geogame player intersects the
boundary of the virtual object) the attack virtual object, an
attack virtual object can remain in game play, and the player
touching the attack virtual object can continue to lose point until
that player moves away from the attack virtual object, or any
combination thereof.
[0081] Virtual objects can remain stationary and/or move in various
ways. For example, virtual objects can be stationary, move in
accordance with deterministic pattern, move in accordance with
non-deterministic motion (e.g., randomly), or any combination
thereof. Thus, some virtual objects can be stationary, others can
move deterministically, and others can move
non-deterministically.
[0082] FIG. 13 depicts a list from which a player can select a
destination, termination, boundary, region, or the like. As shown
in FIG. 13, a player can select a destination, termination,
boundary, region, or the like from a list 62 displayed on mobile
communications device. The list can comprise real world locations,
virtual locations, or any combination thereof. For example, as
depicted, item 64 on the list 62 represents a real world
location--a building. Item 66 on the list 62 represent a virtual
field designated filed 100. A player can search items on the list
in any appropriate manner. For example, a player can scroll through
the list by touching the display surface of device, by providing a
voice command (e.g., "Scroll List"), by entering text on which to
search, by moving the device, or any appropriate combination
thereof.
[0083] In an example embodiment, the selection of a destination,
termination, boundary, region, or the like can be made by selecting
a location on the map by a finger, fingers, and/or any other
appropriate device, and, for example, dragging away or
gesture-pinching, from the selected location to create the size of
the a circle, oval, rectangular, square, polygon, or any
appropriate shape (two dimensional or three dimensional)
representing a destination, termination, boundary, region, or the
like. In various example embodiments, locations, such as addresses,
and/or region dimensions, building names, institution names,
landmarks, etc. may be input in other ways by a player, such as by
typing, gesture, and/or voice input.
[0084] FIG. 14 depicts a position 68 of a user 45 on a map
displayed on WT 200. Before a user joins a game, the user can
indicate his/her position by tapping a point on a map with a finger
and/or any appropriate device. In another example embodiment, a
user can enter coordinates or any appropriate indication of a
location via text, voice, gesture, or any appropriate combination
thereof.
[0085] FIG. 15 depicts an example rendering of a start time of a
geogame. In an example embodiment, a user can tap the join
indicator 70, and the start time will be rendered on the WT 200.
The start time can be rendered visually, audibly, mechanically
(vibration), or any combination thereof. The start time can be
rendered in any appropriate format. For example, the start time can
be a time of day (e.g. 4:05 PM Eastern Standard Time), a count down
timer (e.g., time remaining until start of geogame in seconds,
minutes, hours, days, etc.), or the like. As depicted in FIG. 10, a
user has tapped join indicator 70 and a rendering on the display of
WT 50 as shown in display area 64, indicates that the geogame will
start in 16 seconds. As time progresses, the indication of time in
display are 72 will decrement to zero. At time zero, the game
begins.
[0086] FIG. 16 is an example depiction of multiple players having
joined the geogame. Others can join the game prior to start time.
As depicted in FIG. 16, players 74 and 76 have joined the game. The
respective locations of players 74 and 76 are rendered on the WT
200. As a player joins the geogame, the location of the player is
determined and geocast. Other WTs in the geocast region will
receive the geocast message comprising the locations of the other
players.
[0087] FIG. 17 is a flow diagram of an example process for playing
a geogame. A player joins the geogame at step 80. At step 82, the
boundary for each virtual object in the geogame is determined. In
an example embodiment, a mobile device (e.g., WT 200) receives
information indicative of the location of each virtual object in
the geogame. And, the mobile device determines the boundary of each
virtual object in the geogame. In another example embodiment, a
processor receives the location of each virtual in the geogame,
determines the boundary of each virtual object in the geogame, and
provides information indicative of the boundary of each virtual
object in the geogame. The processor can be one of the mobile
devices participating in the geogame, a processor other than one of
the mobile devices, or any combination thereof.
[0088] Each mobile device participating in the geogame determines
its current location at step 84. At step 86, each mobile device
geocasts its current location. Thus, each mobile device
participating in the geogame should receive an indication of the
current location of all other mobile devices participating in the
geogame.
[0089] At step 88, each mobile device participating in the geogame
determines if the boundary of its currently location intersects
with a boundary of any of the virtual objects in the geogame. If,
at step 90, it is determined that the boundary of a mobile device
does not intersect the boundary of a virtual object, it is
determined, at step 114 if the game is over for that player. If the
game is over for that player, the game ends for that player at step
116. If the game is not over for that player, the process proceeds
to step 82 and, for that player continues therefrom.
[0090] If, at step 90, it is determined that the boundary of a
mobile device intersects the boundary of a virtual object, the type
of virtual object is determined at step 92. The type of object can
be, for example, good, bad, or attack, as previously described. If
it is determined, at step 92, that the type of virtual object is
good, the player utilizing the mobile device to participate in the
geogame is rewarded at step 94. A reward can include a point or
points added to the player's score. A reward can include time added
to a player's game play time. For example, if game players are
provided a fixed amount of time to play a game, and the winner of
the game is the player with the most points when the game is over,
a reward for capturing a good virtual object could be to add time
(e.g., seconds, minutes, hours) to the player's time allotted for
game play.
[0091] At step 96, it is determined if the captured virtual object
is to be converted to an attack object. If, at step 96, it is
determined that the captured virtual object is to be converted to
an attack object, the captured object is converted to an attack
object at step 98. From step 98, it is determined, at step 114 if
the game is over for the particular player. If the game is over for
the particular player, the game ends, for that player at step 116.
If the game is not over for that player, the process proceeds to
step 82 and, for that player, continues therefrom. If, at step 96,
it is determined that the captured virtual object is not to be
converted to an attack object, the captured object is removed from
game play at step 1008. From step 100, it is determined, at step
114 if the game is over for the particular player. If the game is
over for the particular player, the game ends, for that player at
step 116. If the game is not over for that player, the process
proceeds to step 82 and, for that player, continues therefrom.
[0092] If, at step 92, it is determined that the type of virtual
object is not a good object, it is determined, at step 102, if the
object is a bad virtual object of an attack virtual object. If it
is determined, at step 102, that the virtual object is an attack
virtual object, it is determined, at step 104, if the player (whose
current location boundary intersected the virtual object boundary)
was the player who converted the good virtual object to an attack
virtual object (converting player) at step 104. If it is
determined, at step 104, that the player is the converting player,
it is determined at step 114, if the game is over for that player.
If the game is over for that player, the game ends, for that player
at step 116. If the game is not over for that player, the process
proceeds to step 82 and, for that player, continues therefrom.
[0093] If it is determined, at step 104, that the player (whose
current location boundary intersected the virtual object boundary)
was not the player who converted the good virtual object to an
attack virtual object (not the converting player), the player is
penalized at step 106. A penalty can include a point or points be
removed from the player's score. A penalty can include time be
removed from a player's game play time. For example, if game
players are provided a fixed amount of time to play a game, and the
winner of the game is the player with the most points when the game
is over, a penalty for touching a bad or attack good virtual object
could be to remove time (e.g., seconds, minutes, hours) from the
player's time allotted for game play.
[0094] At step 108, it is determined if the virtual object (bad or
attack virtual object) is to be removed from game play. If it is
determined, at step 108, that the virtual object is to be removed
from game play, the virtual object is removed from game play at
step 110. From step 110, it is determined, at step 114 if the game
is over for the particular player. If the game is over for the
particular player, the game ends, for that player at step 116. If
the game is not over for that player, the process proceeds to step
82 and, for that player, continues therefrom.
[0095] If it is determined, at step 108, that the virtual object is
not to be removed from game play, the virtual object stays in game
play as depicted in step 112. From step 112, it is determined, at
step 114 if the game is over for the particular player. If the game
is over for the particular player, the game ends, for that player
at step 116. If the game is not over for that player, the process
proceeds to step 82 and, for that player, continues therefrom.
[0096] If it is determined, at step 102, that the virtual object is
a bad virtual object, it is determined, at step 104, the player is
penalized at step 106. A penalty can include a point or points be
removed from the player's score. A penalty can include time be
removed from a player's game play time. For example, if game
players are provided a fixed amount of time to play a game, and the
winner of the game is the player with the most points when the game
is over, a penalty for touching a bad or attack good virtual object
could be to remove time (e.g., seconds, minutes, hours) from the
player's time allotted for game play.
[0097] At step 108, it is determined if the virtual object (bad or
attack virtual object) is to be removed from game play. If it is
determined, at step 108, that the virtual object is to be removed
from game play, the virtual object is removed from game play at
step 110. From step 110, it is determined, at step 114 if the game
is over for the particular player. If the game is over for the
particular player, the game ends, for that player at step 116. If
the game is not over for that player, the process proceeds to step
82 and, for that player, continues therefrom.
[0098] If it is determined, at step 108, that the virtual object is
not to be removed from game play, the virtual object stays in game
play as depicted in step 112. From step 112, it is determined, at
step 114 if the game is over for the particular player. If the game
is over for the particular player, the game ends, for that player
at step 116. If the game is not over for that player, the process
proceeds to step 82 and, for that player, continues therefrom.
[0099] FIG. 18, which illustrates the relationship between event
history and state values, in an example embodiment, a global event
history comprises the union of events for each player of the
geogame. For example, as depicted in FIG. 19, a global event
history stored on player 1's device can include player 1's own
event history and the event history of each other player. An event
can comprise any appropriate event, such as for example, a position
(location) determined at a particular time, a user interface (UI)
event (e.g., screen tap at a particular time, etc.), or a
combination thereof. A global event history is operated on by a
function, depicted as function "f" in FIG. 19, to determine stat
values. A state value can include any appropriate state value, such
as for example, the state of a virtual object (e.g., good, bad,
attack, captured, if flying object: wings open or wings closed,
etc.), the state of a player (e.g., intersect a boundary, not
intersecting any boundaries, penalized, rewarded, score, etc.).
[0100] In an example embodiment, a global event history is
partitioned in time segments, referred to herein as epochs. FIG. 19
is an depiction of epochs for multiple players. An epoch can
represent any appropriate period of time. For example, an epoch can
comprise a discrete period of time (e.g., 100 milliseconds), a
proportional period of time (e.g., proportional to game length,
device clock rate, etc.), or a combination thereof. In an example
configuration, the time covered by an epoch is determined to ensure
that one position change (position and time), at most, and/or
another event (e.g. UI event), occurs during the epoch. For
example, referring to FIG. 19, for player 1, during epoch 1, a
position, a time associated with the position and a UI event (e.g.,
tap on the display of the device) shown. The subscript shown
indicates the epoch and player. It is to be understood that the
depiction of a global event history as shown in FIG. 19 is
exemplary, and is not to be construed as limiting thereto.
[0101] The function, f, determines derived state values from global
event history. In an example embodiment, the function, f,
determines new positions and states for each virtual object and
determines a score for each player. For each virtual object, in
order to determine a virtual object's position in the next epoch
(i+1), the function, f, determines the virtual object's position
(recursively) in the current epoch (i). The function, f, then
applies events from the next epoch (i+1) of the global event
history and state values of the virtual object (k). The result is a
new position and state values for the virtual object (VO.sub.k).
For example, a virtual object (VO.sub.k) couf move 2 meters north
and switch from wings open to wings closed. Initial positions and
state values can be predetermined and/or calculated. In another
example scenario, for each epoch (i), the function, f, can
determine whether a player intersects a boundary of a virtual
object (VO.sub.k), and if so, for good virtual objects, the
earliest player to become so positioned is the scorer and obtains
points, and for bad virtual objects, all players so positioned
incur penalties. And, if the virtual object is captured, the first
player so positioned captures the virtual object.
[0102] FIG. 20 is another flow diagram of an example process for
playing a geogame. At step 120, the state of the geogame is
initialized. At step 122, the geogame is set up. In an example
configuration, setting up comprises declaring (e.g., by an
originator of the geogame) an area of play and a start time. All
devices can compute a time correction in order to synchronize their
respective clocks to the official "game time."
[0103] At step 124, it is determined if the geogame is started. If
it is determined, at step 124, that the game has not started, the
process remains at step 124 to continue to determine if the geogame
has started. If, it is determined, at step 124, that the game has
started, the process proceeds to steps 126, 142, and 152, to
concurrently execute the respective subsequent steps. That is, the
three groups of steps (126, 128, 130, 132, 134, 136, and 138),
(142, 146, 148, and 150), and (152, 154, 156, and 158) can run
concurrently.
[0104] At step 126, it is determined if an event has occurred, and
the type of event. An event can comprise any appropriate event,
such as for example, a position change, a UI event, a game ending
event, an event history from another player/device, or the like, or
a combination thereof. If it is determined, at step 126, that an
event has occurred, and that the event is a game ending event, the
game is ended, for that device, at step 138. A game ending event
can comprising any appropriate game ending event, such as for
example, a game over event and/or expiration of time event (e.g.,
game time expired, level time expired, etc.) has occurred.
[0105] If, at step 126, it is determined that an event has
occurred, and that the event is an event history from another
player/device, the event history is received at step 128. The event
history from the other player/device is merged with the event
history of the receiving player/device at step 130. Geogame states
are computed (e.g., updated with the merged event history) at step
132. From step 132, the process proceeds to step 126.
[0106] If, at step 126, it is determined that an event has
occurred, and that the event comprises location information, an
indication to update location, and/or a UI event, the location of
the device is determined at step 134. At step 136, the event
history of the device is augmented with the newly determined
location information. And, geogame states are computed (e.g.,
updated with the augmented event history) at step 132. From step
132, the process proceeds to step 126.
[0107] Concurrently (e.g., with steps 126, 128, 130, 132, 134, 136,
138 and with steps 152, 154, 156, 158), it is determined, at step
142, if a transmit occasion has occurred. If it is determined, at
step 142, that a transmit occasion has occurred (e.g., an
opportunity to transmit), the device geocasts its event history at
step 146. If it is determined, at step 142, that a transmit
occasion has not occurred (e.g., no opportunity to transmit), it is
determined, at step 148, if a game ending event has occurred. If,
at step 148, it is determined that a game ending event has
occurred, the game is ended, for that device, at step 150. If, at
step 148, it is determined that a game ending event has not
occurred, the process proceeds to step 142.
[0108] Concurrently (e.g., with steps 126, 128, 130, 132, 134, 136,
138 and with steps 152, 154, 156, 158), it is determined, at step
152, if a screen refresh occasion has occurred. If it is
determined, at step 152, that a screen refresh occasion has
occurred (e.g., an opportunity to refresh the display of the
device), the screen (e.g., display of the device) is refreshed at
step 154. If it is determined, at step 152, that a screen refresh
occasion has not occurred (e.g., no opportunity to refresh the
display of the device), it is determined, at step 156, if a game
ending event has occurred. If, at step 156, it is determined that a
game ending event has occurred, the game is ended, for that device,
at step 158. If, at step 156, it is determined that a game ending
event has not occurred, the process proceeds to step 152.
[0109] FIG. 21 is a block diagram of an example communications
device (also referred to as a node, or wireless terminal, WT) 220
configured to facilitate geogaming. In an example configuration,
communications device 220 is a mobile wireless device. The
communications device 220 can comprise any appropriate device,
examples of which include a portable computing device, such as a
laptop, a personal digital assistant ("PDA"), a portable phone
(e.g., a cell phone or the like, a smart phone, a video phone), a
portable email device, a portable gaming device, a TV, a DVD
player, portable media player, (e.g., a portable music player, such
as an MP3 player, a walkmans, etc.), a portable navigation device
(e.g., GPS compatible device, A-GPS compatible device, etc.), or a
combination thereof. The communications device 220 can include
devices that are not typically thought of as portable, such as, for
example, a public computing device, a navigation device installed
in-vehicle, a set top box, or the like. The mobile communications
device 220 can include non-conventional computing devices, such as,
for example, a kitchen appliance, a motor vehicle control (e.g.,
steering wheel), etc., or the like. As evident from the herein
description, a node, and thus a communications device, is not to be
construed as software per se.
[0110] The communications device 220 can include any appropriate
device, mechanism, software, and/or hardware for facilitating a
geogame as described herein. In an example embodiment, the ability
to facilitate a geogame is a feature of the communications device
220 that can be turned on and off. Thus, an owner/user of the
communications device 220 can opt-in or opt-out of this
capability.
[0111] In an example configuration, the communications device 220
comprises a processing portion 222, a memory portion 224, an
input/output portion 226, and a user interface (UI) portion 228. It
is emphasized that the block diagram depiction of communications
device 220 is exemplary and not intended to imply a specific
implementation and/or configuration. For example, in an example
configuration, the communications device 220 comprises a cellular
phone and the processing portion 222 and/or the memory portion 224
are implemented, in part or in total, on a subscriber identity
module (SIM) of the mobile communications device 220. In another
example configuration, the communications device 220 comprises a
laptop computer. The laptop computer can include a SIM, and various
portions of the processing portion 222 and/or the memory portion
224 can be implemented on the SIM, on the laptop other than the
SIM, or any combination thereof.
[0112] The processing portion 222, memory portion 224, and
input/output portion 226 are coupled together to allow
communications therebetween. In various embodiments, the
input/output portion 226 comprises a receiver of the communications
device 220, a transmitter of the communications device 220, or a
combination thereof. The input/output portion 226 is capable of
receiving and/or providing information pertaining geogaming as
described above. For example, the communications device 220 is
capable of sending geocasts and receiving geocasts. In various
configurations, the input/output portion 226 can receive and/or
provide information via any appropriate means, such as, for
example, optical means (e.g., infrared), electromagnetic means
(e.g., RF, WI-FI, BLUETOOTH, ZIGBEE, etc.), acoustic means (e.g.,
speaker, microphone, ultrasonic receiver, ultrasonic transmitter),
or a combination thereof.
[0113] The processing portion 222 is capable of performing
functions pertaining to geogaming as described above. In a basic
configuration, the communications device 220 can include at least
one memory portion 224. The memory portion 224 is a storage medium
having a tangible physical structure. The memory portion 224 can
store any information utilized in conjunction with geogaming as
described above. Depending upon the exact configuration and type of
processor, the memory portion 224 can be volatile (such as some
types of RAM), non-volatile (such as ROM, flash memory, etc.), or a
combination thereof. The mobile communications device 220 can
include additional storage (e.g., removable storage and/or
non-removable storage) including, but not limited to, tape, flash
memory, smart cards, CD-ROM, digital versatile disks (DVD) or other
optical storage, magnetic cassettes, magnetic tape, magnetic disk
storage or other magnetic storage devices, universal serial bus
(USB) compatible memory, or any other medium which can be used to
store information and which can be accessed by the mobile
communications device 220.
[0114] The communications device 220 also can contain a user
interface (UI) portion 228 allowing a user to communicate with the
communications device 220. The UI portion 228 is capable of
rendering any information utilized in conjunction with geogaming as
described above. The UI portion 228 can provide the ability to
control the communications device 220, via, for example, buttons,
soft keys, voice actuated controls, a touch screen, movement of the
mobile communications device 220, visual cues (e.g., moving a hand
in front of a camera on the mobile communications device 220), or
the like. The UI portion 228 can provide visual information (e.g.,
via a display), audio information (e.g., via speaker), mechanically
(e.g., via a vibrating mechanism), or a combination thereof. In
various configurations, the UI portion 228 can comprise a display,
a touch screen, a keyboard, an accelerometer, a motion detector, a
speaker, a microphone, a camera, a tilt sensor, or any combination
thereof. The UI portion 228 can comprise means for inputting
biometric information, such as, for example, fingerprint
information, retinal information, voice information, and/or facial
characteristic information.
[0115] The UI portion 228 can include a display for displaying
multimedia such as, for example, virtual objects, players,
application graphical user interfaces (GUIs), text, images, video,
telephony functions such as Caller ID data, setup functions, menus,
music, metadata, messages, wallpaper, graphics, Internet content,
device status, preferences settings, map and location data, routes
and other directions, points of interest (POI), and the like.
[0116] In some embodiments, the UI portion can comprise a user
interface (UI) application. The UI application interfaces with a
client or operating system (OS) to, for example, facilitate user
interaction with device functionality and data. The UI application
can aid a user in entering message content, viewing received
messages, answering/initiating calls, entering/deleting data,
entering and setting user IDs and passwords, configuring settings,
manipulating address book content and/or settings, interacting with
other applications, or the like, and may aid the user in inputting
selections and maneuvers associated with geogaming as described
herein.
[0117] Although not necessary to implement geogaming, a
communications device can be part of and/or in communications with
various wireless communications networks. Some of which are
described below.
[0118] FIG. 22 depicts an overall block diagram of an exemplary
packet-based mobile cellular network environment, such as a GPRS
network, within which geogaming can be implemented. In the
exemplary packet-based mobile cellular network environment shown in
FIG. 22, there are a plurality of Base Station Subsystems ("BSS")
800 (only one is shown), each of which comprises a Base Station
Controller ("BSC") 802 serving a plurality of Base Transceiver
Stations ("BTS") such as BTSs 804, 806, and 808. BTSs 804, 806,
808, etc. are the access points where users of packet-based mobile
devices become connected to the wireless network. In exemplary
fashion, the packet traffic originating from user devices is
transported via an over-the-air interface to a BTS 808, and from
the BTS 808 to the BSC 802. Base station subsystems, such as BSS
800, are a part of internal frame relay network 810 that can
include Service GPRS Support Nodes ("SGSN") such as SGSN 812 and
814. Each SGSN is connected to an internal packet network 820
through which a SGSN 812, 814, etc. can route data packets to and
from a plurality of gateway GPRS support nodes (GGSN) 822, 824,
826, etc. As illustrated, SGSN 814 and GGSNs 822, 824, and 826 are
part of internal packet network 820. Gateway GPRS serving nodes
822, 824 and 826 mainly provide an interface to external Internet
Protocol ("IP") networks such as Public Land Mobile Network
("PLMN") 850, corporate intranets 840, or Fixed-End System ("FES")
or the public Internet 830. As illustrated, subscriber corporate
network 840 may be connected to GGSN 824 via firewall 832; and PLMN
850 is connected to GGSN 824 via boarder gateway router 834. The
Remote Authentication Dial-In User Service ("RADIUS") server 842
may be used for caller authentication when a user of a mobile
cellular device calls corporate network 840.
[0119] Generally, there can be a several cell sizes in a GSM
network, referred to as macro, micro, pico, femto and umbrella
cells. The coverage area of each cell is different in different
environments. Macro cells can be regarded as cells in which the
base station antenna is installed in a mast or a building above
average roof top level. Micro cells are cells whose antenna height
is under average roof top level. Micro-cells are typically used in
urban areas. Pico cells are small cells having a diameter of a few
dozen meters. Pico cells are used mainly indoors. Femto cells have
the same size as pico cells, but a smaller transport capacity.
Femto cells are used indoors, in residential, or small business
environments. On the other hand, umbrella cells are used to cover
shadowed regions of smaller cells and fill in gaps in coverage
between those cells.
[0120] FIG. 23 illustrates an architecture of a typical GPRS
network within which geogaming can be implemented. The architecture
depicted in FIG. 23 is segmented into four groups: users 950, radio
access network 960, core network 970, and interconnect network 980.
Users 950 comprise a plurality of end users. Note, device 912 is
referred to as a mobile subscriber in the description of network
shown in FIG. 23. In an example embodiment, the device depicted as
mobile subscriber 912 comprises a communications device (e.g.,
communications device 278). Radio access network 960 comprises a
plurality of base station subsystems such as BSSs 962, which
include BTSs 964 and BSCs 966. Core network 970 comprises a host of
various network elements. As illustrated in FIG. 23, core network
970 may comprise Mobile Switching Center ("MSC") 971, Service
Control Point ("SCP") 972, gateway MSC 973, SGSN 976, Home Location
Register ("HLR") 974, Authentication Center ("AuC") 975, Domain
Name Server ("DNS") 977, and GGSN 978. Interconnect network 980
also comprises a host of various networks and other network
elements. As illustrated in FIG. 23, interconnect network 980
comprises Public Switched Telephone Network ("PSTN") 982, Fixed-End
System ("FES") or Internet 984, firewall 988, and Corporate Network
989.
[0121] A mobile switching center can be connected to a large number
of base station controllers. At MSC 971, for instance, depending on
the type of traffic, the traffic may be separated in that voice may
be sent to Public Switched Telephone Network ("PSTN") 982 through
Gateway MSC ("GMSC") 973, and/or data may be sent to SGSN 976,
which then sends the data traffic to GGSN 978 for further
forwarding.
[0122] When MSC 971 receives call traffic, for example, from BSC
966, it sends a query to a database hosted by SCP 972. The SCP 972
processes the request and issues a response to MSC 971 so that it
may continue call processing as appropriate.
[0123] The HLR 974 is a centralized database for users to register
to the GPRS network. HLR 974 stores static information about the
subscribers such as the International Mobile Subscriber Identity
("IMSI"), subscribed services, and a key for authenticating the
subscriber. HLR 974 also stores dynamic subscriber information such
as the current location of the mobile subscriber. Associated with
HLR 974 is AuC 975. AuC 975 is a database that contains the
algorithms for authenticating subscribers and includes the
associated keys for encryption to safeguard the user input for
authentication.
[0124] In the following, depending on context, the term "mobile
subscriber" sometimes refers to the end user and sometimes to the
actual portable device, such as a mobile device, used by an end
user of the mobile cellular service. When a mobile subscriber turns
on his or her mobile device, the mobile device goes through an
attach process by which the mobile device attaches to an SGSN of
the GPRS network. In FIG. 23, when mobile subscriber 912 initiates
the attach process by turning on the network capabilities of the
mobile device, an attach request is sent by mobile subscriber 912
to SGSN 976. The SGSN 976 queries another SGSN, to which mobile
subscriber 912 was attached before, for the identity of mobile
subscriber 912. Upon receiving the identity of mobile subscriber
912 from the other SGSN, SGSN 976 requests more information from
mobile subscriber 912. This information is used to authenticate
mobile subscriber 912 to SGSN 976 by HLR 974. Once verified, SGSN
976 sends a location update to HLR 974 indicating the change of
location to a new SGSN, in this case SGSN 976. HLR 974 notifies the
old SGSN, to which mobile subscriber 912 was attached before, to
cancel the location process for mobile subscriber 912. HLR 974 then
notifies SGSN 976 that the location update has been performed. At
this time, SGSN 976 sends an Attach Accept message to mobile
subscriber 912, which in turn sends an Attach Complete message to
SGSN 976.
[0125] After attaching itself with the network, mobile subscriber
912 then goes through the authentication process. In the
authentication process, SGSN 976 sends the authentication
information to HLR 974, which sends information back to SGSN 976
based on the user profile that was part of the user's initial
setup. The SGSN 976 then sends a request for authentication and
ciphering to mobile subscriber 912. The mobile subscriber 912 uses
an algorithm to send the user identification (ID) and password to
SGSN 976. The SGSN 976 uses the same algorithm and compares the
result. If a match occurs, SGSN 976 authenticates mobile subscriber
912.
[0126] Next, the mobile subscriber 912 establishes a user session
with the destination network, corporate network 989, by going
through a Packet Data Protocol ("PDP") activation process. Briefly,
in the process, mobile subscriber 912 requests access to the Access
Point Name ("APN"), for example, UPS.com, and SGSN 976 receives the
activation request from mobile subscriber 912. SGSN 976 then
initiates a Domain Name Service ("DNS") query to learn which GGSN
node has access to the UPS.com APN. The DNS query is sent to the
DNS server within the core network 970, such as DNS 977, which is
provisioned to map to one or more GGSN nodes in the core network
970. Based on the APN, the mapped GGSN 978 can access the requested
corporate network 989. The SGSN 976 then sends to GGSN 978 a Create
Packet Data Protocol ("PDP") Context Request message that contains
necessary information. The GGSN 978 sends a Create PDP Context
Response message to SGSN 976, which then sends an Activate PDP
Context Accept message to mobile subscriber 912.
[0127] Once activated, data packets of the call made by mobile
subscriber 912 can then go through radio access network 960, core
network 970, and interconnect network 980, in a particular
fixed-end system or Internet 984 and firewall 988, to reach
corporate network 989.
[0128] FIG. 24 illustrates an exemplary block diagram view of a
GSM/GPRS/IP multimedia network architecture within geogaming can be
implemented. As illustrated, the architecture of FIG. 24 includes a
GSM core network 1001, a GPRS network 1030 and an IP multimedia
network 1038. The GSM core network 1001 includes a Mobile Station
(MS) 1002, at least one Base Transceiver Station (BTS) 1004 and a
Base Station Controller (BSC) 1006. The MS 1002 is physical
equipment or Mobile Equipment (ME), such as a mobile phone or a
laptop computer that is used by mobile subscribers, with a
Subscriber identity Module (SIM) or a Universal Integrated Circuit
Card (UICC). The SIM or UICC includes an International Mobile
Subscriber Identity (IMSI), which is a unique identifier of a
subscriber. The BTS 1004 is physical equipment, such as a radio
tower, that enables a radio interface to communicate with the MS.
Each BTS may serve more than one MS. The BSC 1006 manages radio
resources, including the BTS. The BSC may be connected to several
BTSs. The BSC and BTS components, in combination, are generally
referred to as a base station (BSS) or radio access network (RAN)
1003.
[0129] The GSM core network 1001 also includes a Mobile Switching
Center (MSC) 1008, a Gateway Mobile Switching Center (GMSC) 1010, a
Home Location Register (HLR) 1012, Visitor Location Register (VLR)
1014, an Authentication Center (AuC) 1018, and an Equipment
Identity Register (EIR) 1016. The MSC 1008 performs a switching
function for the network. The MSC also performs other functions,
such as registration, authentication, location updating, handovers,
and call routing. The GMSC 1010 provides a gateway between the GSM
network and other networks, such as an Integrated Services Digital
Network (ISDN) or Public Switched Telephone Networks (PSTNs) 1020.
Thus, the GMSC 1010 provides interworking functionality with
external networks.
[0130] The HLR 1012 is a database that contains administrative
information regarding each subscriber registered in a corresponding
GSM network. The HLR 1012 also contains the current location of
each MS. The VLR 1014 is a database that contains selected
administrative information from the HLR 1012. The VLR contains
information necessary for call control and provision of subscribed
services for each MS currently located in a geographical area
controlled by the VLR. The HLR 1012 and the VLR 1014, together with
the MSC 1008, provide the call routing and roaming capabilities of
GSM. The AuC 1016 provides the parameters needed for authentication
and encryption functions. Such parameters allow verification of a
subscriber's identity. The EIR 1018 stores security-sensitive
information about the mobile equipment.
[0131] A Short Message Service Center (SMSC) 1009 allows one-to-one
Short Message Service (SMS) messages to be sent to/from the MS
1002. A Push Proxy Gateway (PPG) 1011 is used to "push" (i.e., send
without a synchronous request) content to the MS 1002. The PPG 1011
acts as a proxy between wired and wireless networks to facilitate
pushing of data to the MS 1002. A Short Message Peer to Peer (SMPP)
protocol router 1013 is provided to convert SMS-based SMPP messages
to cell broadcast messages. SMPP is a protocol for exchanging SMS
messages between SMS peer entities such as short message service
centers. The SMPP protocol is often used to allow third parties,
e.g., content suppliers such as news organizations, to submit bulk
messages.
[0132] To gain access to GSM services, such as speech, data, and
short message service (SMS), the MS first registers with the
network to indicate its current location by performing a location
update and IMSI attach procedure. The MS 1002 sends a location
update including its current location information to the MSC/VLR,
via the BTS 1004 and the BSC 1006. The location information is then
sent to the MS's HLR. The HLR is updated with the location
information received from the MSC/VLR. The location update also is
performed when the MS moves to a new location area. Typically, the
location update is periodically performed to update the database as
location updating events occur.
[0133] The GPRS network 1030 is logically implemented on the GSM
core network architecture by introducing two packet-switching
network nodes, a serving GPRS support node (SGSN) 1032, a cell
broadcast and a Gateway GPRS support node (GGSN) 1034. The SGSN
1032 is at the same hierarchical level as the MSC 1008 in the GSM
network. The SGSN controls the connection between the GPRS network
and the MS 1002. The SGSN also keeps track of individual MS's
locations and security functions and access controls.
[0134] A Cell Broadcast Center (CBC) 14 communicates cell broadcast
messages that are typically delivered to multiple users in a
specified area. Cell Broadcast is one-to-many geographically
focused service. It enables messages to be communicated to multiple
mobile phone customers who are located within a given part of its
network coverage area at the time the message is broadcast.
[0135] The GGSN 1034 provides a gateway between the GPRS network
and a public packet network (PDN) or other IP networks 1036. That
is, the GGSN provides interworking functionality with external
networks, and sets up a logical link to the MS through the SGSN.
When packet-switched data leaves the GPRS network, it is
transferred to an external TCP-IP network 1036, such as an X.25
network or the Internet. In order to access GPRS services, the MS
first attaches itself to the GPRS network by performing an attach
procedure. The MS then activates a packet data protocol (PDP)
context, thus activating a packet communication session between the
MS, the SGSN, and the GGSN.
[0136] In a GSM/GPRS network, GPRS services and GSM services can be
used in parallel. The MS can operate in one of three classes: class
A, class B, and class C. A class A MS can attach to the network for
both GPRS services and GSM services simultaneously. A class A MS
also supports simultaneous operation of GPRS services and GSM
services. For example, class A mobiles can receive GSM
voice/data/SMS calls and GPRS data calls at the same time.
[0137] A class B MS can attach to the network for both GPRS
services and GSM services simultaneously. However, a class B MS
does not support simultaneous operation of the GPRS services and
GSM services. That is, a class B MS can only use one of the two
services at a given time.
[0138] A class C MS can attach for only one of the GPRS services
and GSM services at a time. Simultaneous attachment and operation
of GPRS services and GSM services is not possible with a class C
MS.
[0139] A GPRS network 1030 can be designed to operate in three
network operation modes (NOM1, NOM2 and NOM3). A network operation
mode of a GPRS network is indicated by a parameter in system
information messages transmitted within a cell. The system
information messages dictates a MS where to listen for paging
messages and how to signal towards the network. The network
operation mode represents the capabilities of the GPRS network. In
a NOM1 network, a MS can receive pages from a circuit switched
domain (voice call) when engaged in a data call. The MS can suspend
the data call or take both simultaneously, depending on the ability
of the MS. In a NOM2 network, a MS may not received pages from a
circuit switched domain when engaged in a data call, since the MS
is receiving data and is not listening to a paging channel. In a
NOM3 network, a MS can monitor pages for a circuit switched network
while received data and vise versa.
[0140] The IP multimedia network 1038 was introduced with 3GPP
Release 5, and includes an IP multimedia subsystem (IMS) 1040 to
provide rich multimedia services to end users. A representative set
of the network entities within the IMS 1040 are a call/session
control function (CSCF), a media gateway control function (MGCF)
1046, a media gateway (MGW) 1048, and a master subscriber database,
called a home subscriber server (HSS) 1050. The HSS 1050 may be
common to the GSM network 1001, the GPRS network 1030 as well as
the IP multimedia network 1038.
[0141] The IP multimedia system 1040 is built around the
call/session control function, of which there are three types: an
interrogating CSCF (I-CSCF) 1043, a proxy CSCF (P-CSCF) 1042, and a
serving CSCF (S-CSCF) 1044. The P-CSCF 1042 is the MS's first point
of contact with the IMS 1040. The P-CSCF 1042 forwards session
initiation protocol (SIP) messages received from the MS to an SIP
server in a home network (and vice versa) of the MS. The P-CSCF
1042 may also modify an outgoing request according to a set of
rules defined by the network operator (for example, address
analysis and potential modification).
[0142] The I-CSCF 1043, forms an entrance to a home network and
hides the inner topology of the home network from other networks
and provides flexibility for selecting an S-CSCF. The I-CSCF 1043
may contact a subscriber location function (SLF) 1045 to determine
which HSS 1050 to use for the particular subscriber, if multiple
HSS's 1050 are present. The S-CSCF 1044 performs the session
control services for the MS 1002. This includes routing originating
sessions to external networks and routing terminating sessions to
visited networks. The S-CSCF 1044 also decides whether an
application server (AS) 1052 is required to receive information on
an incoming SIP session request to ensure appropriate service
handling. This decision is based on information received from the
HSS 1050 (or other sources, such as an application server 1052).
The AS 1052 also communicates to a location server 1056 (e.g., a
Gateway Mobile Location Center (GMLC)) that provides a position
(e.g., latitude/longitude coordinates) of the MS 1002.
[0143] The HSS 1050 contains a subscriber profile and keeps track
of which core network node is currently handling the subscriber. It
also supports subscriber authentication and authorization functions
(AAA). In networks with more than one HSS 1050, a subscriber
location function provides information on the HSS 1050 that
contains the profile of a given subscriber.
[0144] The MGCF 1046 provides interworking functionality between
SIP session control signaling from the IMS 1040 and ISUP/BICC call
control signaling from the external GSTN networks (not shown). It
also controls the media gateway (MGW) 1048 that provides user-plane
interworking functionality (e.g., converting between AMR- and
PCM-coded voice). The MGW 1048 also communicates with other IP
multimedia networks 1054.
[0145] Push to Talk over Cellular (PoC) capable mobile phones
register with the wireless network when the phones are in a
predefined area (e.g., job site, etc.). When the mobile phones
leave the area, they register with the network in their new
location as being outside the predefined area. This registration,
however, does not indicate the actual physical location of the
mobile phones outside the pre-defined area.
[0146] FIG. 25 illustrates a PLMN block diagram view of an
exemplary architecture in which the geogaming may be incorporated.
Mobile Station (MS) 1101 is the physical equipment used by the PLMN
subscriber. In one illustrative embodiment, WT 200 and/or
communications device 120 may serve as Mobile Station 1101. Mobile
Station 1101 may be one of, but not limited to, a cellular
telephone, a cellular telephone in combination with another
electronic device or any other wireless mobile communication
device.
[0147] Mobile Station 1101 may communicate wirelessly with Base
Station System (BSS) 1110. BSS 1110 contains a Base Station
Controller (BSC) 1111 and a Base Transceiver Station (BTS) 1112.
BSS 1110 may include a single BSC 1111/BTS 1112 pair (Base Station)
or a system of BSC/BTS pairs which are part of a larger network.
BSS 1110 is responsible for communicating with Mobile Station 1101
and may support one or more cells. BSS 1110 is responsible for
handling cellular traffic and signaling between Mobile Station 1101
and Core Network 1140. Typically, BSS 1110 performs functions that
include, but are not limited to, digital conversion of speech
channels, allocation of channels to mobile devices, paging, and
transmission/reception of cellular signals.
[0148] Additionally, Mobile Station 1101 may communicate wirelessly
with Radio Network System (RNS) 1120. RNS 1120 contains a Radio
Network Controller (RNC) 1121 and one or more Node(s) B 1122. RNS
1120 may support one or more cells. RNS 1120 may also include one
or more RNC 1121/Node B 1122 pairs or alternatively a single RNC
1121 may manage multiple Nodes B 1122. RNS 1120 is responsible for
communicating with Mobile Station 1101 in its geographically
defined area. RNC 1121 is responsible for controlling the Node(s) B
1122 that are connected to it and is a control element in a UMTS
radio access network. RNC 1121 performs functions such as, but not
limited to, load control, packet scheduling, handover control,
security functions, as well as controlling Mobile Station 1101's
access to the Core Network (CN) 1140.
[0149] The evolved UMTS Terrestrial Radio Access Network (E-UTRAN)
1130 is a radio access network that provides wireless data
communications for Mobile Station 1101 and User Equipment 1102.
E-UTRAN 1130 provides higher data rates than traditional UMTS. It
is part of the Long Term Evolution (LTE) upgrade for mobile
networks and later releases meet the requirements of the
International Mobile Telecommunications (IMT) Advanced and are
commonly known as a 4G networks. E-UTRAN 1130 may include of series
of logical network components such as E-UTRAN Node B (eNB) 1131 and
E-UTRAN Node B (eNB) 1132. E-UTRAN 1130 may contain one or more
eNBs. User Equipment 1102 may be any user device capable of
connecting to E-UTRAN 1130 including, but not limited to, a
personal computer, laptop, mobile device, wireless router, or other
device capable of wireless connectivity to E-UTRAN 1130. The
improved performance of the E-UTRAN 1130 relative to a typical UMTS
network allows for increased bandwidth, spectral efficiency, and
functionality including, but not limited to, voice, high-speed
applications, large data transfer and IPTV, while still allowing
for full mobility.
[0150] An exemplary embodiment of a mobile data and communication
service that may be implemented in the PLMN architecture described
in FIG. 25 is the Enhanced Data rates for GSM Evolution (EDGE).
EDGE is an enhancement for GPRS networks that implements an
improved signal modulation scheme known as 8-PSK (Phase Shift
Keying). By increasing network utilization, EDGE may achieve up to
three times faster data rates as compared to a typical GPRS
network. EDGE may be implemented on any GSM network capable of
hosting a GPRS network, making it an ideal upgrade over GPRS since
it may provide increased functionality of existing network
resources. Evolved EDGE networks are becoming standardized in later
releases of the radio telecommunication standards, which provide
for even greater efficiency and peak data rates of up to 1 Mbit/s,
while still allowing implementation on existing GPRS-capable
network infrastructure.
[0151] Typically Mobile Station 1101 may communicate with any or
all of BSS 1110, RNS 1120, or E-UTRAN 1130. In a illustrative
system, each of BSS 1110, RNS 1120, and E-UTRAN 1130 may provide
Mobile Station 1101 with access to Core Network 1140. The Core
Network 1140 may include of a series of devices that route data and
communications between end users. Core Network 1140 may provide
network service functions to users in the Circuit Switched (CS)
domain, the Packet Switched (PS) domain or both. The CS domain
refers to connections in which dedicated network resources are
allocated at the time of connection establishment and then released
when the connection is terminated. The PS domain refers to
communications and data transfers that make use of autonomous
groupings of bits called packets. Each packet may be routed,
manipulated, processed or handled independently of all other
packets in the PS domain and does not require dedicated network
resources.
[0152] The Circuit Switched--Media Gateway Function (CS-MGW) 1141
is part of Core Network 1140, and interacts with Visitor Location
Register (VLR) and Mobile-Services Switching Center (MSC) Server
1160 and Gateway MSC Server 1161 in order to facilitate Core
Network 1140 resource control in the CS domain. Functions of CS-MGW
1141 include, but are not limited to, media conversion, bearer
control, payload processing and other mobile network processing
such as handover or anchoring. CS-MGW 1140 may receive connections
to Mobile Station 1101 through BSS 1110, RNS 1120 or both.
[0153] Serving GPRS Support Node (SGSN) 1142 stores subscriber data
regarding Mobile Station 1101 in order to facilitate network
functionality. SGSN 1142 may store subscription information such
as, but not limited to, the International Mobile Subscriber
Identity (IMSI), temporary identities, or Packet Data Protocol
(PDP) addresses. SGSN 1142 may also store location information such
as, but not limited to, the Gateway GPRS Support Node (GGSN) 1144
address for each GGSN where an active PDP exists. GGSN 1144 may
implement a location register function to store subscriber data it
receives from SGSN 1142 such as subscription or location
information.
[0154] Serving Gateway (S-GW) 1143 is an interface which provides
connectivity between E-UTRAN 1130 and Core Network 1140. Functions
of S-GW 1143 include, but are not limited to, packet routing,
packet forwarding, transport level packet processing, event
reporting to Policy and Charging Rules Function (PCRF) 1150, and
mobility anchoring for inter-network mobility. PCRF 1150 uses
information gathered from S-GW 1143, as well as other sources, to
make applicable policy and charging decisions related to data
flows, network resources and other network administration
functions. Packet Data Network Gateway (PDN-GW) 1145 may provide
user-to-services connectivity functionality including, but not
limited to, network-wide mobility anchoring, bearer session
anchoring and control, and IP address allocation for PS domain
connections.
[0155] Home Subscriber Server (HSS) 1163 is a database for user
information, and stores subscription data regarding Mobile Station
1101 or User Equipment 1102 for handling calls or data sessions.
Networks may contain one HSS 1163 or more if additional resources
are required. Exemplary data stored by HSS 1163 include, but is not
limited to, user identification, numbering and addressing
information, security information, or location information. HSS
1163 may also provide call or session establishment procedures in
both the PS and CS domains.
[0156] The VLR/MSC Server 1160 provides user location
functionality. When Mobile Station 1101 enters a new network
location, it begins a registration procedure. A MSC Server for that
location transfers the location information to the VLR for the
area. A VLR and MSC Server may be located in the same computing
environment, as is shown by VLR/MSC Server 1160, or alternatively
may be located in separate computing environments. A VLR may
contain, but is not limited to, user information such as the IMSI,
the Temporary Mobile Station Identity (TMSI), the Local Mobile
Station Identity (LMSI), the last known location of the mobile
station, or the SGSN where the mobile station was previously
registered. The MSC server may contain information such as, but not
limited to, procedures for Mobile Station 1101 registration or
procedures for handover of Mobile Station 1101 to a different
section of the Core Network 1140. GMSC Server 1161 may serve as a
connection to alternate GMSC Servers for other mobile stations in
larger networks.
[0157] Equipment Identity Register (EIR) 1162 is a logical element
which may store the International Mobile Equipment Identities
(IMEI) for Mobile Station 1101. In a typical embodiment, user
equipment may be classified as either "white listed" or "black
listed" depending on its status in the network. In one embodiment,
if Mobile Station 1101 is stolen and put to use by an unauthorized
user, it may be registered as "black listed" in EIR 1162,
preventing its use on the network. Mobility Management Entity (MME)
1164 is a control node which may track Mobile Station 1101 or User
Equipment 1102 if the devices are idle. Additional functionality
may include the ability of MME 1164 to contact an idle Mobile
Station 1101 or User Equipment 1102 if retransmission of a previous
session is required.
[0158] While example embodiments of geogaming have been described
in connection with various computing devices/processors, the
underlying concepts can be applied to any computing device,
processor, or system capable of implementing geogames. The various
techniques described herein can be implemented in connection with
hardware or software or, where appropriate, with a combination of
both. Thus, the methods and apparatuses of geogaming can be
implemented, or certain aspects or portions thereof, can take the
form of program code (i.e., instructions) embodied in tangible
storage media having a tangible physical structure. Examples of
tangible storage media include floppy diskettes, CD-ROMs, DVDs,
hard drives, or any other tangible machine-readable storage medium
(tangible computer-readable storage medium). Thus, a tangible
storage medium as described herein is not intended to be a
transient propagating signal. When the program code is loaded into
and executed by a machine, such as a computer, the machine becomes
an apparatus for implementing geogames. In the case of program code
execution on programmable computers, the computing device will
generally include a processor, a storage medium readable by the
processor (including volatile and non-volatile memory and/or
storage elements), at least one input device, and at least one
output device. The program(s) can be implemented in assembly or
machine language, if desired. The language can be a compiled or
interpreted language, and combined with hardware implementations.
As evident from the herein description, a tangible storage medium
is to be construed to be statutory subject matter under United
States Code, Title 35, Section 101 (35 U.S.C. .sctn.101).
[0159] The methods and apparatuses for geogaming also can be
practiced via communications embodied in the form of program code
that is transmitted over some transmission medium, such as over
electrical wiring or cabling, through fiber optics, or via any
other form of transmission, wherein, when the program code is
received and loaded into and executed by a machine, such as an
EPROM, a gate array, a programmable logic device (PLD), a client
computer, or the like, the machine becomes an apparatus for
implementing geogames. When implemented on a general-purpose
processor, the program code combines with the processor to provide
a unique apparatus that operates to invoke the functionality of
geogaming.
[0160] While geogaming has been described in connection with the
various embodiments of the various figures, it is to be understood
that other similar embodiments can be used or modifications and
additions can be made to the described embodiments for geographic
based logical message addressing and delivery without deviating
therefrom. For example, one skilled in the art will recognize that
geogaming as described in the present application may apply to any
environment, whether wired or wireless, and may be applied to any
number of such devices connected via a communications network and
interacting across the network. Therefore, geogaming should not be
limited to any single embodiment, but rather should be construed in
breadth and scope in accordance with the appended claims.
* * * * *