System for accurate location estimation of a water vessel

The rescue system leverages machine learning and drone technology to accurately locate and assign responder units to distressed water vessels, addressing the challenges of dynamic marine environments and improving response efficiency.

AU2026253993A1Pending Publication Date: 2026-11-05I911 INTERNATIONAL INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
AU2026253993
Authority / Receiving Office
AU · AU
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-08-20
Filing Date
2026-10-16
Publication Date
2026-11-05

AI Technical Summary

Technical Problem

Existing systems face challenges in accurately estimating the location of a water vessel in distress and efficiently assigning rescue resources, particularly in dynamic marine environments where communication and location tracking are hindered by environmental factors and limited infrastructure.

Method used

A rescue system utilizing machine learning models trained on historical data, unmanned drones for location confirmation, and mobile cell tower data to triangulate the user device's position, combined with a centralized assignment manager to allocate responder units based on real-time location coordinates.

Benefits of technology

Enables accurate estimation of the water vessel's location and efficient assignment of rescue resources, enhancing response times and resource allocation in marine distress scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000038_0000
    Figure 00000038_0000
  • Figure 00000039_0000
    Figure 00000039_0000
  • Figure 00000040_0000
    Figure 00000040_0000
Patent Text Reader

Abstract

between a current time and a time at which a last-received location coordinate was received. The 20 26 25 39 93 16 O ct 2 02 6 A B S T R A C T 2 0 2 6 2 5 3 9 9 3 1 6 O c t 2 0 2 6 b e t w e e n a c u r r e n t t i m e a n d a t i m e a t w h i c h a l a s t - r e c e i v e d l o c a t i o n c o o r d i n a t e w a s r e c e i v e d . T h e
Need to check novelty before this filing date? Find Prior Art

Description

[00036] In some embodiments, the location may be estimated by using machine learning. The rescue system 130 optionally includes a machine learning model 230. The machine learning model 230 may be trained using historical data collected by the rescue system 130. For example, the rescue system 130 may have access to historical data due to previous rescue efforts, of received location information from user devices, additional location information, environmental factors, and actual location of user devices after a responder has reached the water vessel. This information can be used to train the machine learning model 230 to output a probability that the user device 110 is at each of a set of several coordinates (or within a range or radius of a given coordinate). The machine learning module 230 may be used by the location estimator module 225 to generate a projected location based on inputs such as a plurality of location coordinates from the user device 110, other additional location information, and one or more environmental factors. For example, the output of the machine learning module 230 may be a probability that the user device 110 is at each of a set of several location coordinates, and the location estimator module 225 may use this output to determine an estimated location and an uncertainty radius which indicates a field that the mariner is likely within. The location estimator module 225 may select an estimated location coordinate from the set of several location coordinates, the estimated location coordinate having the highest probability among the set, and determine an uncertainty radius based on the corresponding probability (e.g., lower probability would correspond to a higher uncertainty radius).

[00037] In some embodiments, unmanned vehicles (e.g., unmanned aerial or water vehicles, collectively referred to as "drones") may be used to aid rescue efforts, where drones are sent ahead of manned rescue vehicles to confirm a location of a distressed mariner. For example, a drone can go over the scene a broadcast captured images or video from the scene so the responder has more information about the scene. A drone may have infrared sensing capabilities to pick up heat signature of a user in a water vessel to locate the 2026253993   16 Oct 2026 user device 110. The drone can fly by a certain perimeter of the scene to look for an infrared signal, and the drone can transmit a message responsive to finding an infrared signal to indicate the user device 110 has been located. The drone manager module 235 generates instructions for a drone. The instructions may include to launch a drone to a target destination and to scan a radius from the target destination. The target destination may be an estimated location of the user device 110 at a future projected time. For example, the location of the user device 110 on a water vessel may change from the time a drone is launched to the time it reaches its target destination. the drone manager module 235 may request from the location estimator module 225 to estimate a location of the user device 110 at a future projected time based on the travel time for a drone to travel to a target destination. The location estimator module 225 may predict the location of the user device 110 at a future time based on the expected travel time of the drone (e.g., determined by speed, flight path) to reach its destination. The target destination may be a last-received location coordinate of the user device 110 or an estimated location of the user device 110. The drone manager module 235 may generate additional instructions for a drone to update the target destination as a location of the user device 110 as the location changes with time.

[00038] In one embodiment, the rescue system 130 may receive additional data that indicating the user device 110 is within a threshold distance of a mobile cell tower. For example, the mobile cell tower may be a created cell tower on a responder water vessel. The created cell tower may indicate to the rescue system 130 that the responder water vessel received a ping from a mobile device of the user, and the rescue system 130 may determine that the mobile device is within a threshold distance that is the reach of the created cell tower. The created cell tower may have additional information, such as a signal strength of the mobile device to the created cell tower. In this scenario, the rescue system 130 may determine the mobile device to be within a threshold distance based on the signal strength (e.g., stronger signal strength indicates mobile device is closer to created cell tower). The drone manager module 235 may generate instructions to launch a drone to the location of the mobile cell tower and for the drone to scan an area within the threshold distance of the mobile cell tower. 2026253993   16 Oct 2026

[00039] The assignment manager module 240 assigns a responder unit of a responder device 120 to a user of the user device 110. The assignment manager module 240 selects the responder unit to assign to the user based on the plurality of location coordinates from the user device 110 and a location of each of a plurality of candidate responder unit. The location of the candidate responder unit may be based on a fixed address of a corresponding headquarters of the responder unit. The location of the candidate responder unit may be based on received location coordinates from a corresponding responder device 120 of the candidate responder unit. For example, the assignment manager module 240 may select the responder unit closest to the location coordinates of the user device 110 based either on the location of the responder unit's headquarters or a received location from a responder device 120 (e.g., mobile phone of a first responder on duty) of the responder unit. The assignment manager module 240 may store an association of the user device 110 and the assigned responder device 120 in the data store 265. The assignment manager module 240 may establish a communication channel between the responder device to the user device. Responsive to the rescue system 130 receiving future communications from the user device 110, the assignment manager module 240 may reestablish the communication channel to the responder device 120 based on the association. In one embodiment, the assignment manager module 240 may assign a responder unit to a user based on location information (e.g., entered location coordinates, city and / or state, proximity to a known location, etc.) provided from a user of the user device 110 from SMS messages, text input in a textbox on a mobile browser, or from oral responses of a user from a phone call, etc.

[00040] The data store 265 stores information used by the rescue system 130. The information may include a plurality of responder units, corresponding addresses, and corresponding phone numbers or virtual addresses for communicating with devices or accounts of responders and / or responder units. The information may include an association between the user device 110 and a responder device 120 of a selected responder unit.

[00041] FIG. 3 illustrates one embodiment of modules and database used by a user device. User device 110 includes 1 / 0 interface module 310, the user interface manager module 315, settings manager module 320, sensors 325, location manager module 330, and data store 2026253993   16 Oct 2026 365. The modules and databases depicted with respect to user device 110 are merely exemplary; fewer or more modules or databases may be used to effect the processes described herein.

[00042] The 1 / 0 interface module 310 interfaces with the network 115 to communicate with the rescue system 130 and optionally the responder device 120. The 1 / 0 interface module 310 can transmit information to and receive information from the rescue system 130 and the responder device 120. The information may be a Short Message Service (SMS) message, a plurality of location coordinates from the user device 110, or a web page from the rescue system 130.

[00043] The user interface manager module 315 presents information on the user device 110. In some embodiments, the user interface manager module 315 presents on a user device 110 an SMS message from the rescue system 130 with a selectable option requesting the user to share a location of the user device 110. For example, a mariner is in distress and texts a message "SOS" on his mobile device to a number (e.g., "20911"), and the rescue system 130 transmits the SMS to the mobile phone of the mariner. In some embodiments, the user interface module 315 presents an interface of a pre-installed application which includes a selectable option to share a location of the user. For example, prior to a mariner embarking on a water journey, the mariner installed an application his mobile device to use in the event he needs help on the water. The mariner launches the pre-installed an application once he is in distress, and the application interface includes a location share or distress button for the mariner to share his location. The user interface manager module 315 may present on a user device 110 a website of the rescue system 130. The website may include a graphical representation of the coast guard emblem.

[00044] The settings manager module 320 manages the settings for the user device 110. The settings manager module 320 may update a setting for the user device 110 to share location information responsive to a user selecting an option to share a location of the user device 110. The settings manager module 320 may enable a setting for the user device 110 to continually transmit location information, regardless of whether a confirmation response is received. The settings manager module 320 may enable a setting for the user device 110 to 2026253993   16 Oct 2026 transmit location information responsive to the user device 110 determining a location of the user device 110 has changed (e.g., via the location manager 330). The settings manager module 320 may update a setting for the user device 110 to stop sharing location information responsive to a user selecting an option to stop sharing a location of the user device 110.

[00045] The sensors 325 detect at least one of motion, an environmental condition, position, or some combination thereof. The sensors 325 may include a motion sensor to detect motion, rotation, or acceleration. Examples of a motion sensor are an accelerometer, gravity sensor, gyroscope, or rotational vector sensors. The sensors 325 may include an environmental sensor to measure air pressure changes, humidity, temperature, etc. Examples of an environmental sensor are a barometer, photometer, or thermometer. The sensors 325 may include a position sensor such as a magnetometer to measure orientation of the device (e.g., true North). The user device 110 may transmit data captured by the sensors 325 (in addition to its location information) to the rescue system 130 when a share location option is selected by the user on the user device 110. The transmitted data captured from the sensors 325 can be used by the rescue system 130 as environmental factors (e.g., input to machine learning model, scheduling estimated location updates, estimating location).

[00046] The location manager module 330 determines a location of the user device 110. The location manager may determine a location of the user device using any location mechanisms available to the user device 110 such as GPS, Assisted GPS (AGPS), Wi-Fi, and cellular location. The location manager module 330 may use a network infrastructure of the user device 110 to determine the location of the user device 110. For example, the user device 110 may be a mobile phone which sends signals to nearby cell towers that can be used to triangulate the location of the mobile phone. The location manager module 330 may use GPS to determine the location of the user device 110. For example, if a mobile phone is equipped with GPS it can connect with GPS satellites to determine its location. The location manager module 330 may also determine the location using information from the sensors 325.

[00047] The data store 365 stores information for the user device 110. This information may include device settings of the user device 110. 2026253993   16 Oct 2026

[00048] FIG. 4 illustrates one embodiment of modules and database used by a responder device. Responder device 120 includes 1 / 0 interface module 410, the user interface manager module 415, location manager module 420, sensors 425, and data store 465. The data store 465 stores information used by the responder device 120. The modules and databases depicted with respect to responder device 120 are merely exemplary; fewer or more modules or databases may be used to effect the processes described herein.

[00049] The I / 0 interface module 410 interfaces with the network 115 to communicate with the rescue system 130 and optionally the user device 110. The 1 / 0 interface module 410 can transmit information to and receive information from the rescue system 130 and the user device 110. The information may be a Short Message Service (SMS) message, a plurality of location coordinates from the user device 110, a plurality of location coordinates from the responder device 120, a web page from the rescue system 130, or instructions for a drone.

[00050] The user interface manager module 415 presents information on the responder device 120. The user interface module 415 may be similar to the user interface module 315 except it is for a responder device 120.

[00051] The location manager module 420 determines a location of the responder device 120. The location manager module 420 may be similar to the location manager module 330 of the user device 110 except it is for the responder device 120.

[00052] The responder device 120 may include sensors 425. In one example, the responder device 120 is a mobile phone, the sensors 425 are similar to the sensors 325 of the user device 110 except they are for the responder device 120. COMPUTING MACHINE ARCHITECTURE

[00053] FIG. 5 is a block diagram illustrating components of an example machine able to read instructions from a machine-readable medium and execute them in a processor (or controller). Specifically, FIG. 5 shows a diagrammatic representation of a machine in the example form of a computer system 500 within which program code (e.g., software) for causing the machine to perform any one or more of the methodologies discussed herein may be executed. The program code may be comprised of instructions 524 executable by one or 2026253993   16 Oct 2026 more processors 502. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

[00054] The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a smartphone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions 524 (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute instructions 624 to perform any one or more of the methodologies discussed herein.

[00055] The example computer system 500 includes a processor 502 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), one or more application specific integrated circuits (ASICs), one or more radio-frequency integrated circuits (RFICs), or any combination of these), a main memory 504, and a static memory 506, which are configured to communicate with each other via a bus 508. The computer system 500 may further include visual display interface 510. The visual interface may include a software driver that enables displaying user interfaces on a screen (or display). The visual interface may display user interfaces directly (e.g., on the screen) or indirectly on a surface, window, or the like (e.g., via a visual projection unit). For ease of discussion the visual interface may be described as a screen. The visual interface 510 may include or may interface with a touch enabled screen. The computer system 500 may also include alphanumeric input device 512 (e.g., a keyboard or touch screen keyboard), a cursor control device 514 (e.g., a mouse, a trackball, a joystick, a motion sensor, or other pointing instrument), a storage unit 516, a signal generation device 518 (e.g., a speaker), and a network interface device 520, which also are configured to communicate via the bus 508.

[00056] The storage unit 516 includes a machine-readable medium 522 on which is stored 2026253993   16 Oct 2026 instructions 524 (e.g., software) embodying any one or more of the methodologies or functions described herein. The instructions 524 (e.g., software) may also reside, completely or at least partially, within the main memory 504 or within the processor 502 (e.g., within a processor's cache memory) during execution thereof by the computer system 500, the main memory 504 and the processor 502 also constituting machine-readable media. The instructions 524 (e.g., software) may be transmitted or received over a network 526 via the network interface device 520.

[00057] While machine-readable medium 522 is shown in an example embodiment to be a single medium, the term "machine-readable medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions (e.g., instructions 524). The term "machine-readable medium" shall also be taken to include any medium that is capable of storing instructions (e.g., instructions 524) for execution by the machine and that cause the machine to perform any one or more of the methodologies disclosed herein. The term "machine-readable medium" includes, but not be limited to, data repositories in the form of solid-state memories, optical media, and magnetic media. EXAMPLE USE CASE -ACCURATE ESTIMATION OF A LOCATION OF A WATER VESSEL

[00058] The above-described components of the rescue system 130 enable a system to accurately estimate a location of a water vessel. In one example, the responder is made aware that a water vessel is in distress and obtains a phone number of a person on the water vessel. For example, a responder receives a notification that a person (e.g., user associated with a user device) on a water vessel is in distress (e.g., phone call from the user or from friends or family of the user). The responder navigates to a website of the rescue system 130 via a responder device 120 and logs in to the website of the rescue system 130 with credentials (e.g., email and password). The rescue system 130 transmits, to the responder device 120, instructions to display a request for a phone number of the user in distress along with a selectable option to locate the device associated with the phone number of the user. The responder device 120 may present the request in a web browser as a web page including 2026253993   16 Oct 2026 a single input field for a mobile phone number along with a locate button in a user interface. The responder can enter the user's phone number into the field and press the locate button on the user interface of the responder device 120. Responsive to the rescue system 130 receiving the user's phone number from the responder device 120, the rescue system 130 transmits an SMS message for display on the user device 110 of the user from a 5-digit short code or 10-digit long code. In a different example, the SMS message may be transmitted responsive to a user's direct request for help to the rescue system 130 (e.g., user texts "SOS" to a rescue number such as "20911"). For example, the water vessel may have a reflective sticker by the steering wheel on the water vessel indicating that in case of an emergency, tune to a particular VHF channel or text 20911. In another example, the SMS message may be transmitted responsive to the rescue system 130 determining the user may need assistance based on earlier received information about the user. For example, the user pre-registers his phone number with a rental boat company for a scheduled time, and the information is received by the rescue system 130 (e.g., information is sent by the boat company or user device 110). The rescue system 130 may determine that the user does not return the rental boat on time and automatically transmit the SMS message to the user's mobile device to ask if the user is ok, and if not, to select a link (e.g., launch web page, to share location). The use of an SMS message is non-limiting, and the rescue system 130 may communicate this information with the user device 110 by other means, such as email, data messaging systems, or other applications, etc.

[00059] FIG. 6A depicts a process for enabling accurate estimation of a location of a water vessel, in accordance with an embodiment. Process 600 begins with rescue system 130 transmitting 602 an SMS message to a user device 110 on a water vessel, the SMS message comprising a selectable option that, when selected, causes a location of the user device 110 to be shared. For example, the user device 110 is a mobile phone, and the SMS message includes a link to launch a URL in a mobile browser. After tapping the link, the user may be presented with an additional prompt by a mobile browser of the user device 110 to consent to share device location. In some instances, the user may have disabled GPS or Location Services on their mobile device. The rescue system 130 detects the operating system (such as iOS or Android) via the website and transmits tailored instructions on how to enable 2026253993   16 Oct 2026 location services on their particular user device 110. In some embodiments, GPS cannot be obtained from the phone (e.g., because the user does not enable location services), and the rescue system 130 may transmit instructions to the user device 110 for the user on how to enable GPS.

[00060] Based on a selection by a user of the user device 110 of the selectable option, the rescue system 130 receives 604 a plurality of location coordinates from the user device 110 at a plurality of respective times, each respective location coordinate describing a respective location of the user device 110 at its respective time. For example, after the user selects an option on the mobile browser of the user device 110 to allow the rescue system 130 to access the current location of the user device 110, the user device 110 transmits the location coordinates to the rescue system 130. The user device 110 may utilize all available location mechanisms available to it, such as GPS, AGPS, Wi-Fi, and cellular location to determine the location coordinates. The user device 110 may establish a web socket connection between the user's mobile browser of the user device 110 and the rescue system 130. The user device 110 may transmit location information in real-time (or near real-time) to the rescue system 130, or the user device 110 may transmit location coordinates when the user device 110 detects a change in position (e.g., multiple times per second, every few seconds, minutes, etc. when movement is detected by user device 110). The rescue system 130 receives the location coordinates from the user device 110 and may transmit the location coordinates to the responder device 120 to allow the responder to observe the real-time movement of the water vessel.

[00061] The rescue system 130 computes 606, an estimated location of the water vessel based on the plurality of location coordinates and an elapsed time between a current time and a time at which a last-received location coordinate was received. The rescue system 130 may determine the user device 110 has stopped transmitting location coordinates for more than a threshold period of time, and estimate a location of the user device 110 at a current time.

[00062] The rescue system 130 transmits 608 the estimated location to a responder device 120. The rescue system 130 may include instructions for displaying the estimated location 2026253993   16 Oct 2026 on a map of a user interface on a responder device 120. EXAMPLE USE CASE - ASSIGNMENT OF AW ATER VESSEL TO RESPONDER UNIT

[00063] The above-described components of the rescue system 130 enable assignment of a water vessel to a responder unit. In one example, the user device 110 may have transmitted a distress SMS message (e.g., text to "20911") comprising a payload including a symbol predefined as corresponding to a request for help (e.g., "SOS"). Responsive to receiving the distress SMS message from the user device 110, the rescue system 130 transmits an SMS for display on the user device 110 of the user from a 5-digit short code (e.g., "20911") or IOdigit long code. In some embodiments, the rescue system 130 may give the user an input option (e.g., launch text box in a mobile browser, or in SMS text) so that the user can input their location information and / or other information. The user may describe their location, for example, in the text box and submit the location information (e.g., hit send) to the responder device. The location information input from the user can be a latitude and longitude from the boat (e.g., user may enter in location coordinates from another GPS device on the water vessel), a descriptive indicator (e.g., ten miles west from a particular known geographical location). The user device 110 may be presented with a two way chat option to call a responder device 120 (e.g., a particular coast guard station, or a responder of a responder device 120), the two-way chat option including a text box for free-form typing. The responder device 120 may reply to the user device 110 that they received the location of the user, and that they are responding to the call or will be there in an estimated time. In some embodiments, the user may call or text a phone number to request help. The user may be presented by the rescue system 130 with a series of prompts or questions from a phone call or through text messaging, such as requesting the state that the user is closest to on the water vessel, and subsequently requesting the city that the user is closest to on his water vessel. These series of prompts / questions may provide information to narrow down which responder unit the user is closest to, and match the user device 110 to a responder unit (e.g., particular coast guard station, responder of a responder device). For example, the United States Coast Guard has different sector commands that covers different territories. The information provided by the user, such as a state and / or a city, may be enough information to 2026253993   16 Oct 2026 locate the closest United States Coast Guard sector, to connect the user to the appropriate responder unit. In an embodiment, where the user device 110 calls a responder device 120, the responder device 120 may automatically detect an address (e.g., phone number) of user device 110 and may transmit an SMS message to the user device 110 that includes a prompt to share location with the responder device 120.

[00064] FIG. 6B depicts a process for enabling assignment of a responder unit to a user on a water vessel, in accordance with an embodiment. Process 650 begins with rescue system 130 transmitting 652 an SMS message to a user device 110 on a water vessel, the SMS message comprising a selectable option that, when selected, causes a location of the user device 110 to be shared. Based on a selection by a user of the user device 110 of the selectable option, the rescue system 130 receives 654 a plurality of location coordinates from the user device at a plurality of respective times, each respective location coordinate describing a respective location of the user device at its respective time. The rescue system 130 selects 656, a responder unit to assign to the user based on the plurality of location coordinates and a location of each of a plurality of candidate responder units. The rescue system 130 transmits 658 location information to a responder device 120 of the selected responder unit, the location information based on the plurality of location coordinates. The location information may be the plurality of location coordinates from the user device 110 or at least one of the plurality of location coordinates from the user device 110 (e.g., a last received location coordinate). The location information may be an estimated location of the user device 110. The rescue system 130 may determine the user device 110 has stopped transmitting location coordinates for more than a threshold period of time, and estimate a location of the user device 110 at a current time.

[00065] Responsive to the responder unit being assigned, the rescue system 130 may send a predetermined message to the user on behalf of the responder unit (e.g., "We've received your location. Help is on the way." or "Turn your VHF radio to Channel_.") The rescue system 130 may provide a two-way chat interface to the responder over SMS and the user over SMS so the user device 110 and the responder device 120 can communicate over text. If a cellular voice connection is available, the rescue system 130 may provide the user with a 2026253993   16 Oct 2026 link on a web page to dial the assigned responder via phone. The rescue system 130 may provide the responder device 120 with capability to receive the call via the web browser of the rescue system 130 on the responder device 120. EXAMPLE USER DEVICE INTERFACE

[00066] FIG. 7A depicts a message user interface on a user device, in accordance with an embodiment. The message user interface displays an SMS message on a user device 110 which is a mobile phone. The SMS message is from the rescue system 130 and includes a selectable option that, when selected, causes a location of the user device 110 to be shared. In this example, the selectable option is to open a link to share the user's location. The SMS message may include information such as a report was received that the user may be in distress, and instructions that if the user has a VHF Marine Radio, to tune it to a particular channel.

[00067] FIG. 7B depicts a mobile browser user interface on a user device, in accordance with an embodiment. The mobile browser interface displays a web page of the rescue system 130 to the user of the user device 110 which is a mobile phone. Continuing with the example of FIG. 7A, after the user selects (e.g., taps) the link, the user device 110 opens a mobile browser and navigates to a web page of the rescue system 130. The mobile browser includes a selectable option to share the user's location (e.g., "Share My Location" button).

[00068] FIG. 7C depicts a pop up user interface on the user device, in accordance with an embodiment. Continuing with the example of FIG. 7B, after the mobile browser navigates to the web page of the rescue system 130 and a user selects the selectable option on the web page, the user device 110 may launch a pop up user interface to indicate that the rescue system 130 would like access to the current location of the user device 110. In some embodiments, the pop up user interface may automatically launch after the mobile browser navigates to the web page without the user selecting the selectable option on the web page. EXAMPLE RESPONDER DEVICE INTERFACE

[00069] FIG. 8 depicts a user interface on the responder device, in accordance with an embodiment. The user interface may be a web browser of the responder device 120 which 2026253993   16 Oct 2026 displays a web page of the rescue system 130. The user interface on the responder device 120 includes a map with the estimated location of the user device 110 marked on the map. The user interface may also include information on the latest location of the user device 110 in a format of Latitude / Longitude, Degrees / Minutes / Seconds (DMS), Decimal Degree Minutes (DDM), an uncertainty radius, information regarding a Date / Time stamp indicating locations as they are received by the rescue system 130, a phone status of the user (e.g., did user tap link to share location, is the user's mobile browser open, etc.), and an estimated location of the user device 110.

[00070] The rescue system 130 may transmit location coordinates from the user device 110 as they are received to the responder device 120 to allow real-time update of the location of the user device 110 on its user interface. The rescue system 130 may enable the responder device 120 to display multiple previously transmitted location coordinates from the user device 110 (e.g., collected location data), along with an estimated current location of the user device 110. EXAMPLE ASSIGNMENT OF RESPONDER UNIT TO USER

[00071] FIG. 9 depicts an assignment of a responder unit to a user on a water vessel, in accordance with an embodiment. A boat 910 has a passenger that is a user with a user device 110. A user device 110 transmits its location coordinates to a rescue system 130. The rescue system 130 determines that the location of the user device 110 is closer to an address of a responder unit 920 than the responder unit 922. The rescue system 130 assigns the user to the responder unit 920. The responder unit 920 has a corresponding phone number, and the rescue system 130 may connect the user directly with a dispatcher of the responder unit 920. In another example, responder devices 120 (e.g., mobile phones) are associated respectively with responder units 920 and 922. The responder devices 120 may transmit location coordinates that are received by the rescue system 130 which are used to assign the user in the boat 910 to a responder unit based on the received location coordinates of the responder device 120 that is closest to the boat 910. EXAMPLE DRONE USE

[00072] The rescue system 130 may enable the responder 120 to launch a drone to a 2026253993   16 Oct 2026 location or estimated location of the user device. For example, the rescue system 130 may transmit information to a responder device 120 to enable a responder to launch a drone. The information may be instructions for a user interface of a responder unit 120 to display a selectable option to launch a drone. The drone may be launched from a water vessel (e.g., boat of responder, other water vessel, etc.) or from shore. A technical advantage of being launched from a water vessel is that the drone may have a limited fly time because of battery constraints, and the water vessel may be closer to a location or estimated location of the user device. Moreover, resources in powering the drone are conserved where the responder unit 120 does not need to launch the drone (e.g., where the estimated location of the user device is accurate, and where the responder 120 thus found the boat 910 and did not need to launch the drone).

[00073] FIG. 9 also depicts an example use of a drone. A user device 110 in the boat 910 (e.g., water vessel) is within a threshold distance of the cell tower 930 (e.g., within cell tower range 940). In this example, the user device 110 cannot determine its own location coordinates to transmit to the cell tower 930, but the rescue system 130 determines that the user device 110 is within the threshold distance of the cell tower 930. The rescue system 130 may generate drone instructions for a drone to scan a target area (e.g., cell tower range 940, or a radius from the location of the cell tower 930) to locate the user device 110. Since a portion of the cell tower range 940 is in a water region 950 and the boat is in the water region 950, the rescue system 130 may further limit the scan area to be an area of the cell tower range 940 that overlaps with a water region 950.

[00074] In another example, a user device 110 in the boat 910 may be able to determine its location coordinates and transmit its location coordinates to be received by the rescue system 130. However, the boat 910 may later drift out of range of the cell tower 930 (e.g., outside cell tower range 940) and the rescue system 130 may no longer receive location coordinates transmitted from the user device 110. If the boat 910 drifts within a range of a mobile cell tower (e.g., created cell tower of a responder water vessel), the rescue system 130 may receive additional data associated with a location of the user device 110. The rescue system 130 may determine whether the additional data indicates the location of the user device 110 2026253993   16 Oct 2026 is within a threshold distance of a mobile cell tower of a responder water vessel. Responsive to determining the additional location data is within the threshold distance to the mobile cell tower of the responder water vessel, the rescue system 130 may transmit to the responder device 120 updated location information. The updated location information may be based on the received additional data which may comprise transmitted location coordinates of the user device 110. The updated location information may be an estimated location based on the received location coordinates of the user device 110 and may be additionally based on environmental factors. ADDITIONAL CONFIGURATION CONSIDERATIONS

[00075] Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.

[00076] Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules. A hardware module is tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.

[00077] In various embodiments, a hardware module may be implemented mechanically 2026253993   16 Oct 2026 or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.

[00078] Accordingly, the term "hardware module" should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, "hardware-implemented module" refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules comprise a general-purpose processor configured using software, the generalpurpose processor may be configured as respective different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.

[00079] Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware 2026253993   16 Oct 2026 modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).

[00080] The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.

[00081] Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or processors or processor-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.

[00082] The one or more processors may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service" (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., application program interfaces (APis).)

[00083] The performance of certain of the operations may be distributed among the one or 2026253993   16 Oct 2026 more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.

[00084] Some portions of this specification are presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). These algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an "algorithm" is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as "data," "content," "bits," "values," "elements," "symbols," "characters," "terms," "numbers," "numerals," or the like. These words, however, are merely convenient labels and are to be associated with appropriate physical quantities.

[00085] Unless specifically stated otherwise, discussions herein using words such as "processing," "computing," "calculating," "determining," "presenting," "displaying," or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.

[00086] As used herein any reference to "one embodiment" or "an embodiment" means that a particular element, feature, structure, or characteristic described in connection with the 2026253993   16 Oct 2026 embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.

[00087] Some embodiments may be described using the expression "coupled" and "connected" along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term "connected" to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term "coupled" to indicate that two or more elements are in direct physical or electrical contact. The term "coupled," however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.

[00088] As used herein, the terms "comprises," "comprising," "includes," "including," "has," "having" or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, "or" refers to an inclusive or and not to an exclusive or. For example, a condition A or Bis satisfied by any one of the following: A is true (or present) and Bis false (or not present), A is false (or not present) and Bis true (or present), and both A and Bare true (or present).

[00089] In addition, use of the "a" or "an" are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the invention. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.

[00090] Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and a process for enabling accurate estimation of a location of a water vessel and / or enabling assignment of a 2026253993   16 Oct 2026 responder unit to a user through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope defined in the appended claims.

Claims

1. A method for enabling accurate estimation of a location of a vessel, the method comprising:receiving user input, by an application installed on a user device that is on board the vessel, of a request that a location of the user device be shared with a responder service; andbased on the request, transmitting a plurality of location indicators at a plurality of respective times, each respective location indicator describing a respective location of the user device at its respective time,wherein an estimated location of the vessel is transmitted to a responder device based on the plurality of location indicators.

2. The method of claim 1, wherein the estimated location of the vessel is computed based on an elapsed time between a current time and a time at which a last received location indicator was received.

3. The method of claim 2, wherein the estimated location of the vessel is further computed based on one or more environmental factors comprising at least one of a current speed and direction measurement or a wind speed and direction measurement.

4. The method of claim 3, wherein the plurality of location indicators comprise location coordinates, and wherein the estimated location of the vessel is further computed by:2026253993   16 Oct 2026inputting the plurality of location coordinates and the one or more environmental factors into a machine learning model, the machine learning model trained to output information corresponding to a projected location based on its inputs; andgenerating the estimated location based on the information output by the machine learning model.

5. The method of claim 1, wherein:a future projected location of the vessel is computed based on a travel time of a drone to the estimated location of the vessel; anddrone information is transmitted to the responder device comprising instructions for a drone to go to the future projected location of the vessel and to scan a radius from the future projected location of the vessel to locate the user device.

6. The method of claim 5, wherein:information is received indicating a drone has located the vessel, the information comprising one or more location coordinates of the drone at a corresponding time of locating the user device; andthe responder device receives an updated location coordinate of the user device based on the one or more location coordinates of the drone at the corresponding time of locating the user device.

7. The method of claim 1, wherein:additional data associated with a location of the user device is transmitted by the user device;2026253993   16 Oct 2026it is determined whether the additional data indicates the location of the user device is within a threshold distance of a mobile cell tower of a responder vessel; andresponsive to determining the additional location data is within the threshold distance to the mobile cell tower of the responder vessel, the responder device receives updated location information.

8. The method of claim 1, wherein the plurality of location indicators from the user device are based on the location indicators being transmitted by the user device responsive to detecting a movement of the vessel.

9. The method of claim 1, wherein the location indicators are transmitted by the user device regardless of whether an acknowledgement message is received by the user device.

10. The method of claim 1, wherein the vessel is a water vessel.

11. A non-transitory computer-readable medium comprising memory with instructions encoded thereon for enabling accurate estimation of a location of a vessel, the instructions, when executed, causing one or more processors to perform operations, the instructions comprising instructions to:receive user input, by an application installed on a user device that is on board the vessel, of a request that a location of the user device be shared with a responder service; andbased on the request, transmit a plurality of location indicators at a plurality of respective times, each respective location indicator describing a respective location of the user device at its respective time,2026253993   16 Oct 2026wherein an estimated location of the vessel is transmitted to a responder device based on the plurality of location indicators.

12. The non-transitory computer-readable medium of claim 11, wherein the estimated location of the vessel is computed based on an elapsed time between a current time and a time at which a last received location indicator was received.

13. The non-transitory computer-readable medium of claim 11, wherein the estimated location of the vessel is further computed based on one or more environmental factors comprising at least one of a current speed and direction measurement or a wind speed and direction measurement.

14. The non-transitory computer-readable medium of claim 13, wherein the plurality of location indicators comprise location coordinates, and wherein the estimated location of the vessel is further computed by:inputting the plurality of location coordinates and the one or more environmental factors into a machine learning model, the machine learning model trained to output information corresponding to a projected location based on its inputs; andgenerating the estimated location based on the information output by the machine learning model.

15. The non-transitory computer-readable medium of claim 11, wherein:a future projected location of the vessel is computed based on a travel time of a drone to the estimated location of the vessel; and2026253993   16 Oct 2026drone information is transmitted to the responder device comprising instructions for a drone to go to the future projected location of the vessel and to scan a radius from the future projected location of the vessel to locate the user device.

16. The non-transitory computer-readable medium of claim 15, wherein:information is received indicating a drone has located the vessel, the information comprising one or more location coordinates of the drone at a corresponding time of locating the user device; andthe responder device receives an updated location coordinate of the user device based on the one or more location coordinates of the drone at the corresponding time of locating the user device.

17. The non-transitory computer-readable medium of claim 11, wherein:additional data associated with a location of the user device is transmitted by the user device;it is determined whether the additional data indicates the location of the user device is within a threshold distance of a mobile cell tower of a responder vessel; andresponsive to determining the additional location data is within the threshold distance to the mobile cell tower of the responder vessel, the responder device receives updated location information.

18. The non-transitory computer-readable medium of claim 11, wherein the plurality of location indicators from the user device are based on the location indicators being transmitted by the user device responsive to detecting a movement of the vessel.2026253993   16 Oct 202619. The non-transitory computer-readable medium of claim 11, wherein the location indicators are transmitted by the user device regardless of whether an acknowledgement message is received by the user device.

20. The non-transitory computer-readable medium of claim 11, wherein the vessel is a water vessel.

21. A method for enabling accurate estimation of a location of a vessel, the method comprising:detecting that a user on board the vessel is has not returned to a registered location within a predetermined time;transmitting a message to a user device of the user requesting a location of the user device;receiving a plurality of location indicators at a plurality of respective times, each respective location indicator describing a respective location of the user device at its respective time; andtransmitting an estimated location of the vessel to a responder device, the estimated location based on the plurality of location indicators.