Method and system utilizing a golf shot API proxy
11998800 ยท 2024-06-04
Assignee
Inventors
Cpc classification
A63B2225/72
HUMAN NECESSITIES
A63B2024/0028
HUMAN NECESSITIES
H04L67/12
ELECTRICITY
A63B2024/004
HUMAN NECESSITIES
A63B71/0622
HUMAN NECESSITIES
International classification
Abstract
A method and system for providing shot tracking data to a client device is disclosed herein. The system includes multiple golf ball tracking sensors positioned at multiple golf driving ranges, multiple shot application programming interfaces (API), and a shot API proxy. Each of the shot APIs is configured to receive shot data from each of the golf ball tracking sensors at a corresponding golf driving range venue such as a TOPGOLF? entertainment venue.
Claims
1. A system for providing shot tracking data to a client device, the system comprising: a plurality of golf ball tracking sensors positioned at a golf driving range; at least one shot application programming interface (API) configured to receive shot data from each of the plurality of golf ball tracking sensors at the golf driving range; and a shot API proxy; wherein the shot API proxy is configured to receive shot data from each of the shot API; wherein the shot API proxy is configured to receive calls for shot data from a remote client device; wherein the shot API proxy is configured to transmit shot data to the remote client device.
2. The system according to claim 1 further comprising an analytics provider for analyzing the shot data.
3. The system according to claim 1 further comprising a client authentication provider configured to authenticate incoming client requests from the client device.
4. The system according to claim 1 further comprising a request resolver configured to implement a venue lookup mechanism to resolve a target shot API path.
5. The system according to claim 1 wherein the client device is a mobile communication device.
6. The system according to claim 1 wherein each of the plurality of golf ball tracking sensors is a camera sensor.
7. The system according to claim 1 wherein each of the plurality of golf ball tracking sensors is a radar sensor.
8. The system according to claim 1 wherein the client device comprises a mobile app.
9. The system according to claim 1 wherein the shot API proxy runs on a cloud server.
10. The system according to claim 1 wherein the shot API runs at a local server with a local database.
11. A method for providing shot tracking data to a client device, the method comprising: generating shot data at a plurality of golf ball tracking sensors positioned at a golf driving range; receiving, at a shot application programming interface (API), shot data from each of the plurality of golf ball tracking sensors; receiving shot data at a shot API proxy from the shot API; receiving a call for shot data at the shot API proxy from a client device; and transmitting the shot data from the shot API proxy to the client device.
12. The method according to claim 11 further comprising analyzing the shot data at an analytics provider.
13. The method according to claim 11 further comprising authenticating incoming client requests from the client device at a client authentication provider.
14. The method according to claim 11 further comprising implementing, at a request resolver, a venue lookup mechanism to resolve a target shot API path.
15. The method according to claim 11 wherein the client device is a mobile communication device.
16. The method according to claim 11 wherein each of the plurality of golf ball tracking sensors is a camera sensor.
17. The method according to claim 11 wherein each of the plurality of golf ball tracking sensors is a radar sensor.
18. The method according to claim 11 wherein the client device comprises a mobile app.
19. The method according to claim 11 wherein the shot API proxy runs on a cloud server.
20. The method according to claim 11 wherein the shot API runs at a local server with a local database.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION OF THE INVENTION
(10)
(11)
(12)
(13)
(14)
(15) The solution will be implemented as such:
(16) An AsyncAPI, developed with the Mulesoft platform, deployed to TOPGOLF's Runtime Fabric Cluster (Mulesoft) runs in a cloud computing service such as Amazon Web Services (AWS).
(17) This AsyncAPI serves as a public proxy for the underlying Shot API instances running at each golf driving range (venue) 50.
(18) The API is secured with the API Policies supplied by Mulesoft's Anypoint Platform, as well as any custom policies deemed necessary.
(19) For a client app 65 to subscribe to shot event data, it will first authenticate against the policies applied to the AsyncAPI.
(20) Once authenticated, the client app 65 will request subscriptions to specific bay(s) at specific venue(s) 50.
(21) Behind the AsyncAPI is an integration workflow containing a custom built Socket.io connector. The Socket.io connector handles the subscription requests from the client apps 65 on the mobile device 60 of the users.
(22) The workflow will first make an HTTP call to an internal API containing hostnames for each of the individual Shot APIs 70.
(23) Once the required hostname(s) is (are) pulled, the workflow uses the custom Socket.io connector to establish a connection to the underlying Shot API(s) 70.
(24) After a successful connection attempt, all shot events will be sent back through the Socket.io connector, back through the AsyncAPI, and to the client in real-time; similar to a push notification.
(25) This solution leverages the following key cutting edge technologies and maintains their inherent positive characteristics: AsyncAPI deployed to an instance of a Mulesoft RTF Mulesoft Anypoint Platform (API Manager, Monitoring, Log forwarding) Socket.io AWS Infrastructure (EC2, NLB, Route53, etc. . . . ) Other features of the present invention include: Custom Socket.io Connector developed with the Mulesoft Connector SDK; AysncAPI as a proxy to a Socket.io implementation; The ability for shot events to be broadcast securely with Public internet endpoints; The ability for multiplexing, which allows for n number of clients to subscribe to events while only requiring a single subscription to the underlying Shot API 70 for those events, which allows for cross-bay/cross-venue/cross-device gameplay.
(26)
(27)
(28)
(29) Thirkettle et al., U.S. Pat. No. 7,056,221 for a Ball Collection Arrangement, is hereby incorporated by reference in its entirety.
(30) Golliffe et al., U.S. Pat. No. 7,059,974 for Golf Balls With Impact Resistant Identification Device, is hereby incorporated by reference in its entirety.
(31) Thirkettle et al., U.S. Pat. No. 7,160,196 for an Identification Device, is hereby incorporated by reference in its entirety.
(32) Thirkettle et al., U.S. Pat. No. 7,337,965 for a Ball Identifying Device, is hereby incorporated by reference in its entirety.
(33) Savarese et al., U.S. Pat. No. 7,691,009 for Apparatus And Methods Relating To Findable Balls, is hereby incorporated by reference in its entirety.
(34) Savarese et al., U.S. Pat. No. 7,766,766 for Methods And Apparatus Relating To Findable Balls, is hereby incorporated by reference in its entirety.
(35) Cheng, U.S. Pat. No. 7,806,777 for Automatically Adapting Virtual Equipment Model, is hereby incorporated by reference in its entirety.
(36) Cheng, U.S. Pat. No. 7,847,808 for Photographic Mapping In A Simulation, is hereby incorporated by reference in its entirety.
(37) Savarese et al., U.S. Pat. No. 8,002,645 for Apparatus, Methods And Systems Relating To Findable Balls, is hereby incorporated by reference in its entirety.
(38) Cheng, U.S. Pat. No. 8,029,359 for Providing Offers To Computer Game Players, is hereby incorporated by reference in its entirety.
(39) Forsgren, U.S. Pat. No. 8,077,917 for Systems And Methods For Enhancing Images in A Video Recording of A Sports Event, is hereby incorporated by reference in its entirety.
(40) Caster et al., U.S. Pat. No. 9,132,326 for a System For Providing Loaner Clubs To Novice Golfers, is hereby incorporated by reference in its entirety.
(41) Forsgren, U.S. patent Ser. No. 10/596,416 for a System And Method For Three Dimensional Object Tracking Using Combination of Radar And Image Data, is hereby incorporated by reference in its entirety.
(42) Semsak et al., U.S. patent Ser. No. 10/799,770 for a RFID Golf Ball Testing Apparatus, is hereby incorporated by reference in its entirety.
(43) Johansson et al., U.S. patent Ser. No. 10/898,757 for Three Dimensional Object Tracking Using Combination of Radar Speed Data And Two Dimensional Image Data, is hereby incorporated by reference in its entirety.
(44) Forsgren et al., U.S. patent Ser. No. 11/335,013 for Three Motion Based Pre-Processing Of Two-Dimensional Image Data Prior To Three-Dimensional Object Tracking With Virtual Time Synchronization, is hereby incorporated by reference in its entirety.
(45) Levin, U.S. patent Ser. No. 11/409,411 for a Single Finger User Interface Camera Control, is hereby incorporated by reference in its entirety.
(46) Johansson et al., U.S. patent Ser. No. 11/504,582 for Three Dimensional Object Tracking Using Combination of Radar Speed Data And Two Dimensional Image Data, is hereby incorporated by reference in its entirety.
(47) Hugmark et al., U.S. patent Ser. No. 11/644,562 for Trajectory Extrapolation And Origin Determination For Objects Tracked In Flight, is hereby incorporated by reference in its entirety.
(48) From the foregoing it is believed that those skilled in the pertinent art will recognize the meritorious advancement of this invention and will readily understand that while the present invention has been described in association with a preferred embodiment thereof, and other embodiments illustrated in the accompanying drawings, numerous changes, modifications and substitutions of equivalents may be made therein without departing from the spirit and scope of this invention which is intended to be unlimited by the foregoing except as may appear in the following appended claims. Therefore, the embodiments of the invention in which an exclusive property or privilege is claimed are defined in the following appended claims.