TECHNICAL FIELD
[0001] The present disclosure relates to motion detection systems, and more particularly
to a method and portable electronic device for golf swing detection for scoring assistance.
BACKGROUND
[0002] A golfer can easily and often lose track of how many strokes a player has made at
a given hole. Conventional golf stroke counters use indexing wheels which are advanced
through a range of index positions by depressing a corresponding button which engages
the wheel and which rotates it from its current index position to the next index position.
Typically, a first indexing wheel is provided for counting holes (the "hole wheel")
and a second indexing wheel is provided for counting strokes (the "stroke wheel").
While useful, conventional golf swing counters require user interaction at each swing
(by depressing the button) and the resetting of the device at the start of each new
hole.
[0003] Depending on the indexing mechanism used and the corresponding indexes, resetting
the hole wheel or stroke wheel may require the player to depress the button until
the corresponding indexing wheel has made a full rotation and returns to its starting
(e.g., 1 or 0 stroke) position. Typically, the hole and stroke wheels each have nine
or ten index positions with are marked or others indicated as values 1 to 9 or 0 to
9, depending on the number of index positions.
[0004] Depending on the rules being used by the players, which may vary between golf courses
and/or players, the maximum number of golf strokes counted by the golf stroke counter
may be greater than or smaller than that being used by the players. For example, if
a maximum stroke count of 6 or 7 is being used, the player may have to depress the
button 3 or 4 times to reset the stroke wheel. This sometimes results in "over-pressing"
in which the player accidental advances the stroke wheel beyond the starting index
position. If no maximum stroke count is being used by the players or a maximum stroke
count of 10 or more is being used, a player with ten or more strokes may have to keep
mental track of this fact since the stroke wheel typically only provides one place
holder, resulting in a maximum stroke count of 9 on the device.
[0005] In view of the above, there remains a need for improved golf stroke counters.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] FIG. 1 is a block diagram illustrating a communication system including a mobile
communication device to which example embodiments of the present disclosure can be
applied;
[0007] FIG. 2 is a block diagram illustrating a mobile communication device in accordance
with one example embodiment of the present disclosure;
[0008] FIG. 3 is a block diagram of a motion detection subsystem comprising a digital 3-axis
accelerometer in accordance with one example embodiment of the present disclosure;
[0009] FIG. 4A illustrates a first second example user interface screen of a stroke count
which could be displayed on a display screen of a device;
[0010] FIG. 4B illustrates a second example user interface screen of a stroke count which
could be displayed on a display screen of a device; and
[0011] FIG. 5 is a flowchart illustrating example operations for golf swing detection in
accordance with one example embodiment of the present disclosure.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0012] The present disclosure is directed to a method and portable electronic device for
golf swing detection. The method and device of the present disclosure may be used
to keep score more accurately than conventional devices and may require less user
interaction than conventional devices. The device user player may also be provided
with the option to set the scoring rules to be used and/or review and optionally edit
golf scores, for example, to correct any errors in golf swing detection.
[0013] In accordance with one embodiment of the present disclosure, there is provided a
method for golf swing detection on a portable electronic device, comprising: monitoring
for and detecting golf swing gestures; determining a location of the device; incrementing
a stroke counter when a golf swing gesture is detected and a previous golf swing gesture
was not detected within a predetermined distance of the determined location; and displaying
the value of the stroke counter in a user interface screen displayed on a display
screen of the device.
[0014] In accordance with another embodiment of the present disclosure, there is provided
a portable electronic device, comprising: a controller for controlling the operation
of the device; a memory connected to the controller; a display screen connected to
the controller; the controller being configured for monitoring for and detecting golf
swing gestures, determining a location of the device, incrementing a stroke counter
when a golf swing gesture is detected and a previous golf swing gesture was not detected
within a predetermined distance of the determined device location, and displaying
the value of the stroke counter in a user interface screen displayed on the display
screen of the device.
[0015] In accordance with a further embodiment of the present disclosure, there is provided
a computer program product comprising a computer readable medium storing instructions
in the form of executable program code for causing the portable electronic device
to perform the described methods.
[0016] The embodiments described herein relate to portable electronic devices such as handheld
electronic devices. Examples of handheld electronic devices include mobile communication
devices such as pagers, cellular phones, Global Positioning System (GPS) navigation
devices and other satellite navigation devices and smart phones, wireless organizers
and personal digital assistants (PDAs). The handheld electronic device may also be
a portable electronic device without wireless communication capabilities such as a
PDA, electronic gaming device or digital camera. The handheld electronic device may
be a special purpose golf scoring device.
[0017] Reference is now made to FIG. 2 which illustrates a mobile communication device 201
in which example embodiments described in the present disclosure can be applied. The
mobile communication device 201 is a two-way communication device having at least
data and possibly also voice communication capabilities, and the capability to communicate
with other computer systems, for example, via the Internet. Depending on the functionality
provided by the mobile communication device 201, in various embodiments the device
may be a data communication device, a multiple-mode communication device configured
for both data and voice communication, a smartphone, a mobile telephone or a PDA (personal
digital assistant) enabled for wireless communication, or a computer system with a
wireless modem.
[0018] The mobile communication device 201 includes a rigid case (not shown) housing the
components of the device 201. The internal components of the device 201 are constructed
on a printed circuit board (PCB). The mobile communication device 201 includes a controller
comprising at least one processor 240 (such as a microprocessor) which controls the
overall operation of the device 201. The processor 240 interacts with device subsystems
such as a communication subsystem 211 for exchanging radio frequency signals with
a wireless network 101 to perform communication functions. The processor 240 interacts
with additional device subsystems including a display (screen) 204 such as a liquid
crystal display (LCD) screen, input devices 206 such as a keyboard and control buttons,
flash memory 244, random access memory (RAM) 246, read only memory (ROM) 248, auxiliary
input/output (I/O) subsystems 250, data port 252 such as serial data port, such as
a Universal Serial Bus (USB) data port, speaker 256, microphone 258, short-range communication
subsystem 272, and other device subsystems generally designated as 274. Some of the
subsystems shown in FIG. 2 perform communication-related functions, whereas other
subsystems may provide "resident" or on-device functions.
[0019] The device 201 may comprise a touchscreen display in some embodiments. The touchscreen
display may be constructed using a touch-sensitive input surface connected to an electronic
controller and which overlays the display screen 204. The touch-sensitive overlay
and the electronic controller provide a touch-sensitive input device and the processor
240 interacts with the touch-sensitive overlay via the electronic controller.
[0020] The communication subsystem 211 includes a receiver 214, a transmitter 216, and associated
components, such as one or more antenna elements 218 and 220, local oscillators (LOs)
222, and a processing module such as a digital signal processor (DSP) 224. The antenna
elements 218 and 220 may be embedded or internal to the mobile communication device
201 and a single antenna may be shared by both receiver and transmitter, as is known
in the art. As will be apparent to those skilled in the field of communication, the
particular design of the wireless communication subsystem 211 depends on the wireless
network 101 in which mobile communication device 201 is intended to operate.
[0021] The mobile communication device 201 may communicate with any one of a plurality of
fixed transceiver base stations 108 of the wireless network 101 within its geographic
coverage area. The mobile communication device 201 may send and receive communication
signals over the wireless network 101 after the required network registration or activation
procedures have been completed. Signals received by the antenna 218 through the wireless
network 101 are input to the receiver 214, which may perform such common receiver
functions as signal amplification, frequency down conversion, filtering, channel selection,
etc., as well as analog-to-digital (A/D) conversion. A/D conversion of a received
signal allows more complex communication functions such as demodulation and decoding
to be performed in the DSP 224. In a similar manner, signals to be transmitted are
processed, including modulation and encoding, for example, by the DSP 224. These DSP-processed
signals are input to the transmitter 216 for digital-to-analog (D/A) conversion, frequency
up conversion, filtering, amplification, and transmission to the wireless network
101 via the antenna 220. The DSP 224 not only processes communication signals, but
may also provide for receiver and transmitter control. For example, the gains applied
to communication signals in the receiver 214 and the transmitter 216 may be adaptively
controlled through automatic gain control algorithms implemented in the DSP 224.
[0022] The processor 240 operates under stored program control and executes software modules
221 stored in memory such as persistent memory, for example, in the flash memory 244.
As illustrated in FIG. 2, the software modules 221 comprise operating system software
223, software applications 225 comprising a golf swing detection module 226 and a
golf scoring application 228. The golf swing detection module 226 and golf scoring
application 228 may, among other things, be implemented through a stand-alone software
application, or combined together in one or more of the operating system 223 and applications
225. In some example embodiments, the functions performed by the golf swing detection
module 226 may be realized as a plurality of independent elements, rather than a single
integrated element, and any one or more of these elements may be implemented as parts
of the golf scoring application 228 or other software applications.
[0023] Those skilled in the art will appreciate that the software modules 221 or parts thereof
may be temporarily loaded into volatile memory such as the RAM 246. The RAM 246 is
used for storing runtime data variables and other types of data or information, as
will be apparent to those skilled in the art. Although specific functions are described
for various types of memory, this is merely one example, and those skilled in the
art will appreciate that a different assignment of functions to types of memory could
also be used.
[0024] The software applications 225 may include a range of applications, including, for
example, an address book application, a messaging application, a calendar application,
and/or a notepad application. In some embodiments, the software applications 225 include
an email message application, a push content viewing application, a voice communication
(i.e. telephony) application, a map application, and a media player application. Each
of the software applications 225 may include layout information defining the placement
of particular fields and graphic elements (e.g. text fields, input fields, icons,
etc.) in the user interface (i.e. the display screen 204) according to the application.
[0025] In some embodiments, the auxiliary input/output (I/O) subsystems 250 may comprise
an external communication link or interface, for example, an Ethernet connection.
The mobile communication device 201 may comprise other wireless communication interfaces
for communicating with other types of wireless networks, for example, a wireless network
such as an orthogonal frequency division multiplexed (OFDM) network. The auxiliary
I/O subsystems 250 may comprise a navigational tool such as a clickable trackball
or thumbwheel, or a vibrator for providing vibratory notifications in response to
various events on the device 201 such as receipt of an electronic communication or
incoming phone call, or for other purposes such as haptic feedback (touch feedback).
[0026] In some embodiments, the mobile communication device 201 also includes a removable
memory card 230 (typically comprising flash memory) and a memory card interface 232.
Network access typically associated with a subscriber or user of the mobile communication
device 201 via the memory card 230, which may be a Subscriber Identity Module (SIM)
card for use in a GSM network or other type of memory card for use in the relevant
wireless network type. The memory card 230 is inserted in or connected to the memory
card interface 232 of the mobile communication device 201 in order to operate in conjunction
with the wireless network 101.
[0027] The mobile communication device 201 stores data 227 in an erasable persistent memory,
which in one example embodiment is the flash memory 244. In various embodiments, the
data 227 includes service data comprising information required by the mobile communication
device 201 to establish and maintain communication with the wireless network 101.
The data 227 may also include user application data such as email messages, address
book and contact information, calendar and schedule information, notepad documents,
image files, and other commonly stored user information stored on the mobile communication
device 201 by its user, and other data. The data 227 stored in the persistent memory
(e.g. flash memory 244) of the mobile communication device 201 may be organized, at
least partially, into a number of databases each containing data items of the same
data type or associated with the same application. For example, email messages, contact
records, and task items may be stored in individual databases within the device memory.
[0028] The serial data port 252 may be used for synchronization with a user's host computer
system (not shown). The serial data port 252 enables a user to set preferences through
an external device or software application and extends the capabilities of the mobile
communication device 201 by providing for information or software downloads to the
mobile communication device 201 other than through the wireless network 101. The alternate
download path may, for example, be used to load an encryption key onto the mobile
communication device 201 through a direct, reliable and trusted connection to thereby
provide secure device communication.
[0029] In some embodiments, the mobile communication device 201 is provided with a service
routing application programming interface (API) which provides an application with
the ability to route traffic through a serial data (i.e., USB) or Bluetooth® (Bluetooth®
is a registered trademark of Bluetooth SIG, Inc.) connection to the host computer
system using standard connectivity protocols. When a user connects their mobile communication
device 201 to the host computer system via a USB cable or Bluetooth® connection, traffic
that was destined for the wireless network 101 is automatically routed to the mobile
communication device 201 using the USB cable or Bluetooth® connection. Similarly,
any traffic destined for the wireless network 101 is automatically sent over the USB
cable Bluetooth® connection to the host computer system for processing.
[0030] The mobile communication device 201 also includes a battery 238 as a power source,
which is typically one or more rechargeable batteries that may be charged, for example,
through charging circuitry coupled to a battery interface such as the serial data
port 252. The battery 238 provides electrical power to at least some of the electrical
circuitry in the mobile communication device 201, and the battery interface 236 provides
a mechanical and electrical connection for the battery 238. The battery interface
236 is coupled to a regulator (not shown) which provides power V+ to the circuitry
of the mobile communication device 201.
[0031] The short-range communication subsystem 272 is an additional optional component which
provides for communication between the mobile communication device 201 and different
systems or devices, which need not necessarily be similar devices. For example, the
subsystem 272 may include an infrared device and associated circuits and components,
or a wireless bus protocol compliant communication mechanism such as a Bluetooth®
communication module to provide for communication with similarly-enabled systems and
devices.
[0032] A predetermined set of applications that control basic device operations, including
data and possibly voice communication applications will normally be installed on the
mobile communication device 201 during or after manufacture. Additional applications
and/or upgrades to the operating system 223 or software applications 225 may also
be loaded onto the mobile communication device 201 through the wireless network 101,
the auxiliary I/O subsystem 250, the serial port 252, the short-range communication
subsystem 272, or other suitable subsystems 274 or wireless communication interfaces.
The downloaded programs or code modules may be permanently installed, for example,
written into the program memory (i.e. the flash memory 244), or written into and executed
from the RAM 246 for execution by the processor 240 at runtime. Such flexibility in
application installation increases the functionality of the mobile communication device
201 and may provide enhanced on-device functions, communication-related functions,
or both. For example, secure communication applications may enable electronic commerce
functions and other such financial transactions to be performed using the mobile communication
device 201.
[0033] The mobile communication device 201 may provide two principal modes of communication:
a data communication mode and an optional voice communication mode. In the data communication
mode, a received data signal such as a text message, an email message, or Web page
download will be processed by the communication subsystem 211 and input to the processor
240 for further processing. For example, a downloaded Web page may be further processed
by a browser application or an email message may be processed by an email message
application and output to the display 242. A user of the mobile communication device
201 may also compose data items, such as email messages, for example, using the input
devices in conjunction with the display screen 204. These composed items may be transmitted
through the communication subsystem 211 over the wireless network 101.
[0034] In the voice communication mode, the mobile communication device 201 provides telephony
functions and operates as a typical cellular phone. The overall operation is similar,
except that the received signals would be output to the speaker 256 and signals for
transmission would be generated by a transducer such as the microphone 258. The telephony
functions are provided by a combination of software/firmware (i.e., the voice communication
module) and hardware (i.e., the microphone 258, the speaker 256 and input devices).
Alternative voice or audio I/O subsystems, such as a voice message recording subsystem,
may also be implemented on the mobile communication device 201. Although voice or
audio signal output is typically accomplished primarily through the speaker 256, the
display screen 204 may also be used to provide an indication of the identity of a
calling party, duration of a voice call, or other voice call related information.
[0035] The mobile communication device 201 also comprises a GPS subsystem 260. The GPS subsystem
260 comprises a transceiver for communicating with a GPS satellite network (not shown)
for determining the location of the device 201. The construction and components of
a GPS subsystem 260 are known and understood in the art and will not be described
in the present disclosure. In some embodiments, the GPS subsystem 260 includes or
has access to local mapping data in order to more accurately determine the device
location relative to the device surroundings. For example, the GPS subsystem 260 may
use course pin (hole) location information to determine the distance of the device
201 to the pin of the current hole being played. The device location may be reported
in terms of GPS coordinates, a distance to the pin of the respective hole (typically
identified by its corresponding hole number) with optional a direction to the pin
of the current hole (e.g., a cardinal direction and/or a graphical representation
of an arrow pointing in the direction), or both.
[0036] Typically, golf course mapping location information is generated by performing a
detailed geographic survey which maps the features of the golf course in association
with the GPS coordinates of those features. The golf course mapping location information
could be pre-stored in the memory 244 of the device 201, wirelessly downloaded to
the memory 244 of the device 201 from a corresponding data store prior to the start
of the game, or provided by the golf course on a removable memory card, e.g. an Secure
Digital (SD) card or microSD card, prior to the start of the game. The local mapping
data may be used by a general mapping application on the device 201 or a specialized
mapping application which could be part of the golf scoring application 228.
[0037] The mobile communication device 201 also comprises a motion detection subsystem 249
comprising at least one motion sensor which is connected to the processor 240 and
which is controlled by one or a combination of a monitoring circuit and operating
software. The motion detection subsystem 249 may comprise two or more motion sensors
or a motion sensor and an electronic compass. The motion detection subsystem 249 detects
the motion of the mobile communication device 201 or detects information which the
motion of the mobile communication device 201 can be determined, such as acceleration
using an accelerometer. In other embodiments, a motion sensor other than an accelerometer
could be used such as a cadence sensor or cadence detection system.
[0038] In other embodiments, the motion detection subsystem 249, its sensor, or both, could
be a separate component incorporated in a holster for the device 201 with suitable
circuitry, in a glove or watch worn by the device user, or in another accessory of
the device 201 or device user. In such embodiments, motion data such as acceleration
measured by the motion detection subsystem 249 or its sensor would be wirelessly transmitted
from the motion detection subsystem 249 or its sensor, to the device 201 via a short-range
wireless link such as Bluetooth
™ or other personal area network (PAN) technology. Methods of pairing of wirelessly
peripherals incorporating the motion detection subsystem 249 or its sensor with the
mobile device 201 are known in the art and will not be described herein.
[0039] As will be appreciated by persons skilled in the art, an accelerometer is a sensor
which converts acceleration from motion (e.g. movement of the mobile communication
device 201 or a portion thereof due to the strike force) and gravity which are detected
by a sensing element into an electrical signal (producing a corresponding change in
output) and is available in one, two or three axis configurations. Accelerometers
may produce digital or analog output signals depending on the type of accelerometer.
Generally, two types of outputs are available depending on whether an analog or digital
accelerometer used: (1) an analog output requiring buffering and analog-to-digital
(A/D) conversion; and (2) a digital output which is typically available in an industry
standard interface such as an SPI (Serial Peripheral Interface) or I2C (Inter-Integrated
Circuit) interface. The output of an accelerometer is typically measured in terms
of the gravitational acceleration constant at the Earth's surface, denoted
g, which is approximately 9.81 m/s
2 (32.2 ft/s
2) as the standard average. The accelerometer may be of almost any type including,
but not limited to, a capacitive, piezoelectric, piezoresistive, or gas-based accelerometer.
The range of accelerometers vary up to the thousands of g's, however for portable
electronic devices "low-
g" accelerometers may be used. Example low-
g accelerometers which may be used are MEMS digital accelerometers from Analog Devices,
Inc. (ADI), Freescale Semiconductor, Inc. (Freescale) and STMicroelectronics N.V.
of Geneva, Switzerland.
[0040] Referring briefly to FIG. 3, a motion detection subsystem 249 in accordance with
one example embodiment of the present disclosure will be described. The circuit 300
comprises a digital 3-axis accelerometer 310 connected to the interrupt and serial
interface of a controller (MCU) 312. The controller 312 could be the processor 240
of the device 201. The operation of the controller 312 is controlled by software,
which may be stored in internal memory of the controller 312. The operational settings
of the accelerometer 310 are controlled by the controller 312 using control signals
sent from the controller 312 to the accelerometer 310 via the serial interface. The
controller 312 may determine the motion detection in accordance with the acceleration
measured by the accelerometer 310, or raw acceleration data measured by the accelerometer
310 may be sent to the processor 240 of the device 201 via its serial interface where
motion detection is determined by the operating system 223, or other software module
221. In other embodiments, a different digital accelerometer configuration could be
used, or a suitable analog accelerometer and control circuit could be used.
[0041] Referring now to FIG. 5, a method for golf swing detection in accordance with one
embodiment of the present disclosure will be described.
[0042] FIG. 5 illustrates example operations 500 for performing the method. In this example
embodiment, the operations 500 are carried out by the processor 240 of the handheld
electronic device 102 under the instruction of the golf swing detection module 226
and possibly golf scoring application 228. The golf swing detection module 226 could
be a separate module 221, or part of the golf scoring application 228 or other module
221.
[0043] As a preliminary step (not shown), prior to detecting golf swings the golf scoring
application 228 which utilizes or comprises the golf swing detection module 226 is
launched on the device 201 so that it becomes the active application. At this time,
the device user (e.g., player) may select a set of scoring rules to be used by the
golf scoring application 228, for example, from one or more predefined sets of scoring
rules (e.g., match play, stroke play, etc.). The scoring rules may be based on the
type of game being played. In some embodiments, the scoring rules may be customized
by device user by changing or setting individual rules to be applied or a setting
parameter values associated with such rules such as, for example, a maximum stroke
count and the starting hole/tee number.
[0044] In some embodiments, a main or "home" user interface screen of the golf scoring application
228 is displayed on the display screen 204 when the golf scoring application 228 is
started. To start a game and commence the detection golf swings and counting strokes,
predetermined input may be required. This input may be the depression of a predefined
or specialized key of a keyboard of the device 201, the selection of an onscreen button
in the home screen via respective input (e.g., a "Start" button), or the display of
a menu and selection of a corresponding menu item (e.g., a "start game" menu item)
which causes the initiation of golf swing detection and stroke counting.
[0045] It will be appreciated that golf swing detection is context dependent and is only
performed when the golf swing detection module 226 and/or golf scoring application
228 are active. When performing golf swing detection, other gestures or motions are
not recognized. In some embodiments, as described more fully below, golf swing detection
comprises comparing the acceleration measured by the accelerometer 310 to a reference
signal to determine whether it is characteristic of a golf swing. The acceleration
measurements are not compared to reference signals for other motions. Context dependent
motion/gesture recognition may simplify motion detection and analysis by limiting
the analysis to identifying a signal type of motion rather than differentiating a
detected motion between different types of motion. However, in other embodiments,
the acceleration measured by the accelerometer 310 could be compared to reference
signals for different types of swings to determine whether the measured acceleration
is characteristic of a golf swing.
[0046] As a second preliminary step (not shown), the device user places the device 201 on
his or her person so that the motion detection subsystem 249, in particular the accelerometer
310, can detect the motion of the device user during golf swings. To improve the accuracy
of the golf swing detection, the device 201 should be located on or near the hip or
shoulder of the device user (player). When the device 201 is a holsterable device,
the device user may have to holster the device 201 by placing it in its holster and
attaching the holstered device to the user's clothing (typically by clipping a clip
of the holster to the belt or pants of the device user). The holstered device could
also be placed in a pocket of the device user, for example, in a pant pocket. In some
embodiments, when the device 201 is holsterable, the initiation of golf swing detection
and stroke counting may comprise monitoring for and detecting a holstering event comprising
the holstering of the device 201. In such embodiments, the device 201 uses holster-detection
means to detect when the device 201 is in its holster as described more fully below.
[0047] When the device 201 is a flip-style device or slider-style device, the device user
may have to close the device 201. In some embodiments, when the device 201 is a flip-style
device or slider-style device, the initiation of golf swing detection and stroke counting
may comprise monitoring for and detecting when the device 201 has been closed. It
will be appreciated that some devices may be capable of closing and holstering, in
which case the initiation of golf swing detection and stroke counting may comprise
monitoring for and detecting when the device is closed and holstered. While the term
holster has been used, it will be appreciated that the teachings of the present disclosure
can be applied to any carrying case or other enclosure for protecting and/or carrying
the device 201.
[0048] If the device user unholsters a holsterable device or opens a flip-style device or
slider-style device during the operations 500, for example to answer an incoming call
in the middle of a game, the operations 500 are typically paused or suspended so that
the user can utilize other functions of the device 201 such as, for example, a phone
application to answer the incoming call. The operations 500 may be resumed by again
holstering the device 201 or closing the device 201. Corresponding input may be used
to cancel the operations 500 at any time.
[0049] The holster-detection means may be implemented using any one or more of a number
of different mechanisms. In some embodiments, the holster-detection means may comprise
a mechanical sensor such as a depressible button on the surface of the device 201
which is adapted to depress only when the device 201 is held within a specifically-shaped
holster. In other embodiments, the holster-detection means may comprise an electrical
sensor such as an electrical contact on the surface of the device 201 which is adapted
to close an electrical circuit when in contact with another electrical contact on
the interior of a specially-designed holster. In other embodiments, the holster-detection
means may comprise a magnetically-sensitive sensor as part of the device 201 which
is adapted to detect the proximity of a magnet built into a specially-designed holster.
Further details of an example implementation of holster-proximity detection means
can be found in commonly owned
U.S. Patent Application Pub. No. 2008/0191892 A1, published August 14, 2008, which is incorporated herein by reference.
[0050] A closure-detection means for monitoring for and detecting the closing of a flip-style
device or slider-style device could be similar to the holster-detection means described
above. A notable difference of the closure-detection means is that, rather than one
of the sensors in the sensor pair being located in the device 201 and the other in
the holster, one sensor is in each of the two body parts of flip-style devices, and
one sensor is in each of the main body and slider body (e.g., sliding keyboard) of
slider-style devices.
[0051] Next, in step 502 the golf swing detection module 226 monitors for and detects golf
swings. This step comprises monitoring the output of the three-axis accelerometer
310 and detecting an output signal indicating a golf swing. In some embodiments, the
accelerometer 310 reports three voltage signals corresponding to the acceleration
detected along each sensing axis to the golf swing detection module 226. The output
signals of the accelerometer 310 are then compared to reference accelerometer output
signals ("reference signals) for each sensing axis which are characteristic of the
accelerometer response to a golf swing, i.e., the motion of swinging of a golf club.
If the output signals are within a predetermined variance of the reference signals,
the golf swing detection module 226 detects a golf swing. The predetermined variance
may comprise one or more predetermined parameters describing features of golf swing
output signals. The comparison of the acceleration measurements of the accelerometer
310 to the reference signals is a matter of digital signal processing which would
be understood a person skilled in the art.
[0052] In other embodiments, the accelerometer 310 reports a single multiplexed signal corresponding
to the acceleration detected along each sensing axis. The multiplexing may be performed
by the accelerometer 310 or the processor 240 in accordance with the instructions
of the operating system 223 or golf swing detection module 226. The output signal
is then compared to a single reference signal which is characteristic of the accelerometer
response to a golf swing. If the output signal is within a predetermined variance
of the reference signal, the golf swing detection module 226 detects a golf swing.
The predetermined variance may comprise one or more predetermined parameters describing
features of a golf swing output signal.
[0053] In yet other embodiments, the accelerometer 310 under the instruction of its onboard
software monitors for and detects golf swings in the same or a similar manner as described
above, and sends a corresponding interrupt signal to the processor 240 via a corresponding
interrupt port or interface. The receipt of this interrupt signal by the processor
240 is interpreted by the golf swing detection module 226 or operating system 223
as the detection of a golf swing. The golf swing detection module 226 may monitor
for and detect a golf swing detection interrupt signal, raw output signal(s) from
the accelerometer 310, or both.
[0054] The reference signal(s) may be predefined based on an average accelerometer response
calculated from a large sample set of accelerometer responses to golf swings of a
number of golfers. The golfers used to obtain the sample accelerometer responses may
vary in skill in order to capture a wide range of accelerometer responses. Alternatively,
in some embodiments the reference signals to be used in swing detection could be selected
from a number of reference signal(s) based on the device user's: (i) skill level (e.g.
beginner, intermediate, advanced, expert, etc.), (ii) physiological characteristics
such as body weight, height and/or body shape, (iii) swing style, (iv) swing problems
such as a tendency to slice or hook the ball, (v) location of the device 201 in relation
to the device user's person during play (e.g., clipped near hip on/away from swinging
side, near shoulder on/away from swinging side, in pocket on/away from swinging side)
or any combination thereof.
[0055] The selection of reference signal(s) based on one or more of the above factors may
improve the accuracy of golf swing detection. The reference signal(s) could be selected
automatically by the golf swing detection module 226 based on values for one or more
of the above factors which may provided and stored in memory 224, for example, during
an initial configuration or setup of the golf scoring application 228. Alternatively,
the reference signal(s) could be selected directly by the device user. In some embodiments,
the values for one or more of the above factors and/or the reference signal(s) may
be changed in-game during play, for example, to improve the accuracy of golf swing
detection if errors are noted by the device user. In other embodiments, the reference
signal(s) may be calibrated for each device user by measuring the acceleration detected
by the accelerometer 310 over a number of golf swings (for example, using the average
of these readings). To further increase accuracy, the device user may be required
to perform a wide range of swing types and/or use a number of different clubs in order
to capture a wide range of accelerometer responses which reflect the range of accelerometer
responses which may be encountered during game play.
[0056] In some embodiments, the reference signal(s) could be dynamically selected from many
predefined reference signal(s) based on club selection and/or distance of the pin
of the hole being played. The club selection could be based on (a) defaults in accordance
with the distance to the pin of the current hole being played determined based the
GPS subsystem and GPS hole information, (b) rules set by the device user in accordance
with the determined distance, or (c) club input during play, or any combination thereof.
[0057] When the reference signal(s) is based on the device 201 being located at or near
a reference body part, the device 201 should be located at or on near the specified
reference body part while swinging to increase the accuracy of golf swing detection.
In some embodiments, the provision of reference signal(s) based on the location of
the device 201 in relation to the device user's person during play allows the device
user to customize the reference signal(s) used in golf swing detection based on user
preferences for personal comfort and/or convenience regarding where the device 201
will be located during play.
[0058] Next, in step 504 the golf swing detection module 226 determines the current location
of the device 201 in accordance with location information provided by the GPS subsystem
260. Alternatively, rather than using the GPS subsystem 260, device location may be
determined using triangulation based on the distance of the device 201 to the various
base stations 108 in the wireless network 101. While operable, triangulation-based
device location may not be capable of determining device location with sufficient
specificity required by the golf scoring application 228 in some circumstances. A
specialized Location Based Service (LBS) solution such as Wi-Fi Positioning System
(WPS), or Near LBS (NLBS) employing short-range technologies such as Bluetooth
™, WLAN, infrared and/or RFID could be used to determine device location in other embodiments.
[0059] Next, in step 506 the golf swing and device location where the swing was taken are
stored in memory 244, for example, in a golf swing log maintained by the golf scoring
application 228. As noted above, device location information may be reported in terms
of GPS coordinates, a distance to the pin of the respective hole (typically identified
by its corresponding hole number) and optionally a direction (e.g., a cardinal direction)
to the pin of the hole being played.
[0060] Next, in step 508 the golf swing detection module 226 determines whether a golf swing
was previously detected at the same location or within a predetermined distance of
the device location identified in step 504 (e.g., within 10 feet or less, within 5
feet or less, etc.). The predetermined distance may be configurable in some embodiments.
This step involves comparing the device location determined in step 504 with the location
of the previous golf swing specified in the golf swing log.
[0061] If the detected golf swing is determined to have occurred at the same location or
within a predetermined distance of the previous golf swing, the stroke count is not
incremented and the value of the stroke counter remains unchanged. The processing
of the operations 500 then returns to step 502 where the golf swing detection module
226 monitors for and detects golf swings.
[0062] If the detected golf swing is not determined to have occurred at the same location
or within a predetermined distance of the previous golf swing, the value of the stroke
counter is incremented by one (step 510).
[0063] The approach described above accommodates circumstances in which the player swings
his or her club multiple times at the same location, i.e. because the player takes
one or more practice swings or takes a mulligan, by eliminating multiple swings taken
at the same location. In this manner, a more accurate stroke count and score can be
determined. In some embodiments, the golf scoring application 228 may provide a setting
to enable and disable multiple swing correction. When multiple swing correction is
disabled, steps 504 to 508 would be bypassed and the stroke counter would be incremented
for each golf swing detected in step 502. Alternatively, multiple swing correction
may be entirely omitted in some embodiments.
[0064] Next, in step 512 the new stroke count is displayed in a corresponding user interface
screen on the display screen 204. In some embodiments, the user interface screen could
display the current hole. The total stroke count/score could be displayed with the
stroke count and current hole number, or instead of the current hole number. FIG.
4A and 4B illustrate two example user interface screens of a stroke count which could
be displayed on the display screen 204, possibly as a window within a larger user
interface screen of the golf scoring application 228.
[0065] The current hole is determined based on the value of a hole counter ("hole count")
which is incremented when the current hole changes. When a game is started, the hole
counter is set to an initial value which corresponds to the number of the starting
hole. The starting value may be 1 or 10 to accommodate the start of play at either
the front or back 9-holes of a golf course, but could also be a different number to
accommodate an irregular starting hole sometimes referred to as a "shotgun start".
In some embodiments, the hole counter has a maximum hole number which may be 9, 18,
27, 36 of other multiple of 9. In some embodiments, the hole counter counts in a repeating
or cyclical fashion in which the counting restarts and the hole counter is reset to
1 when the maximum hole number is exceeded. This accommodates players starting on
the back 9-holes, irregular starts, and players who play more than 18 holes or other
number of holes which exceed the maximum hole number 9. The starting value and maximum
of the hole counter may be set by the device user.
[0066] In some embodiments, after incrementing the stroke counter and prior to incrementing
the hole counter, the value of the stroke counter for each hole ("stroke count") and
the value of the hole counter ("hole count") are stored in the memory 244 of the device
201, for example, in a golf stroke log or scoring table. This step is only performed
in embodiments in which the stroke count for each hole is recorded, for example, for
use in calculating a game score.
[0067] Within the user interface screen displayed on the display screen 204, the golf scoring
application 228 may provide the distance to the pin of the current hole and optionally
a direction (e.g., a cardinal direction) to the pin of the current hole in accordance
with the GPS coordinates provided by the GPS subsystem 260 or other location information.
The GPS coordinates could be displayed in addition to the distance and the direction
to the pin. In some embodiments, a map of the current hole with an indication (e.g.,
pointer or marker) of the device location relative to the pin could be generated by
a mapping module of the golf scoring application 228, or by a separate mapping application
which provides the map information to the golf scoring application 228. In some embodiments,
wind direction may for the device location be obtained via a wireless communication
link from a weather database accessible via the wireless network 101 and displayed
in the user interface screen.
[0068] In some embodiments, the stroke count for other players may be added via corresponding
input and the score for the other players may be determined by the golf scoring application
228. In other embodiments, the stroke count for other players may be determined by
the golf swing detection module 226 using corresponding input to select the next player
or a specific player in a player list. The corresponding input for switching between
players for golf swing detection could be a specialized key or button of the device
201, a predetermined key combination of a keyboard of the device 201, or the selecting
of a corresponding user interface element which could be already displayed in the
user interface screen or which may be provided in an invokable menu.
[0069] For example, pressing "n" or other key or button could select the next player in
the player list, and pressing "p" or other key or button for the previous player in
the player list. A specific player in the list could be selected by pressing a corresponding
number associated with the player's order in the player list, e.g., press 1 for player
1, press 2 for player 2, press 3 of player 3, 4 for player 4, etc.
[0070] In an example use case, the device user could remove the device 201 from his or her
person and provide the corresponding input to switch swing detection to the next player.
When a scoring table is displayed on the display screen 204 during play, this may
further comprise moving an onscreen position indicator (cursor) to the stroke count
field for the next player. The next player then places the device 201 on his or her
person and takes a swing and operations 500 proceed as outlined above. This process
can be repeated for each player in the player list. The reference signal(s) used for
swing detection may be different between players, and may be selected for each player
as described above.
[0071] Next, in step 514 the golf scoring application 228 calculates a score for the device
user and possibly other players in accordance with the value of the stroke counter
for each hole, for example, from the stroke log stored in memory 244. The score is
then displayed on the display screen 204. The scores may be displayed within a scoring
table on the display screen 204. The format of golf scoring tables is known in the
art and will not be described in detail herein. An example of an empty scoring table
for a 9-hole golf course is shown below for the purpose of explanation and is not
intended to be limiting.
| Hole |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
OUT |
| DISTANCE |
489 |
300 |
320 |
180 |
362 |
450 |
416 |
357 |
171 |
3045 |
| Player 1 |
|
|
|
|
|
|
|
|
|
|
| Player 2 |
|
|
|
|
|
|
|
|
|
|
| Player 3 |
|
|
|
|
|
|
|
|
|
|
| Player 4 |
|
|
|
|
|
|
|
|
|
|
| HANDICAP |
2 |
3 |
7 |
9 |
6 |
1 |
4 |
5 |
8 |
- |
[0072] The golf scoring table comprises a number of fields arranged in a series of rows
and columns. Some of the columns represent the holes of the golf course being played
and are labelled by the respective hole numbers 1 through. Some of the rows represent
players, labelled "Player 1", "Player 2", "Player 3" and "Player 4" in the example
table (the player list). For a player row, each field in a hole column is stroke count
field which represents the stroke count for the respective player for the respective
hole. The stroke count fields are navigable and editable in at least some embodiments.
[0073] The golf scoring application 228 calculates a score in accordance with the value
of the stroke counter for each hole, and displays the score in the user interface
screen displayed on the display screen 204. When a scoring table is displayed, the
score is displayed in the "OUT" column or other "Total" column along with each the
stroke counts for each hole. In other embodiments, the score could be displayed with
the stroke count for the current hole as shown in FIG. 4B. Depending whether other
player's stroke are input or detected, the stroke counts for each hole and total score
may be calculated for the device user and possibly other players. The game score for
each player is calculated by adding the strokes for each hole, possibly in accordance
with a set of scoring rules such as a maximum stroke count per hole and/or a player
handicap.
[0074] Depending on the embodiment, the stroke count and/or score may be edited to correct
any errors or otherwise adjust the stroke count and/or score, for example, to take
into account practice swings or a mulligan which were not caught by the multiple swing
correction technique described above.
In some embodiments, when value of the stroke counter is editable, an edit mode may
be invoked by: monitoring for and detecting input to edit the value of the stroke
counter; updating the value of the stroke counter in response to input to edit the
value of the stroke counter and receipt of a replacement value for the stroke counter;
and re-displaying the value of the stroke counter in the user interface screen displayed
on the display screen in accordance with the replacement value.
[0075] When a scoring table is displayed, an onscreen cursor may be provided within the
navigable and editable fields of the scoring table. Typically, the onscreen cursor
is positioned in the stroke count field of the scoring table which corresponds to
the current hole for the device user, or possibly other player. The onscreen cursor
may be navigated between stroke count fields in accordance with corresponding directional
input, for example via directional/navigational buttons or keys or a navigation tool.
Corresponding interaction with the device 201 may allow the currently selected stroke
count field to become editable. The stroke count and/or score may then be changed
by inputting the corrected value, for example, using the number keys of the keyboard
of the device or corresponding numerical selection input via an onscreen user interface
element such as a drop down list.
[0076] In some embodiments, the stroke count for each hole and/or score for the device user
and possibly other players may be sent via a wireless communication link to a scoring
database accessible via the wireless network 101. The wireless communication link
may comprise the communications subsystem 211, the short-range wireless communication
subsystem 272, or both. The scoring database may be maintained by a golf club/golf
course or other entity for use in determining handicaps of its members, membership
privileges in terms of performance or frequency of play, or other purposes.
[0077] Next, in step 516 the golf scoring application 228 determines when the current hole
being played changes, i.e. when a hole has been finished by the players. This may
involve the golf scoring application 228 monitoring for and detecting an event which
indicates that the current hole has changed. This event may be (i) corresponding input
such as the depression of a corresponding button or key of the device 201, or other
interaction with the user interface, or (ii) a corresponding change in device location.
The corresponding change in device location may be that the device 201 is within a
predetermined distance of the tee (also referred to as the teeing ground or tee box)
of the next hole and/or a predetermined distance from the pin of the previous hole
in accordance with GPS coordinates describing the device location and GPS coordinates
describing hole locations for the golf course (i.e., GPS coordinates about the respective
holes). The predetermined distance of the tee may be based on the distance of the
device 201 to a predetermined set of tee blocks, from the device 201 to the nearest
edge of the tee, or from the device 201 to the centre of the teeing ground. The next
hole may be determined based on the settings of the hole counter and/or hole information
for the golf course.
[0078] The predetermined distances and whether the predetermined distance from the pin of
the previous is considered may be configurable in order to reduce errors when determining
hole changes. Errors may result from the device user moving too close to the next
tee when searching for an errant ball. Generally, the smaller the predetermined distance
from the tee of the next hole, the fewer the number of errors when determining hole
changes. The predetermined distances should be set to minimize errors.
[0079] When current hole has changed and there is at least one hole remaining to be played,
the operations proceed to step 518 in which the hole counter is incremented or otherwise
advanced to the next hole, and the stroke counter is reset. The user interface is
then updated to reflect the new hole number and the reset value of the stroke counter.
In some embodiments, when the stroke count for each hole is recorded, the current
hole number, the stroke count of the current hole and the total number of strokes/score
are displayed as shown, for example, in FIG. 4B. When a scoring table is displayed
on the display screen 204, incrementing the hole counter may comprise moving an onscreen
position indicator (cursor) to the field in the scoring table which corresponds to
the next hole. Next, the operations look back to step 502 and the operations 500 repeated
for the next hole.
[0080] When current hole has changed and there is no hole remaining to be played, the game
is finished and the operations 500 end.
[0081] Tracking of the current hole based on the device location and the location of the
respective holes may be used by the golf scoring application 228 to fully automate
scoring. In some embodiments, the device user could play the entire game without interacting
with the device 201 if desired, although any swing detection errors would not be detected
by the device user. In other embodiments, the current hole is not tracked and the
stroke counter is not reset automatically when the current hole being played is determined
to have changed. In such embodiments, steps 514 and 516 are omitted and the stroke
counter may be reset in response to corresponding input such as the depression of
a corresponding button or key of the device 201, or other interaction with the user
interface.
[0082] It will be appreciated that when the device 201 is holstered and/or closed, for example
because the user is taking a swing, the stroke count and/or score information displayed
in the user interface on the display screen 204 will not be visible to the device
user. In such cases, the device user must unholster and/or open the device 201 to
view the displayed information. In embodiments in which golf scoring is automated,
the device user need not view the display screen 204 until the end of play. However,
the device user may view his or her stroke count and/or score at any time, for example,
to review and edit his or her stroke count and/or score if necessary, to add the stroke
count for other players, or both.
[0083] In some embodiments, when the golf scoring application 228 is the active application,
countdown timers and other triggers for locking the device 201 are disabled, particularly
those related to the holstering and/or closing of the device 201, so that the device
user can holster and/or close his or her device 201 during play for swing detection,
and then remove the device 201 at any time to review and/or edit stroke count and/or
score information.
[0084] While a three-axis accelerometer has been described in the foregoing description,
an accelerometer having fewer sensing axes could be used in other embodiments.
[0085] While the operations 500 have been described as occurring in a particular order,
it will be appreciated to persons skilled in the art that some of the steps may be
performed in a different order provided that the result of the changed order of any
given step will not prevent or impair the occurrence of subsequent steps. For example,
while the calculate of the score has been shown as occurring after the stroke counter
is incremented, the score may be (re)calculated and (re)displayed after each stroke
is detected, after a stroke count is added or corrected, at the end of the game, after
each 9-holes, or at another interval which may be set by the device user. Furthermore,
some of the steps described above may be combined in other embodiments, and some of
the steps described above may be separated into a number of sub-steps in other embodiments.
Example Wireless Communication System
[0086] In order to facilitate an understanding of one possible environment in which example
embodiments described herein can operate, reference is made to FIG. 1 which shows
in block diagram form a communication system 100 in which example embodiments of the
present disclosure can be applied. The communication system 100 comprises a number
of mobile communication devices 201 which may be connected to the remainder of system
100 in any of several different ways. Accordingly, several instances of mobile communication
devices 201 are depicted in FIG. 1 employing different example ways of connecting
to system 100. Mobile communication devices 201 are connected to a wireless network
101 which may comprise one or more of a Wireless Wide Area Network (WWAN) 201 and
a Wireless Local Area Network (WLAN) 104 or other suitable network arrangements. In
some embodiments, the mobile communication devices 201 are configured to communicate
over both the WWAN 201 and WLAN 104, and to roam between these networks. In some embodiments,
the wireless network 101 may comprise multiple WWANs 201 and WLANs 104.
[0087] The WWAN 201 may be implemented as any suitable wireless access network technology.
By way of example, but not limitation, the WWAN 201 may be implemented as a wireless
network that includes a number of transceiver base stations 108 (one of which is shown
in FIG. 1) where each of the base stations 108 provides wireless Radio Frequency (RF)
coverage to a corresponding area or cell. The WWAN 201 is typically operated by a
mobile network service provider that provides subscription packages to users of the
mobile communication devices 201. In some embodiments, the WWAN 201 conforms to one
or more of the following wireless network types: Mobitex Radio Network, DataTAC, GSM
(Global System for Mobile Communication), GPRS (General Packet Radio System), TDMA
(Time Division Multiple Access), CDMA (Code Division Multiple Access), CDPD (Cellular
Digital Packet Data), iDEN (integrated Digital Enhanced Network), EvDO (Evolution-Data
Optimized) CDMA2000, EDGE (Enhanced Data rates for GSM Evolution), UMTS (Universal
Mobile Telecommunication Systems), HSPDA (High-Speed Downlink Packet Access), IEEE
802.16e (also referred to as Worldwide Interoperability for Microwave Access or "WiMAX),
or various other networks. Although WWAN 201 is described as a "Wide-Area" network,
that term is intended herein also to incorporate wireless Metropolitan Area Networks
(WMAN) and other similar technologies for providing coordinated service wirelessly
over an area larger than that covered by typical WLANs.
[0088] The WWAN 201 may further comprise a wireless network gateway 110 which connects the
mobile communication devices 201 to transport facilities 112, and through the transport
facilities 112 to a wireless connector system 120. Transport facilities may include
one or more private networks or lines, the public Internet, a virtual private network,
or any other suitable network. The wireless connector system 120 may be operated,
for example, by an organization or enterprise such as a corporation, university, or
governmental department, which allows access to a network 124 such as an internal
or enterprise network and its resources, or the wireless connector system 120 may
be operated by a mobile network provider. In some embodiments, the network 124 may
be realised using the Internet rather than an internal or enterprise network.
[0089] The wireless network gateway 110 provides an interface between the wireless connector
system 120 and the WWAN 201, which facilitates communication between the mobile communication
devices 201 and other devices (not shown) connected, directly or indirectly, to the
WWAN 201. Accordingly, communications sent via the mobile communication devices 201
are transported via the WWAN 201 and the wireless network gateway 110 through transport
facilities 112 to the wireless connector system 120. Communications sent from the
wireless connector system 120 are received by the wireless network gateway 110 and
transported via the WWAN 201 to the mobile communication devices 201.
[0090] The WLAN 104 comprises a wireless network which, in some embodiments, conforms to
IEEE 802.11x standards (sometimes referred to as Wi-Fi) such as, for example, the
IEEE 802.11a, 802.11b and/or 802.11g standard. Other communication protocols may be
used for the WLAN 104 in other embodiments such as, for example, IEEE 802.11n, IEEE
802.16e (also referred to as Worldwide Interoperability for Microwave Access or "WiMAX"),
or IEEE 802.20 (also referred to as Mobile Wireless Broadband Access). The WLAN 104
includes one or more wireless RF Access Points (AP) 114 (one of which is shown in
FIG. 1) that collectively provide a WLAN coverage area.
[0091] The WLAN 104 comprises a wireless network which, in some embodiments, conforms to
IEEE 802.11x standards (sometimes referred to as Wi-Fi) such as, for example, the
IEEE 802.11a, 802.11b and/or 802.11g standard. Other communication protocols may be
used for the WLAN 104 in other embodiments such as, for example, IEEE 802.11n, IEEE
802.16e (also referred to as Worldwide Interoperability for Microwave Access or "WiMAX"),
or IEEE 802.20 (also referred to as Mobile Wireless Broadband Access). The WLAN 104
includes one or more wireless RF Access Points (AP) 114 (one of which is shown in
FIG. 1) that collectively provide a WLAN coverage area.
[0092] The WLAN 104 may be a personal network of the user, an enterprise network, or a hotspot
offered by an Internet service provider (ISP), a mobile network provider, or a property
owner in a public or semi-public area, for example. The access points 114 are connected
to an access point (AP) interface 116 which may connect to the wireless connector
system 120 directly (for example, if the access point 114 is part of an enterprise
WLAN 104 in which the wireless connector system 120 resides), or indirectly as indicated
by the dashed line if FIG. 1 via the transport facilities 112 if the access point
14 is a personal Wi-Fi network or Wi-Fi hotspot (in which case a mechanism for securely
connecting to the wireless connector system 120, such as a virtual private network
(VPN), may be required). The AP interface 116 provides translation and routing services
between the access points 114 and the wireless connector system 120 to facilitate
communication, directly or indirectly, with the wireless connector system 120.
[0093] The wireless connector system 120 may be implemented as one or more servers, and
is typically located behind a firewall 113. The wireless connector system 120 manages
communications, including email communications, to and from a set of managed mobile
communication devices 201. The wireless connector system 120 also provides administrative
control and management capabilities over users and mobile communication devices 201
which may connect to the wireless connector system 120.
[0094] The wireless connector system 120 allows the mobile communication devices 201 to
access the network 124 and connected resources and services such as a messaging server
132 (for example, a Microsoft Exchange
™, IBM Lotus Domino
™, or Novell GroupWise
™ email server), and a content server 134 for providing content such as Internet content
or content from an organization's internal servers, and application servers 136 for
implementing server-based applications such as instant messaging (IM) applications
to mobile communication devices 201.
[0095] The wireless connector system 120 typically provides a secure exchange of data (e.g.,
email messages, personal information manager (PIM) data, and IM data) with the mobile
communication devices 201. In some embodiments, communications between the wireless
connector system 120 and the mobile communication devices 201 are encrypted. In some
embodiments, communications are encrypted using a symmetric encryption key implemented
using Advanced Encryption Standard (AES) or Triple Data Encryption Standard (Triple
DES) encryption. Private encryption keys are generated in a secure, two-way authenticated
environment and are used for both encryption and decryption of data. In some embodiments,
the private encryption key is stored only in the user's mailbox on the messaging server
132 and on the mobile communication device 201, and can typically be regenerated by
the user on mobile communication devices 201. Data sent to the mobile communication
devices 201 is encrypted by the wireless connector system 120 using the private encryption
key retrieved from the user's mailbox. The encrypted data, when received on the mobile
communication devices 201, is decrypted using the private encryption key stored in
memory. Similarly, data sent to the wireless connector system 120 from the mobile
communication devices 201 is encrypted using the private encryption key stored in
the memory of the mobile communication device 201. The encrypted data, when received
on the wireless connector system 120, is decrypted using the private encryption key
retrieved from the user's mailbox.
[0096] The wireless network gateway 110 is adapted to send data packets received from the
mobile communication device 201 over the WWAN 201 to the wireless connector system
120. The wireless connector system 120 then sends the data packets to the appropriate
connection point such as the messaging server 132, content server 134 or application
servers 136. Conversely, the wireless connector system 120 sends data packets received,
for example, from the messaging server 132, content server 134 or application servers
136 to the wireless network gateway 110 which then transmit the data packets to the
destination mobile communication device 201. The AP interfaces 116 of the WLAN 104
provide similar sending functions between the mobile communication device 201, the
wireless connector system 120 and network connection point such as the messaging server
132, content server 134 and application server 136.
[0097] The network 124 may comprise a private local area network, metropolitan area network,
wide area network, the public Internet or combinations thereof and may include virtual
networks constructed using any of these, alone, or in combination.
[0098] A mobile communication device 201 may alternatively connect to the wireless connector
system 120 using a computer 117, such as desktop or notebook computer, via the network
124. A link 106 may be provided for exchanging information between the mobile communication
device 201 and computer 117 connected to the wireless connector system 120. The link
106 may comprise one or both of a physical interface and short-range wireless communication
interface. The physical interface may comprise one or combinations of an Ethernet
connection, Universal Serial Bus (USB) connection, Firewire
™ (also known as an IEEE 1394 interface) connection, or other serial data connection,
via respective ports or interfaces of the mobile communication device 201 and computer
117. The short-range wireless communication interface may be a personal area network
(PAN) interface. A personal area network is a wireless point-to-point connection meaning
no physical cables are required to connect the two end points. The short-range wireless
communication interface may comprise one or a combination of an infrared (IR) connection
such as an Infrared Data Association (IrDA) connection, a short-range radio frequency
(RF) connection such as one specified by IEEE 802.15.1 or the Bluetooth
™ special interest group, or IEEE 802.15.3a, also referred to as UltraWideband (UWB),
or other PAN connection.
[0099] It will be appreciated that the above-described communication system is provided
for the purpose of illustration only, and that the above-described communication system
comprises one possible communication network configuration of a multitude of possible
configurations for use with the mobile communication devices 201. The teachings of
the present disclosure may be employed in connection with any other type of network
and associated devices that are effective in implementing or facilitating wireless
communication. Suitable variations of the communication system will be understood
to a person of skill in the art and are intended to fall within the scope of the present
disclosure.
[0100] While the present disclosure is primarily described in terms of methods, a person
of ordinary skill in the art will understand that the present disclosure is also directed
to various apparatus such as a handheld electronic device including components for
performing at least some of the aspects and features of the described methods, be
it by way of hardware components, software or any combination of the two, or in any
other manner. Moreover, an article of manufacture for use with the apparatus, such
as a pre-recorded storage device or other similar computer readable medium including
program instructions recorded thereon, or a computer data signal carrying computer
readable program instructions may direct an apparatus to facilitate the practice of
the described methods. It is understood that such apparatus, articles of manufacture,
and computer data signals also come within the scope of the present disclosure.
[0101] The term "computer readable medium" as used herein means any medium which can store
instructions for use by or execution by a computer or other computing device including,
but not limited to, a portable computer diskette, a hard disk drive (HDD), a random
access memory (RAM), a read-only memory (ROM), an erasable programmable-read-only
memory (EPROM) or flash memory, an optical disc such as a Compact Disc (CD), Digital
Versatile Disc (DVD) or Blu-ray
™ Disc, and a solid state storage device (e.g., NAND flash or synchronous dynamic RAM
(SDRAM)).
[0102] The various embodiments presented above are merely examples and are in no way meant
to limit the scope of this disclosure. Variations of the innovations described herein
will be apparent to persons of ordinary skill in the art, such variations being within
the intended scope of the present application. In particular, features from one or
more of the above-described embodiments may be selected to create alternative embodiments
comprised of a subcombination of features which may not be explicitly described above.
In addition, features from one or more of the above-described embodiments may be selected
and combined to create alternative embodiments comprised of a combination of features
which may not be explicitly described above. Features suitable for such combinations
and sub-combinations would be readily apparent to persons skilled in the art upon
review of the present application as a whole. The subject matter described herein
and in the recited claims intends to cover and embrace all suitable changes in technology.