U.S. patent application number 11/845769 was filed with the patent office on 2008-03-06 for mobile phone system and method for self-caddy.
Invention is credited to Frank T. Nguyen.
Application Number | 20080058125 11/845769 |
Document ID | / |
Family ID | 39136281 |
Filed Date | 2008-03-06 |
United States Patent
Application |
20080058125 |
Kind Code |
A1 |
Nguyen; Frank T. |
March 6, 2008 |
MOBILE PHONE SYSTEM AND METHOD FOR SELF-CADDY
Abstract
A mobile phone incorporates a positioning system to calculate a
user's distance from a golf hole. Based on the distance, the mobile
phone recommends a golf club to use.
Inventors: |
Nguyen; Frank T.; (Saratoga,
CA) |
Correspondence
Address: |
THELEN REID BROWN RAYSMAN & STEINER LLP
2225 EAST BAYSHORE ROAD, SUITE 210
PALO ALTO
CA
94303
US
|
Family ID: |
39136281 |
Appl. No.: |
11/845769 |
Filed: |
August 27, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60824277 |
Aug 31, 2006 |
|
|
|
Current U.S.
Class: |
473/407 |
Current CPC
Class: |
A63B 57/00 20130101;
A63B 2102/32 20151001; A63B 2225/20 20130101; A63B 2220/13
20130101; A63B 2225/50 20130101; A63B 2220/12 20130101 |
Class at
Publication: |
473/407 |
International
Class: |
A63B 57/00 20060101
A63B057/00 |
Claims
1. A method, comprising: determining a stroke location of a golfer
using global positioning system data received by a mobile phone
carried by the golfer; determining a hole location; calculating a
difference between the two determined locations; determining a club
to use based on the difference; and presenting the determination of
club.
2. The method of claim 1, wherein the determining the hole location
comprises: receiving golf course data including hole locations; and
selecting a hole location, by a user's selection or by automatic
hole detection algorithm, to the determined stroke location.
3. The method of claim 2, wherein the receiving golf course data
comprises: transmitting a request from a mobile phone to a server;
and receiving the golf course data from the server.
4. The method of claim 1, wherein the determining the stroke
location comprises: determining a location of a mobile phone
carried by the golfer.
5. The method of claim 1, further comprising storing round play
data.
6. The method of claim 5, wherein the determining the club
comprises: looking up clubs and associated average range for the
golfer from stored round play data; and selecting the club having
an average range closest to the calculated difference.
7. The method of claim 5, wherein the determining the club
comprises: looking up clubs and associated distance to hole when
used based on stored round play data; and selecting the club having
the associated distance to hole closest to the calculated
difference.
8. The method of claim 5, further comprising displaying round play
data overlaid on a map.
9. The method of claim 1, wherein the determining the club
comprises: looking up clubs and associated preset distances; and
selecting the club having the associated preset distance closest to
the calculated difference.
10. A system, comprising: means for determining a stroke location
of a golfer using global positioning system data received by a
mobile phone carried by the golfer; means for determining a hole
location; means for calculating a difference between the two
determined locations; means for determining a club to use based on
the difference; and means for presenting the determination of
club.
11. A computer-readable medium having stored thereon a program that
causes a computer to execute a method, the method comprising:
determining a stroke location of a golfer using global positioning
system data received by a mobile phone carried by the golfer;
determining a hole location; calculating a difference between the
two determined locations; determining a club to use based on the
difference; and presenting the determination of club.
12. A mobile phone, comprising: a global positioning system chipset
for determining a stroke location of a golfer; a hole engine for
determining a hole location; a distance engine, communicatively
coupled to the chipset and the hole engine, for calculating a
difference between the two determined locations; a club
recommendation engine, communicatively coupled to the distance
engine, for determining a club to use based on the difference; and
a club presentation engine, communicatively coupled to the club
recommendation engine, for presenting the determination of
club.
13. The system of claim 12, further comprising a golf course engine
for receiving golf course data including hole locations; and
wherein the hole engine selects a hole location, by a user's
selection or by an automatic hole detection algorithm, to the
determined stroke location.
14. The system of claim 13, wherein the golf course engine
transmits a request from a mobile phone to a server; and receives
the golf course data from the server.
15. The system of claim 12, wherein the GPS chipset determines the
stroke location by determining the location of the mobile phone,
which is carried by the golfer.
16. The system of claim 12, further comprising a storage engine for
storing round play data.
17. The system of claim 16, wherein the club recommendation engine
determines the club by looking up clubs and associated average
range for the golfer from stored round play data; and selecting the
club having an average range closest to the calculated
difference.
18. The system of claim 16, wherein the club recommendation engine
determine the club by looking up clubs and associated distance to
hole when used based on stored round play data; and selecting the
club having the associated distance to hole closest to the
calculated difference.
19. The system of claim 16, further comprising a map engine for
displaying round play data overlaid on a map.
20. The system of claim 12, wherein the club recommendation engine
determines the club by looking up clubs and associated preset
distances; and selecting the club having the associated preset
distance closest to the calculated difference.
21. A method, comprising: using a global positioning system chipset
in a mobile phone to determine a golf course hole location; and
transmitting the golf course hole location to a database for
storage so that other users can access the golf course hole
location.
Description
PRIORITY CLAIM TO RELATED APPLICATION
[0001] This application claims priority of and incorporates by
reference U.S. Patent Application No. 60/824,277 filed Aug. 31,
2006 entitled "GPS-Enabled Mobile Phone Application System for
Golfers to Self-Caddy," by inventor Frank Nguyen.
TECHNICAL FIELD
[0002] This invention relates generally to mobile phones, and more
particularly, but not exclusively, provides a system and method to
enable golfers to self-caddy using a mobile phone.
BACKGROUND
[0003] Golfing requires precision execution of every stroke play.
Reading the accurate yardage of every stroke, selecting the right
club for play based on one's ability and statistics are essential
for a golfer. Some of these critical decisions or help come from a
golfer's assistant, such as a caddie. In reality, a caddie is only
available for tour professional players or at expensive golf clubs.
In most cases, golfers rely on themselves.
[0004] Accordingly, a new system and method are needed that enable
self-caddying.
SUMMARY
[0005] Mobile phones have become more of a Personal Digital
Assistant (PDA) for the average person, performing more advanced
tasks than just simply making and receiving phone calls. Among the
new advanced technologies enabled for mobile phones is built-in GPS
(Global Positioning System) chipset into the mobile phone.
Combining this GPS capability with other available technology in
the mobile device such as Internet connection via mobile wireless
network, digitized global map, and the community-driven Internet
website, such a mobile phone software application can be developed
to help thousands of global golfers to improve their game on and
off the golf course. The key is the ability to pin point the exact
location of every golf ball at rest during the game play,
relatively to the digitized location (longitude and latitude) of
every hole of the golf course. The data then can be stored,
analyzed, and utilized intelligently by the system to enable
golfers to improve their game.
[0006] In an embodiment, a method comprises: determining a stroke
location of a golfer using global positioning system data received
by a mobile phone carried by the golfer; determining a hole
location; calculating a difference between the two determined
locations; determining a club to use based on the difference; and
presenting the determination of club.
[0007] In an embodiment, a mobile phone comprises a global
positioning system chipset; a hole engine; a distance engine; a
club recommendation engine; and a club presentation engine. The
global positioning system chipset determines a stroke location of a
golfer. The hole engine determines a hole location. The distance
engine, which is communicatively coupled to the chipset and the
hole engine, calculates a difference between the two determined
locations. The club recommendation engine, which is communicatively
coupled to the distance engine, determines a club to use based on
the difference. The club presentation engine, which is
communicatively coupled to the club recommendation engine, presents
the determination of club.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Non-limiting and non-exhaustive embodiments of the present
invention are described with reference to the following figures,
wherein like reference numerals refer to like parts throughout the
various views unless otherwise specified.
[0009] FIG. 1 is a block diagram illustrating a network system;
[0010] FIG. 2 is a flow diagram illustrating data flow of the
system;
[0011] FIG. 3 is an example screenshot of a main menu of the
system;
[0012] FIG. 4 is a table of client/server command mapping;
[0013] FIG. 5 is a block diagram illustrating a database of the
system;
[0014] FIG. 6 is a flowchart illustrating a method of
self-caddying;
[0015] FIG. 7 is a diagram illustrating a search club by name
function;
[0016] FIG. 8 is a diagram illustrating a search club by geocode
function;
[0017] FIG. 9 is an example screen shot of a golf club found
screen;
[0018] FIG. 10 is a diagram illustrating a get club info
function;
[0019] FIG. 11 is an example screenshot of a golf club info
screen;
[0020] FIG. 12 is a diagram illustrating a download course
function;
[0021] FIG. 13 is a diagram illustrating an example golf course
download file;
[0022] FIG. 14 is an example screenshot of a golf club info
screen;
[0023] FIG. 15 is an example screenshot of a play a round
screen;
[0024] FIG. 16 is a flowchart illustrating a method of playing a
round;
[0025] FIG. 17 is an example screenshot of a play a hole
screen;
[0026] FIG. 18 is a flowchart illustrating a method of playing a
hole
[0027] FIG. 19 is a diagram illustrating a get current location
function;
[0028] FIG. 20 is an example screenshot of a record pin screen;
[0029] FIG. 21 is an example screenshot of a play a stroke
screen
[0030] FIG. 22 is a flowchart illustrating a method of playing a
stroke;
[0031] FIG. 23 is a diagram illustrating a get pin location
function;
[0032] FIG. 24 is a diagram illustrating a golf distance
function;
[0033] FIG. 25 is an example screenshot of a playing a stroke with
distance to pin screen;
[0034] FIG. 26 is a diagram illustrating a get club function;
[0035] FIG. 27 is a diagram illustrating a get club most accurate
function;
[0036] FIG. 28 is a diagram illustrating example output of the get
club most accurate function;
[0037] FIG. 29 is a diagram illustrating a get club most used
function;
[0038] FIG. 30 is a diagram illustrating example output of the get
club most used function;
[0039] FIG. 31 is an example screenshot of a play a stroke with
club recommendation screen;
[0040] FIG. 32 is an example screenshot of a play a round screen
with a completed round;
[0041] FIG. 33 is an example screenshot of a play a round screen
after successful upload;
[0042] FIG. 34 is a block diagram illustrating a hosting server
architecture;
[0043] FIG. 35 is a block diagram illustrating a mobile phone;
and
[0044] FIG. 36 is a block diagram illustrating a memory of the
mobile phone.
DETAILED DESCRIPTION
[0045] The following description is provided to enable any person
having ordinary skill in the art to make and use the invention, and
is provided in the context of a particular application and its
requirements. Various modifications to the embodiments will be
readily apparent to those skilled in the art, and the principles
defined herein may be applied to other embodiments and applications
without departing from the spirit and scope of the invention. Thus,
the present invention is not intended to be limited to the
embodiments shown, but is to be accorded the widest scope
consistent with the principles, features and teachings disclosed
herein.
[0046] FIG. 1 is a block diagram illustrating a network system 100.
Embodiments of the invention include a new system and method that
leverage the global positioning system (GPS) capability in mobile
phones to help golfers to perform many tasks often provided by a
caddie. An embodiment of the system 100 comprises three main
components: [0047] Mobile Phone 170 which includes a friendly,
graphical user interface software application for golfers to run on
their mobile phone environment. The software enables golfer to
search for nearest golf clubs within vicinity based on current
location, assist a golfer during play to make wise decisions based
on the yardage from the ball to the center of green or based on
historical statistics, record game scores and strokes data for
future game improvement. [0048] Hosting System (Server) 140: a
centralized, hosting computer system that stores all users, golf
clubs, data and provide a central intelligent interface for mobile
phone application, web site access, and internal back-end tools as
well as third party software integration. [0049] Community Internet
Web Site 130 where users can search for golf course information and
perform golf community activities like sharing experience tips,
rating, etc. Users can have their own account to review their golf
rounds play history, reports, analysis, rounds play with stroke by
stroke displayed on a digital map format. Other features include
online tee time booking, online golf lesson, local golf clubs news,
special discounts, e-coupons, and other golf related-information.
The website also allows community users to digitize local golf
courses GPS locations of the pins and upload onto the hosting
system for community users to share.
[0050] Other components of the system 100 include GPS satellites
110, and towers 120. The satellites provide GPS signals to the
phone 170 so that it can determine its position, which should
coincide with a golf ball location 150 and therefore calculate a
distance from the golf ball location 150 to a golf center of green
location (hole) 160. The towers 120 provide wireless signals to the
phone 170.
[0051] In an embodiment:
[0052] (1) The golf community (or others) 200 digitize golf course
map and pin locations and store data into the hosting system 140
from the web site 130 via an Internet connection.
[0053] (2) Golfer downloads digitized course map and pin locations
from the hosting system 140 to his/her mobile phone 170 via the
wireless mobile network. This data is used by the phone 170 with
GPS capability to improve golfer's game.
[0054] (3) Upon completion, golfer uploads his/her game scores, GPS
location data, or new golf course data to the hosting system 140
via the wireless mobile network for future analysis, references,
and other users to share.
[0055] (4) Golfer can access his/her game scores, game plan,
statistics, etc. from the Internet web site 130.
[0056] (5) Golfer can send game plan, data, etc. directly to
his/her mobile phone 170 via Internet/mobile wireless network.
[0057] In an embodiment, an application sits in the phone 170 and
has a small footprint, client software application written for
mobile phone environment. It runs within the mobile phone operating
system, utilizing mobile system interfaces provided by the mobile
network carriers or mobile phone manufacturers. Some sample system
interfaces are memory storage, network connection, hardware
interface like GPS capability, native mobile phone features, etc.
The application can be distributed by users 200 downloading it from
the Internet via wireless mobile network from the mobile carrier
network, or pre-installed with other mobile network carrier's
applications when the phone is available for commercially used.
Upon successful installation, a user can run the application
directly on the mobile phone 170 with screen display, interactive
keypad control, and sound from the mobile phone 170 via a menu, as
shown in FIG. 3.
[0058] In an embodiment, the mobile application communicates with
the hosting system 140 by a set of command protocols. All requests
are made by the mobile phone application. The commands are in text
format. They are sent and received using TCP/IP protocol. To
perform a certain task that needs the data from the hosting server
140, the mobile application sends an encoded command along with its
parameters to the server using TCP/IP connection. At the hosting
server 140, there is a mapping function (see FIG. 4) for each
client command. For every client request, the server 140 performs
the task and returns the results to the mobile client
application.
[0059] In an embodiment, the following tables are internal data
structures used in mobile application memory for all operations.
The data structures are somewhat one-on-one mapping to database
tables residing in the hosting system 140. In most cases, these
data structures are populated by the data downloaded from the golf
course text file from the hosting server upon user's selection on
the golf club 510, golf course 540 to use (see FIG. 5).
TABLE-US-00001 TABLE I Golf Club 510 Object Name Description
Example ID Unique ID 1245 Name Golf club name San Jose Municipal
Golf Course Description Golf club description Municipal, 18 holes.
Green Fees: $33-$47. Cart Fee: $25. Bob McGrath, PGA Class A
Director of Golf; Dennis Tuhn, PGA Class A Pro; George Young, CGCS
Supt. Non-member course. Course Designer: Robert Muir Graves.
Course Record: 67 by John Ellis. Type Pubic, semi-public, private,
public etc. Website Website address www.sjmuni.com Street Street
City City State State Zip Zip code Country Country Phone Phone #
including 1 and area code Fax Fax # Status Internal club status
Pending, QA, Stating, Active, In-active, etc. Image Image URL
TABLE-US-00002 TABLE II Golf Course 540 Object Name Description
Example ID Unique system id Name Golf course name Club ID Club id
golf course belongs to Description Brief golf course description
Image Golf course image URL
TABLE-US-00003 TABLE III Golf Round 550 5Object Name Description
Example ID Unique system ID Course ID Golf course ID where hole San
Jose Municipal Golf belongs to Course User ID User ID who played
this round Date Date played Name Round name Total Score Status
TABLE-US-00004 TABLE IV Hole 560 Object Name Description Example ID
Unique system ID Course ID Golf course ID where hole San Jose
Municipal Golf belongs to Course Description Short hole description
Name Hole name Hint Short hint from the pro on how to play this
hole Latitude Latitude of the center of green (or pin) Longitude
Longitude of the center of the green (or pin) Elevation Elevation
of the green from the sea level Par Par of this hole Score Score of
this hole T1name Tee 1 name T2len Tee 1 yardage T2name Tee 2 name
T2len Tee 2 yardage T3name Tee 3 name T3len Tee 3 yardage T4name
Tee 4 name T4len Tee 4 yardage T5name Tee 5 name T5len Tee 5
yardage Status status
TABLE-US-00005 TABLE V Stroke 570 Object Name Description Example
ID Unique system ID Hole ID Hole ID that this stroke occurred at
User ID User ID who made this stroke Round ID Round ID that this
stroke occurred in Number Hole number Date Date stroke made Hint
Future Use- Latitude Latitude of the ball position at rest prior to
this stroke Longitude Longitude of the ball position at rest prior
to this stroke Elevation Elevation of the ball position at rest
prior to this stroke YardageMade Yardage made Yardage Yardage to
shoot Club Used Golf Club used Status status
TABLE-US-00006 TABLE VI User 520 Object Name Description Example ID
Unique system ID User Name Brief user name Password Password First
First name Last Last name Email Email CPhone Cell phone HPhone Home
phone WPhone Work phone Street Street number and name City City
State State Zip Zipcode Country Country Status User status Member
Since Member since
TABLE-US-00007 TABLE VII User Profile 530 Object Name Description
Example ID Unique system ID User ID User ID Driver Driver driving
distance 3Wood 3Wood distance 5Wood 5Wood distance 7Wood 7Wood
distance 2HB 2 Hybrid yardage 3HB 3 Hybrid yardage 4HB 4 Hybrid
yardage 5HB 5 Hybrid 2Iron 2 Iron yardage 3Iron 3 Iron yardage
4Iron 5Iron 6Iron 7Iron 8Iron 9Iron PW Pitching Wedge yardage SW
Sand Wedge yardage AW Approach Wedge yardage LW Lob Wedge yardage
LastUpdate Date last yardage update Status General status
TABLE-US-00008 TABLE VIII Location Object Name Description Example
Latitude Latitude of the ball position at rest prior to this stroke
Longitude Longitude of the ball position at rest prior to this
stroke Elevation Elevation of the ball position at rest prior to
this stroke
[0060] FIG. 6 is a flowchart illustrating a method 600 of
self-caddying. The method 600 assumes user authentication upon
application startup is completed.
[0061] Find a Golf Club (610) is a command (FIG. 7 and FIG. 8) from
a main menu. The command is an intuitive, simple, real-time search
for users to look up any golf course available in the host system
database. Users can select different search criteria to narrow the
search. They can search the golf club by name, city, zip code, or
by the nearest golf courses within the given range of current
mobile phone position. Upon successful search, a list of matched
golf clubs is returned to the mobile phone application to display.
Followings are the sample functions for each search criteria.
[0062] As a result for the Find A Golf Club (610) command, a list
of matched golf clubs are returned to the mobile application from
the host system as shown in example FIG. 9.
[0063] A user can view and navigate through the list of matched
golf clubs. The user then selects (620) a desired golf course. The
mobile phone 170 sends a GET_CLUB_INFO command (FIG. 10) to the
server 140 to retrieve more details of the selected golf club
information from the database as follows:
[0064] Upon receiving the club record, the mobile phone 170
displays the club information such as general description, address,
contact phone numbers, type (public, private, etc.),
weekend/weekday rates, course description, course par, tees
(men/women), slope ratings, user rating, special promotion, ads,
etc. as in example FIG. 11.
[0065] After viewing the golf club course details, if users decide
to play a golf round leveraging the phone 170 to assist in playing,
then they can select command Download Golf Club/course (FIG. 12) to
download golf course details files from the host system 140 via the
Internet to the mobile phone 170.
[0066] A golf course details file (see FIG. 13) contains golf club,
golf course(s) and holes information data in a proprietary,
pre-defined format, being mapped directly correlated with database
tables fields. Pipe (|) and new line are used as delimiters. Upon
receiving the file, the mobile phone 170 parses and maps data into
its internal data structures (see FIG. 5 and Tables I-VIII)
accordingly for fast operations.
[0067] Due to the nature of mobile phone usage where user can close
and open a clam shell any time during the play, it's important to
have the downloaded file and any other critical data in application
memory stored instantly on a persistent local storage. In this
case, the mobile local data storage is a simple text file. In an
embodiment, the screen sample after a successful download may
resemble FIG. 14.
[0068] Upon successful download, a user can select Play A Round
menu item 1610 (FIG. 16) to start playing a golf round. A Round
record is created and assigned a sequential id as a name. (See FIG.
5--Database and internal application data structures and tables.)
The golf round record is associated with a user, a golf course, and
all its holes. Later, when a round is completed, it will associate
with all the golf strokes performed during that round. The
accumulative golf strokes, which is called score is also calculated
and recorded. From this screen, a user can have a complete view of
a play on a certain day. Each user can save more than one round. A
sample screen display is shown in FIG. 15.
[0069] New Round command (1620) saves current round and starts a
new round. Upload command (1640) uploads user's round of golf data
to the hosting system for future use in golf club recommendation
and records tracking, as will be discussed further below. After a
round is created, user is ready to start playing a round.
[0070] A user can select the menu item Play A Hole 1650 from the
Play A Round screen (FIG. 15) to start playing a golf hole. The
menu starts with the first hole as the default if there is no
completed hole prior to that. The screen starts with the current
hole and stroke in progress otherwise. A user can navigate using
mobile phone keypad to the next and previous hole. There are either
9 holes or 18 holes round. The number of holes is provided from the
course download. For every hole, its information such as general
description, pins' yardages, image, if any, local rules, play mode;
View only or Play mode from the Setting menu, accumulative strokes
and score, are displayed.
[0071] Record Pin command (1820): This command is available only if
the golf course is being created by the user in the case that the
golf course file does not exit in the hosting system (see Create a
Golf Course, FIG. 3--Main Menu). User can position him/herself at
the center of the green of the hole and run this command to record
the GPS coordinates of the center of the green for later upload to
the hosting system.
[0072] The pin (or center of green) coordinates are saved to the
mobile application internal data structures as well as the
persistent text file on the device. The Record Pin screen (FIG. 20)
shows the Pin location in the following sample screen:
[0073] Recommend command (1830) to display a hint text (and/or
image), usually provided by the local club professional on the
strategy and how to play on this hole. Data is available during the
course download (see Internal Data Structure, Hole table, and
Download Course).
[0074] When a round is completed, either 9 or 18 holes, a user can
choose Complete Round command (1850) to view the completed round
information and prepare to upload the data to the hosting
system.
[0075] To start playing stroke and record its data, a user can
select the Play A Stroke command (1840). The function Play A Stroke
(1840) is to assist user to manage every stroke play of any given
hole. Upon being selected, the Play A Stroke screen (FIG. 21)
creates and starts with the first stroke as the default if there is
no completed stroke prior to that. If not, the screen starts with
the current hole and stroke in progress, otherwise. In addition to
the brief golf course, hole information, the screen now displays
the stroke information as well that include stroke number, distance
to the pin (center of the green), or golf club recommendation.
[0076] For New Stroke command (2250; FIG. 22), a new Stroke record
is created (see Stroke table in FIG. 5--Database and internal
application data structures and tables.). The application also
updates the previous stroke record. It prompts user to enter the
club type used for the previous stroke. It also calculates the
yardage needed (Yardage field) and yardage made (YardageMade field)
based on the current golf ball position for future Stroke
Recommendation function.
[0077] To determine stroke position (670) a Distance to Pin (2220)
command from the Play A Stroke screen is used. It is to assist user
to determine the distance in yards from the current location of the
ball to the pin using built-in GPS capability in the mobile phone
170 at any given hole. When user selects the Distance to Pin
command, given that the current hole number is known, the mobile
phone 170 calls function Get_Pin_Location(Current_Hole_Number) to
get the Location structure. See FIG. 23.
[0078] Afterwards, a
Get_Distance(Get_Pin_Location(Current_Hole_Number)) (FIG. 24)
returns the distance of the current position where the golfer, the
mobile phone 170, and the ball lies at rest are to the pin (or
center of the green).
[0079] Then Display_GPS_Info( ) displays the ball position to the
pin on the LCD as in the sample screen as shown in FIG. 25.
[0080] To recommend a stroke (680), a user selects a Recommendation
command from the Play A Stroke screen (FIG. 25). It is to assist
user to determine what golf club should be used, based on the
distance in yards from the current location of the ball and the
recommendation methodology or mode user prefers to use. There are
three recommendation modes for the shot:
[0081] Profile: recommending a golf club based on the current
distance and the preset user's profile on clubs distances. For
example, if the distance is 110 yard and user's iron 9 club preset
distance in the My Profile is 115 yards, then iron 9 club is
recommended.
[0082] Most Accurate: recommending a golf club based on user's
history of plays and statistics. For a given distance, it suggests
the club used in the past that the result distance of a required
yardage and yardage made is minimal. This rule is applied for all
user's past strokes that have distance within +15 yards from a
given distance.
[0083] For Example: For a shot that needs a distance of 135 yards;
the system will pull up all stroke plays of that user in the
database that has the Distance field +15 yards from 135 yards. (See
Stroke table in FIG. 5--Database and internal application data
structures and tables.) Among these strokes, the one that has Delta
Yardage -5 yards is the closest one. Therefore, the iron club 8 is
recommended. See FIG. 28--Example of Get Club Most Accurate
Function below.
[0084] Most Frequently Used: recommending a golf club based on
user's history of plays and statistics. For a given distance, it
suggests the club mostly used in the past that the result distances
are within +/-10 yards of a given distance.
[0085] For Example: For a shot that needs a distance of 135 yards;
the system will pull up all stroke plays of that user in the
database that has the YardMade field +/-10 yards from 135 yards.
(See Stroke table in FIG. 5--Database and internal application data
structures and tables.) Among these strokes, club iron 9 has been
used to the most. Therefore, the iron club 9 is recommended. See
FIG. 30.
[0086] By calling Display_Suggestion_Info( ) to display the golf
club recommendation, the screen sample looks like FIG. 31.
[0087] After finishing the last stroke of the hole, user can select
a Complete Hole (FIG. 31) to go back to the Play A Hole menu to
start the next hole until completing a round.
[0088] When a round of golf is completed, user has the option to
upload the round play (690) to the hosting system for future
statistics and game improvement. A sample screen of completed round
is shown in FIG. 32.
[0089] If the round played is the new golf course created by the
user, it can be uploaded into the hosting system for others to
share with the mobile phone application as well. Upon successful
upload a round to the hosting system the sample screen looks like
that shown in FIG. 33.
[0090] Finally, user can press Complete A Round (FIG. 33) to go
back to the mobile phone 170 application Main Menu for any other
use.
[0091] The hosting server system 140 is a central hosting system
that houses the database 3460 and all the intelligent business
logic 3440 to serve mobile phone application 3410, web site 3420,
and all internal back-end tools 3430. The database 3460 stores all
users, golf club, golf courses, holes, rounds, shots, billing plan,
promotion, ads, actions, and others. The intelligent business logic
3440 performs all server tasks like user authentication, service
rendered to clients based on subscription plan, sophisticated and
heavy computing like shots statistics, golf course search, and many
others. Result is sent to the client side via a proprietary
client/server protocol via the Internet. In another embodiment, the
database 3460 is stored in the mobile phone 170 so that a user does
not need to access a network to perform the above-mentioned
methods.
[0092] The website 3420 is another system portal for users to
interface with the system. From the website, users can do several
functions, such as golf course search; golf course creation; and
participate in a golf forum.
[0093] The golf course search is similar to the mobile phone
application feature. The website provides an intuitive, simple,
real-time search capability for users to look up any golf course
available in the host system. The system provides many search
criteria that can be used singly or combined with others to narrow
the search. User can search: [0094] a. By Name: golf courses that
match a given name. Wild card characters are acceptable. [0095] b.
By Zip Code: golf courses that match a zip code. [0096] c. By City:
golf courses that match a city name
[0097] If a golf course is not available from the system, a user
can use a web-based tool to create a golf course data it in the
hosting system database for mobile phone application to use. The
golf club, golf course(s), and hole tables from the FIG.
5--Database and internal application data structures and tables are
populated by the web-based tool.
[0098] Method 1: [0099] Use Google Map to find the golf course
satellite map by entering the address. [0100] Locate every green
from the map. [0101] Enter the center of the green locations; i.e.
longitude and latitude provided by Google Map into the tool entry
fields accordingly. [0102] Save the data.
[0103] Method 2: [0104] In the case that Hosting system
administrator does not know the hole from the satellite map, he/she
posts the map with holes' labels to the website community and asks
for local golfers to help identify the hole's number with the
label. [0105] User identify the holes' numbers and reply
accordingly with the labels for the hosting system admin can record
the greens' GPS locations as above.
[0106] The golf forum is a public forum for golfers to post any
golf-related discussions, blogs, images, experiences, thoughts,
etc. One of the most important features of the forum is allow users
to rate a golf course for references based on certain criteria. The
golf course rating can be used later by the system to mobile phone
application.
[0107] FIG. 35 is a block diagram illustrating a wireless phone 170
(FIG. 1) capable of hosting the functions described above. The
phone 170 includes a wireless transceiver 3510 capable to
wirelessly communicate with wireless networks via cell sites, such
as cell tower 120; a memory device 3560, such as such as a magnetic
disk, Random Access Memory (RAM), Flash Memory or other memory
device or combination thereof a processor 3550, such as an ARM 7
microprocessor or a Motorola 68000 microprocessor; a GPS receiver
3540; a display 3580; and an input device 3590, all interconnected
for communication by a system bus 3570. In addition, wireless
transceiver 3510 is communicatively coupled to antenna 3500.
[0108] The GPS receiver 3540 receives radio signals from GPS
satellites orbiting the Earth. Based on the received signals, the
receiver 3540 can calculate its position and altitude. The GPS
receiver 3540 can then forward that data to processor 3550 for
processing. The term GPS refers to any generic global positioning
system and not just satellite based. For example, the GPS receiver
3540 can use a Loran-C, GLONASS, Galileo, triangulation between
cell phone towers or other location determination system.
[0109] The transceiver 210 can wirelessly transmit and receive
data, including text messages, such as SMS messages or other data
formats, and voice, via wireless networks, such as Cellular Digital
Packet Data (CDPD) and ARDIS. The transceiver 3510 comprises a
transmitter 3520 for transmitting data and a receiver 3530 for
receiving data.
[0110] The processor 3550 executes engines stored in memory 3560 to
transmit and receive SMS text messages (or data in other formats)
and to run the golf functions discussed above. The display 3580
comprises a LCD display or other device for displaying data. The
input 3590 includes a keyboard and/or other input device.
[0111] FIG. 36 is a block diagram illustrating a memory 3560 of the
mobile phone. The memory 3560 includes a hole engine 3610; a
distance engine 3620; a club recommendation engine 3630; a club
presentation engine 3640; a golf course engine 3650; a storage
engine 3660; and a map engine 3670. While the engines 3610-3670 are
shown in a software embodiment, they can also be implemented with
other technology, such as Application Specific Integrated
Circuits.
[0112] The hole engine 3610 determines a hole location (e.g., pin)
The hole engine 3610 may use the function Get_Pin_Location to get
the pin location from a database stored in the memory 3560 and/or
stored at another site. The distance engine 3620 calculates a
difference between the hole and current golfer position using the
Get_Distance function. The club recommendation engine 3630
determines a club to use based on the difference. Functions used by
the engine 3630 may include the Get_Club_Profile (Distance)
function, the Get_Club_Most_Accurate function and the
Get_Club_Most_Used function. The club presentation engine 3640
presents the determination of club on a screen.
[0113] The golf course engine 3650 receives golf course data
including hole locations, either from a local database or from a
database stored at another site. The storage engine 3660 stores
round play data locally and/or at another site. The map engine 3670
shows stored data in a map format. That is, the map engine 3670
displays a map of the golf course (or section thereof) and round(s)
played so that a user can improve his/her golf game by reviewing
the strokes. In an embodiment, the map engine 3670 displays the map
and data on the mobile phone 170. In another embodiment, the map
engine 3670 is resident on the server 140, which displays the map
either on the mobile phone 170 (when downloaded) or on a user's
computer when a website is accessed.
[0114] The foregoing description of the illustrated embodiments of
the present invention is by way of example only, and other
variations and modifications of the above-described embodiments and
methods are possible in light of the foregoing teaching. Further,
components of this invention may be implemented using a programmed
general purpose digital computer, using application specific
integrated circuits, or using a network of interconnected
conventional components and circuits. Connections may be wired,
wireless, modem, etc. The embodiments described herein are not
intended to be exhaustive or limiting. The present invention is
limited only by the following claims.
* * * * *
References