Systems and methods for real-time tracking

The tracking system uses an edge device with satellite connectivity and message-queuing protocol to ensure accurate and reliable tracking of objects, people, and animals over large distances with limited connectivity.

WO2025191320A1PCT designated stage Publication Date: 2025-09-18ZEAL IND LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2024/059378
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-11
Filing Date
2024-09-26
Publication Date
2025-09-18

AI Technical Summary

Technical Problem

Existing tracking systems suffer from low data resolution and reduced functionality when objects, people, or animals move far from reliable data connections, such as radio towers or base stations, leading to inaccurate or lost tracking.

Method used

A tracking system comprising an edge device with sensors and a wireless transceiver that uses a wireless network, including satellite coverage, to transmit sensor data reliably even with intermittent disruptions, and a computing device to determine near-real-time location and communicate alerts via a message-queuing protocol.

Benefits of technology

Maintains high data accuracy and reliability for tracking objects, people, and animals over large distances with limited connectivity, ensuring timely alerts and location updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2024059378_18092025_PF_FP_ABST
    Figure IB2024059378_18092025_PF_FP_ABST
Patent Text Reader

Abstract

A tracking system for tracking and / or monitoring objects, people and / or animals, the system comprising: an edge device and / or a hub device comprising at least one sensor for collecting sensor data, and a wireless transceiver for communicating the sensor data via a wireless network, wherein the edge device or the hub device is configured to reliably transmit the sensor data in sensor messages when the wireless network is subject to intermittent disruptions or constrained bandwidth; and a computing device and / or a server device in at least intermittent communication with the edge device and / or the hub device via the wireless network and configured to: receive the sensor messages from the edge device and / or the hub device; determine and track a near-real-time location of the edge device and / or the hub device, based on the received sensor messages; determine that a trigger event has occurred; and responsive to determining that a trigger event has occurred, communicate the near-real-time location data to one or more user devices, so that the edge device and / or the hub device can be located or retrieved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001]

[0002] SYSTEMS AND METHODS FOR REAL-TIME TRACKING

[0003] Technical field

[0004] The present disclosure is directed to systems and methods for tracking objects, people and / or animals. In particular, the present disclosure is directed to systems and methods for tracking objects, people and / or animals, in near-real-time, on a global scale.

[0005] Background

[0006] Tracking systems, such as those for the tracking of objects, people, and animals in near- real-time over large distances, in remote locations or in locations with limited connectivity of communication channels, such as radio or internet, are important for the safety of users such as sailors, pilots, long haul truckers; and other types of users such as recreational users, and in maintaining complex, sprawling or diverse supply chains; and reducing the environmental impact of harmful artefacts generated from human activity, such as lost or discarded fishing equipment.

[0007] Known tracking systems may suffer from low data resolution or may be limited by proximity to other tracking systems or devices, such as base stations located on vessels, or other corresponding devices of the same tracking system. Accordingly, the accuracy or even functionality of tracking systems may be reduced or lost once the tracked object, or person or animal is far enough away from a reliable data connection, such as a radio tower, base station, or other corresponding devices.

[0008] Accordingly, there is a need for providing a system for tracking or monitoring objects, people and animals that maintains high data accuracy, high data resolution, and / or high reliability, in a ruggedized and small form factor.

[0009] It is desired to address or alleviate one or more disadvantages or limitations of the prior art, or to at least provide a useful alternative.

[0010] Summary

[0011] Disclosed herein is a tracking system for tracking and monitoring objects, people and / or animals, the system comprising: an edge device and / or a hub device comprising at least one sensor for collecting sensor data, and a wireless transceiver for communicating the sensor data via a wireless network, wherein the edge device or the hub device is configured to reliably transmit the sensor data in sensor messages when the wireless network is subject to intermittent disruptions or constrained bandwidth; and a computing device and / or a server device in at least intermittent communication with the edge device and / or the hub device via the wireless network and configured to: receive the sensor messages from the edge device and / or the hub device; determine and track a near-real-time location of the edge device and / or the hub device, based on the received sensor messages; determine that a trigger event has occurred; and responsive to determining that a trigger event has occurred, communicate the near-real-time location data to one or more user devices, so that the edge device and / or the hub device can be located or retrieved.

[0012] Disclosed herein is the system, wherein communicating the sensor data to the computing device and / or the server device includes transmitting, via a wireless connection, the sensor data to the wireless network.

[0013] Disclosed herein is the system, wherein the wireless connection includes an internet protocol.

[0014] Disclosed herein is the system, wherein the wireless network comprises a network of satellites providing global coverage for the location of the edge device and / or the hub device.

[0015] Disclosed herein is the system, wherein the sensor data is time-series data.

[0016] Disclosed herein is the system, wherein the computing device and / or the server device is further configured to: determine environmental data based on the sensor messages; communicate a graphical user interface to the one or more user devices to display the near-real-time location of the edge device overlaid with the environmental data.

[0017] Disclosed herein is the system, wherein the computing device and / or the server device is configured to receive, from the one or more user devices, user-device data that is indicative of at least a near-real-time location of the one or more user devices.

[0018] Disclosed herein is the system, wherein the computing device and / or the server device is configured to communicate at least a portion of the user-device data to the edge device; and wherein the edge device is configured to communicate the user-device data to a person associated with the edge device.

[0019] Disclosed herein is the system, wherein determining that a trigger event has occurred comprises receiving an alert message from the edge device.

[0020] Disclosed herein is the system, wherein the trigger event includes one or more of: a man overboard event; a health alert; an "operational parameters exceeded" alert; a confirmation that a crew member's wearable edge device is not properly functional; a navigation alert; and a relay of the man overboard alert.

[0021] Disclosed herein is the system, wherein communication between the edge device and the computing device and / or the server device is performed using a message-queuing protocol, e.g., the Message Queuing Telemetry Transport (MQTT) protocol.

[0022] Disclosed herein is the system, wherein the edge device further comprises a local data- store; and wherein the edge device is further configured to store at least some of the sensor data in the local data-store; and responsive to establishing connection with the computing device and / or the server device after having a period of no connection, the computing device and / or the server device is further configured to receive at least some of the sensor data that was not communicated during the period of no connection.

[0023] Disclosed herein is the system comprising a plurality of edge devices each associated with a respective vehicle.

[0024] Disclosed herein is the system, wherein the edge device is further configured to record status information of the person or animal associated with the edge device, and communicate the status information to the computing device and / or the server device.

[0025] Disclosed herein is the system, wherein the computing device and / or the server device, responsive to determining that a trigger event has occurred, is further configured to communicate the status information to the one or more user devices.

[0026] Disclosed herein is the system, wherein the status information is indicative of one or more life signs of the person or animal.

[0027] Disclosed herein is the system, wherein the edge device includes a single-board computer.

[0028] Disclosed herein is the system, wherein the edge device is portable and / or wearable, e.g., retained within a garment or a flotation device.

[0029] Disclosed herein is the system, wherein the edge device includes an on-board power source and a waterproof housing.

[0030] Disclosed herein is the system, wherein the wireless network provides bi-directional connections (e.g., using the Transmission Control Protocol / Internet Protocol (TCP / IP)) such that the one or more user devices can communicate with the edge device and / or the hub device using the wireless network.

[0031] Disclosed herein is the system, wherein: an edge data-store forms part of the edge device and is configured to store the sensor data on the edge device to provide reliable persistence of the sensor data on the edge device; and / or a hub data-store forms part of the hub device and is configured to store the sensor data on the hub device to provide reliable persistence of the sensor data on the hub device.

[0032] Disclosed herein is a tracking system for tracking and / or monitoring objects, people and / or animals in or around a body of water, the system comprising: an edge device comprising at least one sensor for collecting sensor data, at least one edge wireless transceiver for sending the sensor data and / or wireless signal data using one or more wireless communication protocols, wherein the edge device is configured to transmit the sensor data and / or the wireless signal data using the one or more communications protocols; and a hub device associated with a vessel, the hub device comprising at least one hub wireless transceiver for receiving the sensor data and / or the signal data from the edge device for determining a status and / or a location of the edge device; wherein the hub device is configured to: receive the sensor data and / or the signal data from the edge device via a first broadcast regime; determine, based on at least the received sensor data and / or the signal data, a real-time location of the edge device; determine, based on at least the received sensor data and / or signal data, an edge device status change and subsequent to determining the edge device status change, broadcast an alert; and wherein the edge device is configured to: determine, based on collected sensor data, the edge device status change, and responsive to determining the edge device status change, begin communicating the sensor data via a second broadcast regime.

[0033] Disclosed herein, is a system wherein the edge device is further configured to: determine a third broadcast regime and begin broadcasting the sensor data via the third broadcast regime.

[0034] Disclosed herein, is a system wherein the third broadcast regime includes one or more of: a short-range radio protocol; a long-range radio protocol; a VHF protocol; a satellite communication protocol; and a cellular protocol.

[0035] Disclosed herein, is a system wherein by determining the third broadcast regime and broadcasting the sensor data via the third broadcast regime, the edge device takes advantage of available networks to account for intermittent connection conditions of one or more communications protocols.

[0036] Disclosed herein is a system, wherein determining the third broadcast regime is based at least partially on one or more of: wireless signal data; a battery status of the edge device; sensor data; data received by the edge device from the hub device.

[0037] Disclosed herein is a system, wherein the hub device determining the edge device status change further includes determining a signal strength of the edge device, based on the received signal data.

[0038] Disclosed herein is a system, wherein the hub device determining the edge device status change further includes, determining based on the signal strength being below a predetermined threshold, the edge device has gone overboard.

[0039] Disclosed herein is a method for tracking and / or monitoring objects, people and / or animals in or around a body of water, the method comprising: collecting, via one or more sensors of an edge device, sensor data; sending, by the edge device, sensor data and / or signal data to a hub device associated with a vessel, via a first broadcast regime; determining, by the edge device and based on at least the sensor data, an edge device status change indicative of the edge device going overboard; and sending, by the edge device, the sensor data and / or signal data to the hub device and / or one or more additional computing device(s) via a second broadcast regime.

[0040] Disclosed herein is a method, wherein the first broadcast regime includes a short-range radio protocol, and the second broadcasting regime includes a long-range radio protocol.

[0041] Brief Description of the Drawings

[0042] Preferred embodiments of the present invention are hereafter described, by way of nonlimiting example only, with reference to the accompanying drawing in which:

[0043] Figure 1A is a sketch of a system for near-real-time global tracking, according to some embodiments;

[0044] Figure IB is a sketch of another configuration of the system of Figure 1A;

[0045] Figure 1C is a sketch of another configuration of the system of Figure 1A;

[0046] Figure ID is a sketch of another configuration of the system of Figure 1A;

[0047] Figure 2A is a block diagram of the edge device as shown in Figures 1A, IB and

[0048] 1C;

[0049] Figure 2B is a block diagram of the computing device as shown in Figure 1A;

[0050] Figure 2C is a block diagram of the hub device as shown in Figures IB and ID;

[0051] Figure 2D is a block diagram of the server device as shown in Figures IB, 1C and

[0052] ID;

[0053] Figure 3 is a process flow diagram of a method for near-real-time tracking;

[0054] Figure 4A is a circuit diagram of a single board computer for use in real-time tracking;

[0055] Figure 4B is an image of the single board computer of Figure 4A, in a disassembled state;

[0056] Figure 4C is an image of the single board computer of Figure 4A in an assembled state;

[0057] Figure 5 is a sketch of a graphical user interface for use in near-real-time global tracking;

[0058] Figure 6 is a sketch of a system for near-real-time dynamic tracking using two or more communication protocols, according to some embodiments; and

[0059] Figure 7A is a block diagram of the subject as shown in Figure 6;

[0060] Figure 7B is a block diagram of the vessel as shown in Figure 6;

[0061] Figure 8 is a process flow diagram of a dynamic method for near-real-time tracking using two or more communication protocols; and

[0062] Figures 9A and 9B are sketches of a life vest that can be tracked in near-real time by the system of Figure 6.

[0063] Detailed Description

[0064] Overview

[0065] The present disclosure is directed to a system 100, as depicted in Figures 1A, IB, 1C and ID for near-real-time tracking, on a global scale, of objects, humans and other animals. According to the embodiment of Figure 1A, the system 100 includes an edge device 110, a satellite network 120, a computing device 130, a network 160, an authoritative database 170, third-party systems 180 and user device(s) 190. The system 100, according to the embodiment of Figure IB, includes the edge device 110, the satellite network 120, a server device 140, a hub device 150, the network 160, the authoritative database 170, the third-party systems 180 and the user device(s) 190. According to Figure 1C, the system 100 includes the edge device 110, the satellite network 120, the server device 140, the network 160, the authoritative database 170, the third-party systems 180 and the user device(s) 190. According to Figure ID, the system 100 includes the satellite network 120, the server device 140, the hub device 150, the network 160, the authoritative database 170, the third-party edge device HOsystems 180 and the user device(s) 190. In some embodiments, the system 100 may comprise a plurality of edge devices 110, a plurality of computing devices 130, a plurality of server devices 140, and / or a plurality of hub devices 150.

[0066] According to some embodiments, the edge device 110 may be considered a node of the system 100. The edge device 110 may include a specific type of node with local processing capabilities, responsible for handling data at the edge of the system 100. In some embodiments the computing device 130 may be considered a node of the system 100. In some embodiments the user device(s) 190 may be considered a node of the system 100. In some embodiments the server device 140 may be considered a node of the system 100. In some embodiments the third party systems 180 may be considered node(s) of the system 100. In some embodiments the satellite network 120 may include one or more nodes of the system 100. In some embodiments the authoritative database 170 may be considered a node of the system 100.

[0067] Nodes of the system 100 may be configured to record sensor data, communicate sensor data, receive sensor data, process sensor data, relay sensor data, store sensor data, present sensor data or any other suitable function described herein.

[0068] In some embodiments, the system 100 is configured to track vehicles, such as aeroplanes, ships, trucks, and cars for example. In some embodiments, the system 100 is configured to track objects, such as cargo, fishing equipment, and portable structures for example. In some embodiments, the system 100 is configured to track commercial users, such as operators or passengers of commercial vessels, including fishing ships, cargo ships, cargo planes, passenger airlines, trains, trucks and cars. In some embodiments, the system 100 is configured to track recreational users, such as swimmers, hikers, sailors, riders, for example.

[0069] In some embodiments, the computing device 130 includes the server device 140 or at least some of the functionalities of the server device 140. In some embodiments, the computing device 130 includes the hub device 150 or at least some of the functionalities of the hub device 150. In some embodiments, the computing device 130 includes both the server device 140 and the hub device 150 or at least some of the functionalities of both the server device 140 and the hub device 150.

[0070] The edge device 110 includes a mobile computing device configured to continuously or substantially continuously record sensor data, via one or more sensors 220. The edge device 110 is also configured to communicate the sensor data via messages encapsulating sensor data (referred to herein as "sensor messages") to one or more other components of the system 100. The edge device 110 may be configured to communicate, or make available for request or otherwise receiving, the sensor messages, regardless of an active connection to another component of the system 100.

[0071] The edge device 100 may include a small single-board computer, such as a Raspberry Pi (or variants thereof), a Banana Pi, an ODROID (or variants thereof), an Orange Pi (or variants thereof), ASUS Tinker Board, ROCKPro64, NanoPi or an Arduino (or variants thereof) for example.

[0072] According to some embodiments, the edge device 110 may be installed on a vessel, an aircraft, or other vehicle. In some embodiments, a garment, such as a flotation device, may include the edge device 110. For example, a life jacket may have the edge device 110 affixed, or attached to it, such as having it sewn within a waterproof lining of the jacket. The edge device 110 can include an on-board power source (e.g., a battery) and a waterproof housing (or "case") that hermetically seals the electronic components of the edge device 110 (including the processor 205, the memory 110, the data-store 215, the transceiver 225 and the edge device I / O 227, any on-board power source, typically the whole printed-circuit-board assembly).

[0073] The satellite network 120 may include a plurality of networked satellites in orbit around the Earth. The plurality of satellites may be in geostationary orbit also known as geosynchronous equatorial orbit (GEO). Or in other words, wherein the orbit of each of the plurality of satellites has an orbit period equal to Earth's rotational speed, such that each of the plurality of satellites occupies a relative fixed position in the sky. In this way, the network of satellites can occupy fixed positions over the surface of the Earth to provide widespread and constant network coverage over the surface of the Earth. In some embodiments, the satellite network may be in a low earth orbit (LEO). LEO is an orbit around Earth with a period of 128 minutes or less (making at least 11.25 orbits per day) and an eccentricity less than 0.25. The satellite network 120 may further include one or more additional collections of satellites, such as a network of satellites configured to establish and maintain an internet network.

[0074] The computing device 130 may include one or more desktop computers, laptop computers, tablet computers, smartphones, servers or other suitable computing hardware or devices for performing the disclosed processes. In some embodiments, the computing device 130 includes a cloud-based computing device. In some embodiments, the computing device 130 may include a server farm. In some embodiments, the computing device 130 includes computing hardware installed on a ship or other type of vessel or vehicle. In some embodiments, the computing device 130 includes both a cloud-based computing device and computing hardware installed on a ship or other type of vehicle. The computing device 130 may include the server device 140, as described below. The computing device 130 may include the hub device 150 as described below. According to some embodiments, the computing device 130 may include both the server device 140 and the hub device 150.

[0075] The server device 140 may, of Figure IB, include one or more computing systems, e.g., commercially available blade / rack servers with microprocessors and machine-readable memory, configured to provide processing functionalities, code execution functionalities, digital resources, data processing and storage functionalities, digital services, and / or programs to other computing devices, such as the edge device 110 and / or the hub device 140. In some embodiments, the server device 140 may include a server. In some embodiments, the server device 140 may include a plurality of servers. In some embodiments, the server device 140 may be referred to as a "cloud device" provided by one or more cloud computing platforms such as Microsoft Azure, Google Cloud Platform, Amazon Web Services (AWS), Oracle Cloud, or any other suitable cloud computing platform. According to some embodiments, the cloud device 130 may include one or more personal computing devices such as a desktop computer, laptop computer, tablet computer and / or smartphone.

[0076] The hub device 150, of Figure IB, may include a computing device, such as a desktop computer, a laptop computer, a tablet computer or a smartphone. The hub device 150 is configured to communicate with the edge device 110, the satellite network 120 and the server device 140. The hub device 150 may include at least some of the functionalities of the server device 140. In instances where the hub device 150 includes at least some of the functionalities of the server device 140 the system 100 may not include the separate server device 130. In some embodiments, the system 100 may not include the hub device 150.

[0077] The network 160 may include, for example, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, some combination thereof, or so forth. The network 160 may include, for example, one or more of: a wireless network, a wired network, an internet, an intranet, a public network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a public-switched telephone network (PSTN), a cable network, a cellular network, a satellite network, a fibre-optic network, some combination thereof, or so forth. In some embodiments, the satellite network 120 includes or at least part of the network 160. In some embodiments the network 160 includes at least part of the satellite network 120.

[0078] The authoritative database 170, which may form part of or be local to the system 100, or may be remote from and accessible to the system 100, for example, via the communications network 160. In some embodiments, the computing device 130 includes the authoritative database 170. The authoritative database 170 may be configured to store data associated with the system 100. The authoritative database 170 may be a centralised database. The authoritative database 170 may be a mutable data structure. The authoritative database 170 may be a shared data structure. The authoritative database 170 may be a data structure supported by database systems such as one or more of PostgreSQL, MongoDB, and / or ElasticSearch. The authoritative database 170 may be configured to store a current state of information or current values associated with various attributes (e.g., "current knowledge"). For example, sensor data, metadata and / or any other relevant data, include data generated by the processing module(s) 237 and / or data received from the third-party systems 180. In some embodiments, the authoritative database 170 may be a database comprising tables containing entries for each set of sensor data and / or metadata received from the edge device.

[0079] According to some embodiments, the system 100 may additionally include a management system (not shown). The management system may be configured to authorize, manage, control, and / or validate all incoming and outgoing data, manage security requirements, and maintain the integrity of the data of the system 100. The management system may additionally or alternatively manage the requirements (visual, non-visual, and validation) of all functions concerning the data, and the security requirements of the data of the system 100. In some embodiments, the management system may control at least some of the data and information integration requirements or processes of the system 100, with nodes and gateways having some privileges for integration.

[0080] The third-party systems 180 include third-party data provision services, such as weather information provision services, ocean current information provision services, terrain information provision services, or map data provision services. The third-party systems 180 may additionally or alternatively include data processing services, such as machine learning (ML) services, for example. The third-party systems 180 may include, but may not be limited to forecast meteorological conditions (e.g. windy.com), or geospatial information (e.g. satellite imagery). In some embodiments, data retrieved from the third-party systems 180 may be utilised to track the edge device 110 when the edge device 110 cannot communicate with the rest of system 100. For example, using a last known location of the edge device, based on received sensor data, and ocean current and wind information, a determination of the direction of travel and / or the location of the edge device can be inferred, estimated, determined and / or calculated. In some embodiments, the processing module(s) 237 is(are) configured to perform these functions. In some embodiments, third-party systems 180 may additionally or alternatively include GPS services, and / or VHF protocol services.

[0081] The user device(s) 190 may include a mobile or handheld computing device such as a smartphone or tablet, a laptop, or a PC, and may, in some embodiments, comprise multiple computing devices. The user device(s) 190 may be installed or carried upon a vehicle, such as a ship, boat, aeroplane, truck or other suitable vessel. In some embodiments, the user device(s) 190 may be carried on a person, such as a swimmer, hiker, or sailor, for example. The user device(s) 190 may be configured to display a graphical user interface for displaying at least some of the sensor data, metadata and / or environmental data. The user device(s) 190 may be referred to as a vessel device or vessel devices. In some embodiments, the user device(s) 190 may be configured to record and send data to the computing device 130, server device 140 and / or hub device 150, such as location data. According to some embodiments, the hub device 150 may be considered a user device 190, or vice versa. In some embodiments, the user device(s) 190 may interact with the other components of the system 100 via an application programming interface (API). In some embodiments, the user device(s) 190 may interact with the other components of the system 100 via a purpose-built system, such as a bespoke application installed on the user device(s) 190.

[0082] Figure 2A is a block diagram of the edge device 110 of figures 1A, IB and 1C. The edge device 110, as shown in Figure 2A may include: the processor(s) 205; the memory 210; an edge data-store 215; the sensor(s) 220, the transceiver 225 and the I / O 227.

[0083] The processor(s) 205 execute instructions (e.g. embodied in machine-readable program code) stored in the memory 210, which when executed causes the system 100 to perform one or more of the methods / processes of the present disclosure. The processor(s) 205 may include one or more microprocessors, central processing units (CPUs), application specific instruction set processors (ASIPs), application specific integrated circuits (ASICs) or other processors capable of reading and executing instruction code.

[0084] The memory 210 may comprise one or more volatile or non-volatile memory types. For example, memory 210 may comprise one or more of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. Memory 210 is configured to store program code accessible by the processor(s) 205. The program code comprises executable program code modules. In other words, memory 210 is configured to store executable code modules configured to be executable by the processor(s) 205. The executable code modules, when executed by the processor(s) 205 cause the system 100 to perform certain functionality, as described in more detail below. For example, memory 210 may include the data-handling module 212 and an edge message-queuing (MQ) broker 214 configured to: (i) receive the sensor data (e.g., as a file, e.g., a JSON file) from the sensors 220; (ii) package the sensor data (e.g., from the file) into a message as a payload; and (iii) store and queue the message, ready for sending, according to a message-queuing protocol, e.g., the Message Queuing Telemetry Transport (MQTT) protocol. Use of the message queuing allows for improved reliability of message transmission to the message recipient, even if the timing is not predictable.

[0085] The data-handling module 212 is configured to receive, manage and / or process information received by the edge device 110. For example, the sensors 220 collect sensor data and the data-handling module 212 is configured to receive the sensor data and perform one or more actions. The one or more actions may include routing the sensor data to the edge message-queuing broker 214 for communicating with, or making available for retrieval by other components of the system 100. Accordingly the data-handling module 212 may be referred to as a "publisher" of the messages for the message-queuing broker 214. In some embodiments, the one or more actions may include routing the sensor data to the edge data-store 215. In some embodiments, the data-handling module 212 is configured to receive and process data received by the edge transceiver 225. The data received by the edge transceiver 225 may include instructions for lights, sounds, images, or haptic feedback to be produced or displayed by the edge device I / O 227. The data-handling module 212 may route the light, sound, image, or haptic data to the edge device I / O 227. In some embodiments, the edge device 110 may receive instructions to transfer one or more data entries of the edge data-store 215, and the data-handling module 212 may facilitate the communication of the requested data entries.

[0086] The edge message-queuing broker 214 is configured to generate, receive, and make available messages via the transceiver 225. The message-queuing protocol, e.g., the MQTT protocol, is a lightweight, publish-subscribe, machine-to-machine network protocol for message queue and message-queuing services. It is particularly advantageous for connections with remote locations that have devices with resource constraints, or are subject to intermittent interruptions, or limited network bandwidth, such as in the Internet of Things (loT). The message-queuing protocol is configured to run over a transport protocol that provides ordered, lossless, bi-directional connections, such as Transmission Control Protocol / Internet Protocol (TCP / IP) or Quick User Datagram Protocol (UDP) Internet Connections (QUIC). It is an open OASIS standard and an ISO recommendation (ISO / IEC 20922).

[0087] The message-queuing protocol defines two types of network entities: a message broker (e.g., the message-queuing broker) and one or more clients, including publisher clients and subscriber clients. The edge message-queuing broker 214 includes executable program code, that when executed by the processor(s) 205, manages the sending and receiving of the messages. The message-queuing broker receives all messages from the publisher clients and then routes the messages to the appropriate subscriber clients. A message-queuing client is a software module / process that connects to a messagequeuing broker over a network. When a message-queuing publisher has a new item of data to distribute, it sends a control message with the data to the message-queuing broker. The message-queuing broker then distributes the information to any relevant subscriber clients. The publisher does not need to have any knowledge about the number or locations of subscribers, nor even their existence; and subscribers, in turn, do not have to be configured with any data about the publishers.

[0088] The message-queuing protocol organises information by topics. A client of a message- queuing broker may subscribe to a particular topic of the message-queuing broker, and when the client connects to the broker, the client will be served the information that is associated with the topic they are subscribed to. When a publisher (e.g. the edge device 110) has a new item of data to distribute, it sends a control message with the data to the connected broker (e.g. the edge message-queuing broker 214). The broker then distributes the information to any clients that have subscribed to that topic. In some embodiments, where the broker 214 is configured with a bridge 216 in the memory 210, it will also relay designated messages to the destination broker, i.e., only messages from designated topics are transferred by the bridge 216. The bridge 216 includes a bridge subscriber client and a bridge publisher client. The bridge subscriber client receives designated queued messages from the broker 214, and the bridge publisher client publishes all of those messages to the rest of the subscribed system 100 components when they are connected / in communication. The bridge 216 is continuously ready to publish to the other system components (specifically the other message-queuing brokers 239, 269, 289) when the intermittent communications connections allow, e.g., via the satellite network 120: in operation, the bridge 216 is always in a state of readiness to relay messages should any be published by associated clients; however, if there are no messages being published by the associated clients, the bridge 216 by itself does not have any messages ready to be published. The system 100 thus distributes the sensor data across the system 100 in a series of steps, each being a communication from a publisher client (e.g., in the bridge 216) and one of the other message-queuing brokers 239, 269, 289. The edge broker 214 only needs to communicate with the bridge 216, not with the other brokers 239, 269, 289.

[0089] According to some embodiments, the edge message-queuing broker 214 may generate a message including sensor data, and assign it a particular topic, for example "topic = 'sensor_data'". When the computing device 130 establishes a connection with the edge device 110, for example after a digital handshake or certification verification has occurred, the computing device 130, having subscribed to the 'sensor_data' topic, receives or otherwise retrieves the sensor data. The sensor data are encapsulated in the messages that are published by the bridge 216 of the edge device 110 (on which the sensors are located). The computing device 130 can then consume those sensor data by subscribing to the relevant topic(s) of the same message-queuing broker 214, but the messages can travel to the processing modules 237 of the computing device 130 via the computing device broker 239, optionally via the other brokers 269, 289, therefore the computing device 130 need not always establish a direct connection with the edge device 110 because the message-queuing architecture decouples the subscribers (e.g., in the computing device 130) from the publisher (in the edge device 110). In some embodiments, and due to the intermittent nature of the connection between the edge device 110 and the computing device 130, the computing device 130 need not be connected to the edge device 110 at the time a new set of sensor data is included into a message and made available. To address the potential for sensor data to be missed by the computing device 130, the edge device 110 may store the message in the edge data-store 215, along with the 'sensor_data' topic. When the connection between the edge device 110 and the computing device 130 is re-established, the computing device 130 may request all messages with the 'sensor_data' topic, and accordingly receive any sensor data that was not received during the period of no connection. The edge data-store 215 or the data-handling module 212 has a subscriber client to the edge broker 214 for storing the messages from the edge broker 214 for storing a backlog of messages. In some embodiments, when internet connectivity is re-established with the edge device 110, the backlog of messages, such as stored on the edge data-store 215, can sent across the bridge 216 to the computing device message-queuing broker 239, and the authoritative database 170 may subsequently, or simultaneously consume those same messages. According to some embodiments, the invention may use any other type of satellite communications protocol that provides the same or similar functionality as described herein.

[0090] According to some embodiments, the edge device 110 may communicate the sensor data, in the form of a message, to a remote MQ broker (e.g., computing device broker 239, or hub MQ broker 269), and the remote MQ broker may store the messages for retrieval by other components of the system 100. In other words, the edge device 110 may communicate the sensor data, in a structured data package, to a remote gateway / edge gateway, broker, or any other form of message relay hub such that the sensor data may be communicated throughout the system 100 to any components that require said sensor data.

[0091] According to some embodiments of the invention, one or more communication protocols and middleware solutions, including but not limited to message-queuing brokers, can be employed to facilitate efficient data relay between components of the system 100. This includes protocols such as MQTT, Advanced Message Queuing Protocol (AMQP), Constrained Application Protocol (CoAP), and Hypertext Transfer Protocol (HTTP), among others, which all play critical roles in enabling reliable and scalable communication within loT networks.

[0092] According to some embodiments, the communications protocol is a wireless communications protocol. The wireless communications protocol may include but is not limited to a short-range radio protocol; a long-range radio protocol; a VHF protocol; a satellite communication protocol; and a cellular protocol.

[0093] The edge data-store 215 forms part of the edge device 110. The edge data-store 215 may be configured to store data collected and / or received by the edge device 110. The edge data-store 215 may be a mutable data structure. The edge data-store 215 may be a shared data structure. The edge data-store 215 may be a data structure supported by database systems such as one or more of PostgreSQL, MongoDB, and / or ElasticSearch. The edge data-store 215 may be configured to store a current state of information or current values associated with various attributes (e.g., "current knowledge"), for example, sensor data as recorded by the sensor(s) 220.

[0094] The sensor(s) 220 may include one or more of a gyroscope, an accelerometer, a magnetometer, a barometer, a GPS receiver, an inertial measurement unit (IMU), a thermometer, a hygrometer and a photoplethysmography (PPG) sensor.

[0095] The transceiver 225 may be configured to facilitate communication between the edge device 110 and other components of the system 100. For example, the transceiver 225 may be configured to handle the outgoing flow of messages to and the incoming flow of messages from the satellite network 120, or the computing device 130, the server device 140 and / or the hub device 150.

[0096] The edge I / O 227 may include one or more indicators, such as light emitting diodes (LEDs), speakers, display screens, vibration motors and / or the like. The edge I / O 227 is configured to display information received by the edge device 110. For example, the edge I / O 227 may be configured to display or otherwise communicate information indicative of search status, including the progress of a search, the proximity of a vessel to the edge device or any other search status information.

[0097] Figure 2B is a block diagram of the computing device 130 as shown in Figure 1A. The computing device 130 may include the processor(s) 230, the memory 235, and the communications interface 240.

[0098] The processor(s) 230 execute instructions (e.g. embodied in machine-readable program code) stored in the memory 235, which when executed causes the system 100 to perform one or more of the methods / processes of the present disclosure. The processor(s) 230 may include one or more microprocessors, central processing units (CPUs), application specific instruction set processors (ASIPs), application specific integrated circuits (ASICs) or other processors capable of reading and executing instruction code.

[0099] The memory 235 may comprise one or more volatile or non-volatile memory types. For example, memory 235 may comprise one or more of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. Memory 235 is configured to store program code accessible by the processor(s) 230. The program code comprises executable program code modules. In other words, memory 235 is configured to store executable code modules configured to be executable by the processor(s) 230. The executable code modules, when executed by the processor(s) 230 cause the system 100 to perform certain functionality, as described in more detail below. For example, memory 235 may include the processing modules 237, and computing device message-queuing broker 239.

[0100] The processing module(s) 237 are configured to, among other things, receive, and process the information contained within the messages and communicate the retrieved message information to the authoritative database 170 for storage. The processing module(s) 237 may also be configured to retrieve data from the authoritative database 170 as and when required. The processing module(s) 237 may further be configured to process the sensor data, received from the edge device 110 to make determinations about the sensor data. For example, the processing module(s) 237 may process the sensor data to determine a location of the edge device 110, the status of a wearer of the edge device 110, the status of a vessel associated with the edge device 110, a path taken by the edge device 110, or any other suitable determination based on the received sensor data and / or meta data. The processing module(s) 237 may further be configured to request or retrieve additional data, or communicate data for processing and / or instructions to the third-party systems 180. In other words, the processing module(s) 237 are configured to perform data analysis on the sensor data and / or metadata to aid in the tracking of the edge device 110 and / or the status of the wearer of the edge device 110.

[0101] The computing device message-queuing broker 239 is configured to generate and make available for communication or retrieval, messages via the communications interface 240. The computing device 130 includes a message-queuing bridge 217 in the memory 235 that operates as a message-queuing subscriber for the computing device message- queuing broker 239, and message-queuing publisher for the other brokers (in particular the server message-queuing broker 289) with the same structure and functionality as the bridge 216 in the edge device 110 described hereinbefore.

[0102] The communications interface 240 facilitates communications with other components of the system 100, for example using the satellite network 120 and / or the network 160. The communications interface 240 may comprise a combination of network interface hardware and network interface software suitable for establishing, maintaining and facilitating communication over a relevant communication channel.

[0103] The system 100 as shown in Figure IB may include: the edge device 110, the satellite network 120, the authoritative database 170, the network 160, the third-party services 255 and the user device(s) 190 as shown in Figure 1A and as described above. The system as shown in Figure IB may further include the hub device 150 and the server device 140.

[0104] Figure 2C is a block diagram of the hub device 150 as shown in Figures IB and ID. The hub device 150 may include at least one hub sensor 221, the processor(s) 260, the memory 265, a hub data-store 270, the hub transceiver 275 and the hub device I / O 277. The at least one hub sensor 221 enables the system 100 to detect if a vessel / vehicle associated with the hub device 150 has exceeded its operational parameters. The processor(s) 260 execute instructions (e.g. embodied in machine- readable program code) stored in the memory 265, which when executed causes the system 100 to perform one or more of the methods / processes of the present disclosure. The processor(s) 260 may include one or more microprocessors, central processing units (CPUs), application specific instruction set processors (ASIPs), application specific integrated circuits (ASICs) or other processors capable of reading and executing instruction code. According to some embodiments, the hub device 150 may include or be equivalent to the edge device 110.

[0105] The memory 265 may comprise one or more volatile or non-volatile memory types. For example, memory 265 may comprise one or more of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. Memory 265 is configured to store program code accessible by the processor(s) 260. The program code comprises executable program code modules. In other words, memory 265 is configured to store executable code modules configured to be executable by the processor(s) 260. The executable code modules, when executed by the processor(s) 260 cause the system 100 to perform certain functionality, as described in more detail below. For example, memory 265 may include the hub processing modules 267, and the hub message-queuing broker 269.

[0106] The hub processing module(s) 267 are configured to process data received from other components of the system 100. In some embodiments, the hub processing module(s) 267 may comprise at least some of the functionalities of the processing modules 237. In some embodiments, the hub processing module(s) 267 may be configured to process the sensor data received from the edge device 110 to determine the location of the edge device 110. In some embodiments, the processing module(s) 267 are configured to determine, based on the sensor data, when the edge device is in a dangerous situation, such as if a vessel as about to tip or is going off course, if a wearer of the edge device 110 has fallen in the water, or any other type of trigger event, as discussed below. The hub processing module(s) 267 may further be configured to check the connection status, functional status or equipped status (e.g. whether a wearable edge device 110 is currently being worn) of one or more edge devices 110 that are associated with the hub device 150. The hub processing module(s) 267 may be configured to use data received from the edge device or other components of the system 100 and / or data received or retrieved from the third-party systems 180 to perform a calculation of the optimal route of the vehicle associated with the hub device 150 (e.g. in the case of sea rescue). The hub processing module(s) 267 may also be configured to relay one or more messages, alerts or trigger event notifications, such as those received from the edge device 110. According to some embodiments, the processing modules(s) 237 may include at least some of the functionalities of the hub processing module(s) 267, and in some embodiments, all of the functionalities.

[0107] The Hub message-queuing broker 269 is configured to generate and make available for communication or retrieval, messages via the hub transceiver 275. The hub device 150 includes a message-queuing bridge 218 in the memory 265 that operates as a messagequeuing subscriber for the hub device message-queuing broker 269, and messagequeuing publisher for the other brokers (in particular the server message-queuing broker 289) and for the hub data-store 270 with the same structure and functionality as the bridge 216 in the edge device 110 described hereinbefore.

[0108] The hub data-store 270 forms part of the hub device 150. The hub data-store 270 may be configured to store data collected and / or received by the hub device 150. The hub data-store 270 may be a mutable data structure. The edge data-store 215 may be a shared data structure. The hub data-store 270 may be a data structure supported by database systems such as one or more of PostgreSQL, MongoDB, and / or ElasticSearch. The hub data-store 270 may be configured to store a current state of information or current values associated with various attributes (e.g., "current knowledge"). For example, sensor data, metadata and / or any other relevant data, include data generated by the hub processing module(s) 270 and / or data received from one or more other components of the system 100. In some embodiments, the hub data-store 270 may be a database comprising tables containing entries for each set of sensor data and / or metadata received from the edge device.

[0109] The hub transceiver 275, may be configured to facilitate communication between the hub device 150 and other components of the system 100. For example, the hub transceiver 275 may be configured to handle the outgoing flow of messages to and the incoming flow of messages from the edge device 110, the satellite network 120, and / or the server device 140. In some embodiments, the hub transceiver 275 may include the hub message-queuing broker 269.

[0110] Figure 2D is a block diagram of the server device 140 as shown in Figure IB, 1C and ID. The server device 140 may include the processor(s) 280, the memory 285 and the communications interface 290. The processor(s) 280 execute instructions (e.g. embodied in machine-readable program code) stored in the memory 285, which when executed causes the system 100 to perform one or more of the methods / processes of the present disclosure. The processor(s) 280 may include one or more microprocessors, central processing units (CPUs), application specific instruction set processors (ASIPs), application specific integrated circuits (ASICs) or other processors capable of reading and executing instruction code.

[0111] The memory 285 may comprise one or more volatile or non-volatile memory types. For example, memory 285 may comprise one or more of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. Memory 285 is configured to store program code accessible by the processor(s) 280. The program code comprises executable program code modules. In other words, memory 285 is configured to store executable code modules configured to be executable by the processor(s) 280. The executable code modules, when executed by the processor(s) 280 cause the system 100 to perform certain functionality, as described in more detail below. For example, memory 285 may include the server processing modules 287, and the server message-queuing broker 289.

[0112] The server processing module(s) 287 may include at least some of the functionalities of the processing module(s) 237 and / or the hub processing modules 267. Additionally, or alternatively, in some embodiments, the server processing module(s) 287 are configured to perform processing tasks that require substantially large or at least comparatively large amounts of computational resources. For example, the server processing module(s) 287 may perform computational tasks that are outside of the processing capability of the edge device 110 and / or the hub device 150. The server processing module(s) 287 may further be configured, but not limited to, perform: one or more of exporting data, such as in XML, CSV, X-Plane formats, for example; providing of services, such as generating graphical user interfaces or processing data; performing encryption and certificate management; replication of databases (for operational and business-continuity purposes); fleet management; authorisation and authentication; and calculating proximity to dangerous areas, and issuing appropriate warnings. The server processing module(s) 287 may be configured to process models to render visualisations of the tracked objects (e.g. the edge device 110 and / or the hub device 150) in real (or close to real) time. According to some embodiments, the processing modules(s) 237 may include at least some of the functionalities of the server processing module(s) 287, and in some embodiments, all of the functionalities.

[0113] The server message-queuing broker 289 is configured to generate and make available for communication or retrieval, messages via communications interface 290.

[0114] The communications interface 290 facilitates communications with other components of the system 100, for example using the satellite network 120 and / or the network 160. The communications interface 290 may comprise a combination of network interface hardware and network interface software suitable for establishing, maintaining and facilitating communication over a relevant communication channel.

[0115] The method 300, as shown in Figure 3, is a method for tracking objects, people and animals, in near-real-time, on a global scale. The method 300 may be performed or otherwise enabled by the system 100.

[0116] At 305, the computing device 130 receives the sensor messages from the edge device 110. The edge device 110 records the sensor data produced by sensor(s) 220. The sensor data may include but is not limited to ground speed, altitude, position, attitude (pitch, roll, yaw), linear acceleration (x, y, z), angular acceleration (x, y, z), total acceleration (x, y, z), magnetic field (x, y, z), air pressure, temperature, humidity, vital signs (e.g. body temperature, pulse rate, respiration rate, SpO2), time, latitude, longitude, latitude indicator, longitude indicator, and course. The sensor data may be time-series data. The edge device 110 may additionally communicate metadata, such as edge device identification information, and / or user information, which may include user identification information. In other words, the metadata may be any data that is static, or substantially fixed in its value. The metadata may further include a vehicle name, a vehicle identification number, an organisation and fleet to which one or more vehicles belongs, a crew group a person associated with the edge device 110 belongs to, and / or the current software version.

[0117] According to some embodiments, and as shown in Appendix I, communicating the sensor data and / or metadata may include communicating the data in JSON format. The JSON file may have corresponding key-value pairs for the sensor data and metadata. The JSON key-value pairs may be communicated from the edge device 110 to the computing device 130 either directly, via a wireless communication protocol or alternatively or additionally via the satellite network 120, via a wireless communication protocol.

[0118] Some embodiments of the present invention are configured to be used in situations, locations or scenarios wherein strong, large bandwidth, reliable data connections are not available. Such locations or scenarios may include, but are not limited to, maritime settings, remote bushlands, mountainous regions, remote forest lands, remote islands, desert locations, or any other locations or scenarios wherein communication infrastructure / availability is low to non-existent. Accordingly, the system 100 is required to handle intermittent connectivity, and collect, store and forward data in such a way that is robust to unreliable connection status.

[0119] For example, in a maritime setting, the edge device 110 may not have a reliable communications connection due to cloud cover, waves / swell, storm conditions or any other reasonable factor.

[0120] The sensors 220 may continuously record sensor data at a particular sample frequency. In this way, the edge device 110 continuously collects "snap-shots", in the form of sensor data, of the current location, status, movements or other characteristics / attributes associated with the edge device 110 and stores this sensor data in the edge data-store 215. For example, each snap-shot in the edge data-store

[0121] 215 may include the same or similar sensor data as any other comparable snap-shot stored in the edge data-store 215.

[0122] The edge device 110 may be completely or at least substantially indifferent to a current or active connection status. The edge device 110 may not include a functionality to ascertain a current connection status or otherwise determine a connection status, whether that be a status of "no connection" or "active connection established". In this way, the edge device 110 may reduce battery draw by reducing the total number of active processes or computational resources being used at any one time.

[0123] In being indifferent to an active connection status, the edge device 110 may be configured to continuously, according to a broadcast schedule, broadcast the sensor data stored in the edge data-store 215. Due to the edge device 110 continuously broadcasting the sensor data when a connection status is achieved, the sensor data will be received by a centralised data routing store (e.g. the computing device 130).

[0124] Responsive to the centralised data routing store receiving the sensor data, the sensor data may be made available for download by one or more additional devices.

[0125] Alternatively or additionally, the centralised data routing store may actively push or communicate the sensor data to one or more computing devices that have provided an indication that they want to receive or have access to the snap-shots (e.g. subscribed to receive the sensor data).

[0126] In some embodiments, the edge device 110 may continuously broadcast a set of sensor data. The set of sensor data may include one or more snap-shots or sets of the sensor data. In some embodiments, the edge device 110 may broadcast a first set of sensor data for a predetermined period of time to potentially account for intermittent connection status, without tracking the connection status. In other words, as the connection status is assumed to be intermittent, by broadcasting the first set of sensor data over a period of time, this period of time may overlap with at least a period of active connection, thereby enabling the successful communication of the first set of sensor data. Once the predetermined amount of time has elapsed, the edge device 110 may begin broadcasting a second, potentially different, set of sensor data.

[0127] The first set of sensor data may include a single instance of collected sensor data (i.e. sensor data collected over a single collection period). The first set of sensor data may include two or more instances of collected sensor data (i.e. sensor data collected over two or more collection periods). The second set of sensor data may include a single instance of collected sensor data (i.e. sensor data collected over a single collection period). The second set of sensor data may include two or more instances of collected sensor data (i.e. sensor data collected over two or more collection periods). The number or amount of sensor data in the first or second set of sensor data may not be dependent on the number or amount of sensor data in the respective first or second set of sensor data. In some embodiments, the number or amount of sensor data in the first or second set of sensor data may be at least partially dependent on the number or amount of sensor data in the respective first or second set of sensor data.

[0128] Alternatively, the edge device 110 may broadcast a first set of sensor data once or for a comparatively limited time, and subsequently broadcast a second set of sensor data once or for a comparatively limited time.

[0129] In some embodiments, the edge device 110 may broadcast the sensor data using a sliding window to determine which sensor data should be included in the set of sensor data. In other words, the first set of sensor data may share or otherwise have in common a subset of sensor data with the second set of sensor data, defined by the sliding window.

[0130] In some embodiments, the edge device 110 may have a broadcast schedule that comprises broadcasting recently collected sensor data (e.g. the first and second sets of sensor data), in addition to intermittently broadcasting legacy sensor data (e.g. sensor data that was recorded before a predetermined period).

[0131] In this way, the system 100 may communicate both up to date sensor data and legacy sensor data regardless of the connection status.

[0132] The person skilled in the art will understand that the broadcasting schedule may be varied, and the sets of sensor data additionally or alternatively varied based on different environmental or situational factors without departing from the fundamental principles of the invention.

[0133] According to some embodiments, the computing device 130 receives the messages from the edge device 110, via the bridge 216, by subscribing to the server messagequeuing broker 289. Accordingly, the server message-queuing broker 289 may be regarded as an information-distribution "hub" and the remote message-queuing brokers regarded as "spokes" in a "hub and spoke" information-distribution architecture. In this way, individual components of the system 100 need not know anything about the whole system 100 save for their interlocutory devices. The result is a network infrastructure robust to disconnections or intermittent communication availability.

[0134] As mentioned hereinbefore, the edge data-store 215 may also be subscribed to the edge message-queuing broker 214 to store the backlog.

[0135] The sensors 220 may be configured to continuously or repeatedly or regularly communicate the sensor data, regardless of a connection status of the edge device 110, to the edge broker 214 to publish the messages via the bridge 216 so the edge device is always ready for a communications connection, e.g., via the hub device 150 or the satellite network 120, to become available. For example, the edge device 110 may be configured to communicate the sensor data repeatedly and / or according to a set communication schedule (e.g. every minute, every 30 seconds, every 10 seconds, or every second).

[0136] The process of persisting the sensor data to the edge data-store 215 can be transparent to the local publisher client in the data handling module 212. In other words, the local publisher client is concerned only with the transmission of its messages to the edge message-queuing broker 214, after which its responsibility ends. The bridge 216 then takes those published messages and relays them to the computing device message-queuing broker 239, and other brokers, when the connection is available. According to some embodiments, the local subscriber client in the data handling module 212 or in the data-store 215 consumes the messages from the broker 214 and persists them to the edge data-store 215. This arrangement coupling may mitigate the problems of unreliable network connections.

[0137] The sensor data and the metadata stored in the edge data-store 215 may be stored as an ordered list, based on a particular attribute, such as the time the sensor(s) 220 collected the sensor data, the time that the sensor data and metadata was communicated, an ordered primary key (e.g. an ascending or descending numerical value), or any other suitable attribute.

[0138] Although the message-queuing architecture of the system 100 is robust to intermittent disruptions to the network, e.g., when the edge device 110 is in remote locations, or its view to the sky and / or to the computing device 130 or hub device 150 is blocked, due to terrain or inclement weather conditions for example, there still may be errors in the messages and / or message handling steps of the message-queuing processes. To address this issue, and aiming to ensure that the edge data-store 215 and the authoritative database 170 include the same and correct data, the edge device 110 and the computing device 130 may perform a database synchronisation operation. The nature of the message-queuing protocol, e.g., MQTT, is that it can be relied upon to deliver messages that have been queued during network downtimes once the connection has been re-established. A problem addressed by the database synchronisation are failures in the message-queuing processes: in those instances, it is possible (albeit not very likely) that messages are sent by the publisher client (in the bridge 216) but do not arrive at the server message-queuing broker 289 (e.g., through an error in the edge message-queuing broker 214, the bridge 216, or the server message-queuing broker 289). Under such circumstances, correct sensor data might be stored in the edge data-store 215, but not in the authoritative database 170: hence the addition of the database synchronisation operation.

[0139] The database synchronisation operation may include the edge device 110 or the computing device 130 sending a synchronisation request. For example, it may be common that the edge data-store 215, due to the edge device's 110 low power and potentially inconsistent data connection, as well as the fact that it is generating the sensor data, may be ahead of the authoritative database 170.

[0140] The computing device 130 may send the sync request to the edge device 110. The synchronisation request may comprise an indication of the state of the authoritative database 170. Upon receiving the synchronisation request, the edge device 110 compares the indication of the state of the authoritative database 170 to the edge data-store 215. If it is determined that the authoritative database 170 is not in sync, or "up to date", with the edge data-store 215, then the edge device 110 may communicate the data entries missing from the authoritative database 170.

[0141] In some embodiments, the computing device 130 may be disposed on a vessel, such as a boat, truck, aeroplane or any other suitable vehicle. When the computing device 130 is installed on such a vehicle, the computing device 130 may be considered as the hub device 150. The edge device 110 may communicate the sensor data to the hub device 150 directly, via a wireless communication protocol or alternatively or additionally via the satellite network 120, via a wireless communication protocol.

[0142] In some embodiments, the computing device 130 includes or is hosted by a cloud computing environment, and / or a server or servers. When the computing device 130 includes or is hosted by a cloud computing environment, the computing device 130 may be considered as the server device 140. The edge device 110 may communicate the sensor data to the server device 140 via the satellite network 120, via a wireless communication protocol.

[0143] In some embodiments, the system 100 comprises both the hub device 150 and the server device 140. The edge device 110 may communicate the sensor data to the server device 140 via the satellite network 120, and additionally or alternatively communicates the sensor data to the hub device 150 either directly or via the satellite network 120, via wireless communication protocol. In some embodiments, when the edge device 110 does not, or is not configured to communicate the sensor data to the server device 140 via the satellite network 120, the edge device 110 may communicate the sensor data to the hub device 150, and the hub device 150 communicates the sensor data to the server device 140.

[0144] At 310, the computing device 130 stores data in the authoritative database 170. The data stored in the authoritative database 170 may include, but may not be limited to the sensor data and the metadata. In some embodiments, when the sensor data and / or meta data is received at the computing device 130 the data is substantially immediately stored in the authoritative database 170.

[0145] At 315, the computing device communicates a graphical user interface or instructions for generating a graphical user interface to one or more user devices 190. The graphical user interface 500, as shown in Figure 5, may include the status information 505 and the real-time location map 510.

[0146] The status information 505 may be information related to the status of the edge device 110 and / or the status of a person associated with the edge device 110, such as a wearer of a garment with the edge device 110 installed or embedded within or on it. The status information may include, a body temperature, an amount of time in the water, a current heading, a last check-in time (e.g. when the last set of sensor data was received), or any other suitable status information.

[0147] The real-time location map 510 may include edge device location marker 520, initial position indicator 530, path 540 and user device location marker 550. The edge device location marker 520 is indicative of the current near-real-time location of the edge device 110. The edge device location marker 520 may include a radius of probability, indicative of a region where the edge device 110 may be. The edge device location marker 520 may be determined using sensor data received from the edge device 110.

[0148] The initial position indicator 530 may be indicative of a position of the edge device 110 when a trigger event occurs or when an alert message was sent from the edge device 110 or received by the computing device 130. The path 540 may be indicative of a path the edge device 100 has taken between the position indicated by the initial position indicator 530 and the position indicative by edge device location marker 520. In some embodiments, the path 540 may be determined using received sensor data and additional data, such as environment data (e.g. weather data or ocean current data) sourced from the third-party systems 180. The user device location marker 550 may be a near-real-time indicator of the location of the user device 190, determined using data collected by the user device 190, such as GPS data. The real-time location map 510 may additionally display environmental conditions, such as weather, ocean currents, and / or terrain characteristics, determined using data retrieved from the third-party systems 180.

[0149] At 320, the computing device 130 receives or determines an alert message. The alert message may be triggered by a trigger event. The trigger event may be determined by the computing device 130 based on collected data, such as positional or spatial data of the computing device 130 or a vessel the computing device 130 is disposed upon. In some embodiments, the edge device 110 may determine the occurrence of a trigger event based on sensor data the sensor(s) 220 have collected. The edge device 110 may communicate the alert message responsive to determining that a trigger event has occurred.

[0150] The trigger event may be determined by the edge device 110 and may include one or more of:

[0151] • a man overboard event, wherein the sensor data indicates that the wearer of the edge device has fallen into the water; and

[0152] • a health alert: wherein readings of the wearer's vital signs are detected by the edge device 110, which cause the edge device 110 to send the alert message if the readings fall outside of an acceptable range.

[0153] The trigger event may be determined by the computing device 130 or hub device 150 and may include one or more of:

[0154] • an "operational parameters exceeded" alert, when the computing device 130 or hub device 150 determines that the vessel the computing device 130 or hub device 150 is disposed on is generating unusual readings, (e.g. excessive heel angle, high acceleration, proximity to ground); and

[0155] • a confirmation that crew members' wearable edge devices 110 are not properly functional, wherein the computing device 130 or hub device 150 determines that one or more edge devices 110 of a crew of the vessel are not functioning properly.

[0156] The trigger event may be determined by the computing device 130, the server device 140 and / or the hub device 150 may include one or more of:

[0157] • a navigation alert, wherein the computing device 130, the server device 140 and / or the hub device 150 may determine, or otherwise receive meteorological and other external data from the third-party systems 255 via one or more application programming interfaces (APIs). The information is combined with data determined or received by the computing device 130, the server device 140 and / or the hub device 150 to determine an optimal route, or generate warnings if the predicted path intersects with a hazard for example. The meteorological and other external data may be periodically synchronised to one or more data-stores, such as the hub data-store 270 and / or authoritative database 170, such that determinations can be made without having to make an API call for each determination;

[0158] • a relay of the MOB alert, wherein the edge device 110 communicates an MOB alert to the computing device 130, the server device 140 and / or the hub device 150, the receiving device may relay the MOB alert to one or more other devices.

[0159] At 325, the computing device 130, responsive to receiving the alert message or determining the trigger event, communicates at least a portion of the sensor data received from the edge device 110 and / or the hub device 150 to the one or more user device(s) 255. In some embodiments, wherein the system 100 comprises the server device 140 and the hub device 150, the server device 140, having received the alert message, may also communicate at least some of the location data to the hub device 150.

[0160] The system 100 may have a plurality of the hub devices 150, e.g., in respective vessels of a fleet, and each hub device 150 can have an on-board message subscriber client in the hub processing modules 267, and the on-board message subscriber client subscribes to the hub broker 269, and the server device broker 289, so each hub device 150 in the fleet receives any message relevant to that fleet, based on the selected subscriber settings (e.g., defining the selected fleet or set of vessels) such that, if a person goes overboard on one ship in the fleet, the other fleet members receive the MOB alert at their hubs 150 and can take action.

[0161] In some embodiments, communicating at least a portion of the sensor information may include sending a rescue alert message to the user device(s) 190, indicating that the edge device 110 and by association or inference a wearer of the edge device 110 or a vessel or object associated with the edge device 110 is in need of rescue, or other assistance. As shown in figure 3, 325 may additionally include 315.

[0162] At 330, the computing device 130 receives user device data from at least one of the user devices 190. The user device data may comprise a location of the user device(s), a distance of the user device(s) 190 from the edge device 110, a current speed and heading of the user device(s) 190, a vehicle type associated with the user device(s) 190 and / or metadata associated with the user device(s) 190. The user device data may be indicative of a rescue operation to locate and retrieve the edge device 110 and / or any person, vessel or object associated with the edge device 110.

[0163] At 335, the computing device 130 communicates at least a portion of the user device data to the edge device 110. The edge device 110 may, responsive to receiving the user device data, cause the edge I / O 227 to relay at least some of the user device data to a wearer of the edge device 110 or a person otherwise nearby the edge device 110. For example, the edge I / O 227 may cause an LED to flash at an increasingly rapid frequency to indicate that a user device 190 is approaching their location. According to some embodiments, the edge I / O 277 may cause an LED to change colour based on a progress of a search operation, for example yellow may indicate that the MOB event has been recorded and registered by the system 100, orange may indicate that a search party has been notified, and green may indicate that search- and-rescue are on their way. In some embodiments, the device may vibrate to indicate progress of the search operation. Accordingly, the edge device 110 may act as a two-way communication device between a person associated with the edge device 110 and the user device(s) 190 to facilitate the location and rescue of the person.

[0164] Example Implementations

[0165] Figure 4A is a circuit diagram of a single-board computer 400. According to some embodiments, the edge device 110 includes the single-board computer 400. The single-board computer 400 includes microcomputer 410, inertial motion unit 420, GPS module 430 and atmospheric sensor 440.

[0166] The microcomputer 410 may include a Raspberry Pi (or variants thereof), a Banana Pi, an ODROID (or variants thereof), an Orange Pi (or variants thereof), ASUS Tinker Board, ROCKPro64, NanoPi or an Arduino (or variants thereof), for example.

[0167] The inertial moment unit 420 may be configured to record and output data relating the orientation of the single-board computer 400. For example, the inertial motion unit 420 may be configured to record and output: absolute orientation (Euler Vector), three-axis orientation data based on a 360° sphere; absolute orientation (Quaterion) four-point quaternion output; angular velocity vector, three axes of 'rotation speed' in rad / s; acceleration vector, three axes of acceleration (gravity + linear motion) in m / s2; magnetic field strength vector, three axes of magnetic field sensing in micro Tesla (uT); linear acceleration vector, three axes of linear acceleration data (acceleration minus gravity) in m / s2; gravity vector, three axes of gravitational acceleration (minus any movement) in m / s2; and / or ambient temperature in degrees Celsius. The absolute orientation sensor 420 for example may include an adafruit BNO055.

[0168] The GPS module 430 is configured to interface with a global positioning system to determine a location of the single board computer 400. The GPS module for example may include the Duinotech Neo-7M. The atmospheric sensor 440 is configured to measure the temperature in °C, relative humidity as a percentage, and the pressure in hectoPascals. The atmospheric sensor 440 may include the PiicoDev BME280.

[0169] Figure 4B is an image of the single board computer 400 of Figure 4A, in a disassembled form.

[0170] Figure 4C is an image of the single board computer 400 of Figure 4B, in an assembled form. switchinq

[0171] The present system may be implemented in a maritime environment, such as system 600 as shown in Figure 6, or otherwise around bodies of water and / or while using water-faring vessels, such as vessel 615.

[0172] The vessel 615 may include an airboat, a bass boat, a bowrider, a cabin boat, a canoe, a catamaran, a container ship, a dingy boat, a fishing boat, a house boat, a jet boat, a kayak, a life boat, a personal water boat (jet-ski), a pontoon boat, a trawler boat, a windsurfing vessel or any other of water-faring vessel. The vessel 615 may be a commercial vessel. The vessel 615 may be a private or personal vessel. In some embodiments, the system 600 may include two or more vessels 615.

[0173] The system 600 may be configured to communicate or otherwise communicate data (such as sensor data) over or via two or more different communication protocols. The edge device 110 may determine a particular communications protocol to communicate via depending on a current status of the edge device 110, and / or a subject 620 that the edge device 110 may be attached to or otherwise associated with.

[0174] The system 600 may be configured to communicate via radio waves, such as long- range radio protocols (e.g. LoRa). In some embodiments, the system 600 includes radio broadcaster 635 for communicating via long-range radio protocol. The system 600 may be configured to communicate over short-range radio protocols (e.g. Bluetooth). The system 600 may be configured to communicate over cellular networks. In some embodiments, the system 600 includes cellular transceiver 630 for communicating via cellular communication protocol. The system 600 may be configured to communicate over satellite network 120 as previously described.

[0175] According to some embodiments, and as shown in Figure 6, the system 600 may include computing systems 640. The computing systems 640 may include computing device 130 or at least the functionality of computing device 130. The computing systems 640 may include third party systems 180 or at least the functionality of third party systems 180. The computing systems 640 may include authoritative database 170 or at least the functionality of authoritative database 170. The computing systems 640 may include server device 140 or at least the functionality of server device 140. The computing systems 640 may include or at least include the functionality of two or more of computing device 130, third party systems 180, authoritative database 170, and server device 140. The computing systems 640 may include or at least include the functionality of three or more of computing device 130, third party systems 180, authoritative database 170, and server device 140. The computing systems 640 may include or at least include the functionality of all of computing device 130, third party systems 180, authoritative database 170, and server device 140.

[0176] The radio transceiver 635 may be in communication with the computing systems 640. The cellular transceiver 630 may be in communication with computing systems 640. The satellite network 120 may be in communication with computing systems 640.

[0177] The system 600 is configured to track the location and status of subjects that may be associated with the vessel 615. The subject 610 may include a person, a lifeboat, a container, fishing equipment or any other object, human or animal that may be aboard a water-faring vessel.

[0178] In some embodiments, the subject 610 may be aboard the vessel 615, for example, the subject may be a sailor or fishing person on a boat. In some embodiments, the subject 610 may be equipment on a boat, such as fishing nets, fishing lines, buoys, and / or cargo / cargo containers.

[0179] While the subject 610 is aboard the vessel 615, the vessel 615 (or a computing device aboard the vessel 615, e.g. hub device 150) tracks the position, location, and / or presence of the subject 610.

[0180] In some embodiments, the subject 610 may be in the water and not on the vessel 615. In some embodiments, the subject 610 may have fallen overboard from the vessel 615. The subject 610 may be caused to fall overboard due to an emergency, an accident, or other event that may result in one or more objects or subjects 610 leaving the vessel 615 and landing in the water.

[0181] The system 600 may comprise some or all of the components and / or functionalities of the system 100 as previously described.

[0182] As shown in Figure 7A, the subject may include the edge device 110. The edge device 110 as depicted in Figure 7A may comprise the components, modules and / or functionalities of the edge device as depicted in Figure 2A and described above. The subject 610 may be wearing the edge device 110. Wearing the edge device 110 may include the edge device 110 being worn as a necklace, an armband, a belt, a bracelet, a helmet, a headband, or any other suitable way of wearing the edge device 110. In some embodiments, wearing the edge device 110 may include the edge device 110 being integrated into another wearable item, and then the subject 610 wearing that wearable item. For example, the edge device 110 may be integrated into a life vest, a jacket, a pair of pants, a t-shirt, a belt, shoes, a portable flotation device, a harness, or any other suitable wearable item.

[0183] The edge device 110, as shown in Figure 7A, may additionally include the edge short- range radio communication (ESRRC) module 705. The edge device of Figure 7A may additionally include the edge long-range radio communication (ELRRC) module 710. The edge device of Figure 7A may additionally include the edge satellite communication (ESC) module 715. The edge device of Figure 7A may additionally include the edge cellular communication (ECC) module 720.

[0184] Each of the ESRRC module 705, ELRRC module 710, ESC module 715 and ECC module 720 may be stand-alone modules that can be integrated into the edge device 110. For example, the edge device 110 may include a printed circuit board (PCB) or single board computer (SBC) that comprises a plurality of adaptors, each adaptor configured to receive a respective module to add that module's particular functionality to the edge device 110. The modules may be removably affixed to the edge device 110. By being removably attached to the PCB or SBC of the edge device 110, the modules and the edge device 110 may be contained in a single package of components. The edge device 110 may include a waterproof and / or shock proof case. As shown in Figure 9A, when the modules are removably affixed to the edge device 110, the edge device 110 may be attached or affixed to a life vest 900. As shown in Figure 9A, the edge device 110 may be affixed to a chest portion of the life vest 900.

[0185] In some embodiments, one or more of the ESRRC module 705, ELRRC module 710, ESC module 715 and ECC module 720 may not be affixed to the edge device 110. In some embodiments, one or more of the modules may be connected to the edge device 110, but may be affixed to other parts of a wearable item, or an object. For example, and as shown in Figure 9B, the edge device 110 may be affixed or otherwise positioned on a chest portion of the life vest 920, while one or more of the ESRRC module 705, ELRRC module 710, ESC module 715 and ECC module 720 may be affixed or otherwise positioned on a different part of the life vest, for example one or more of the shoulder portions 920 of the life vest 910, as shown in Figure 9B. When one or more of the ESRRC module 705, ELRRC module 710, ESC module 715 and ECC module 720 are affixed to one or more of the shoulder portions 920, the edge device

[0186] 110 may be in communication with the one or more modules via wiring that is sewn in or otherwise runs through the life vest 910.

[0187] It will be apparent to the person skilled in the art that the wearable item may take many other forms other than a life vest without departing from the scope of the present invention.

[0188] The edge short-range radio communication (ESRRC) module 705 may be in communication with the vessel 615, such as via hub device 150 and / or the vessel short-range radio communication (VSRRC) module 735. The ESRRC module 705 may communicate with the vessel 615 using the Bluetooth Low Energy (BLE) protocol. The ESRRC module 705 may determine the location of the edge device 110 while the edge device 110 is on / in the vessel 615.

[0189] BLE, also known as Bluetooth Smart, is a wireless communication technology designed for short-range communication with low power consumption. It is commonly used for connecting devices such as smartphones, wearables, sensors, and other Internet of Things (loT) devices.

[0190] The edge device 110, in combination with the vessel 615 may use BLE location services to accurately determine the position of the subject 610 on the vessel 615 in real-time. The location may be across both indoor locations, such as inside the vessel 615, and outdoor locations, such as on the deck of the vessel 615. When the location of the subject 610 is determined using BLE, their location may not be determined using GPS readings.

[0191] To determine the real-time location of the subject 610, the edge device 110 (e.g. ESRRC module 705) may communicate with one or more beacons 745 (e.g. BLE beacons) located on the vessel 615.

[0192] The real-time location of the subject 610 while they are aboard the vessel 615 may include the beacons 745 continuously broadcasting packets, including unique IDs. The edge device 110, when in range of a beacon 745, receives these packets and measure their Receive Signal Strength Indicator (RSSI). The RSSI provides an indication of the distance of the subject 610 / edge device 110 from the beacon. According to some embodiments, the proximity of the edge device 110 to the beacon 475 may be categorized into zones, such as: immediate (within a metre); near (1 to 3 metres); and far (beyond 3 metres). To provide improved or otherwise higher accuracy when determining the location of the edge device, the vessel 615 may include a plurality of beacons 745. The hub device 150 may use triangulation and / or trilateration to determine the position of the edge device 110.

[0193] In some embodiments, to determine the location of the edge device 110, the hub device 150 may use fingerprinting. Fingerprinting may include determining a map of RSSI values pre-recorded for different positions over the vessel 615. A current or latest RSSI reading may then be matched against the map to determine the edge device's 110 location.

[0194] The edge long-range radio communication (ELRRC) module 710 may be in communication with the vessel 615, such as via hub device 150 and / or the vessel long-range radio communication (VLRRC) module 740. The ELRRC module 710 may communicate with the vessel 615 using the Long Range (LoRa) protocol. The ELRRC module 710 may determine the location of the edge device 110 while the edge device 110 is not on / in the vessel 615, such as when the edge device 110 is in the water.

[0195] The LoRa protocol is specifically designed for long-range communication, often reaching several kilometres in range. This makes it ideal for applications where devices are spread over a wide area, such as in a maritime setting. LoRa has a low power consumption, making it suitable for battery-operated devices that need to operate for extended periods without frequent battery changes or recharging. LoRa signals can penetrate obstacles like walls and buildings making it more suitable for applications where line-of-sight communication may be limited. LoRa is well-suited for sending small packets of data over relatively long distances, making it efficient for transmitting telemetry values or sensor data at regular intervals.

[0196] When it is determined either by the edge device 110 and / or the hub device 150 that the edge device 110 has left the vessel 615 (e.g. fallen overboard), the edge device 110 may switch from broadcasting via BLE to broadcasting via LoRa.

[0197] In some embodiments, when the subject 610 / edge device 110 leaves the vessel 615, one or more LoRa relays may be deployed into the water where the subject 610 fell overboard. The LoRa relays may include a GPS module for location tracking and a LoRa transceiver for long-range communication. The LoRa relays communicate the GPS location data received from the edge device 110 using a low-power, long-range LoRaWAN network. The LoRa relays may cause the received data from the edge device 110 to be uploaded to a shared database, such as the computing systems 640, which is accessible by the vessel 615 or any other rescue resource.

[0198] Search and rescue teams equipped with LoRa receivers can pick up the location signals transmitted by the LoRa relays. By triangulating the signals from multiple receivers, rescue teams can pinpoint the location of the edge device 110 and initiate rescue operations. GPS co-ordinates will also be intermittently transmitted from the LoRa relay.

[0199] The LoRa relays may use relay techniques such as mesh networking or multi-hop transmission to provide robust and accurate determinations of the location of the edge device 110. The LoRa relays may use a LoRa WAN Structure. LoRaWAN is a protocol stack built on top of LoRa. It usually consists of end-nodes, gateways, and receiving devices. The end-nodes may include the edge device 100, or any other device capable of collecting and broadcasting data. The gateways may include the LoRa relays, or any other device capable of receiving and rebroadcasting data. The receiving devices may include the hub device 150, and / or the computing devices 640.

[0200] Additionally, or alternately, the LoRa relays may use Multi-Hop LoRa. Multi-Hop LoRa may include nodes (e.g. LoRa relays), acting as repeaters, receiving and forwarding data to other nodes until the data reaches a receiving device.

[0201] In some embodiments, the LoRa relays may use a hybrid approach, combining LoRaWAN with mesh networking protocols (like LoRa Mesh). With the hybrid approach, some nodes act as repeaters or routers to relay data from distant nodes to the gateway.

[0202] According to some embodiments, the nodes can coordinate in a store-and-forward manner, where data packets are temporarily stored at intermediary nodes and then forwarded to the next node towards the gateway. This can be useful in environments where connections are intermittent.

[0203] The edge satellite communication (ESC) module 715 is configured to communicate with the satellite network 120. In some embodiments, the ESC module 715 is configured to communicate sensor data to the satellite network 120 as previously described.

[0204] The ESC module 715 may communicate sensor data when the edge device 110 is too far away, or otherwise not in active communication with the hub device 150. For example, the edge device 110 may communicate via the ESC module 720 when the subject 610 or edge device 110 is not within a certain distance from land.

[0205] The edge cellular communication (ECC) module 720 is configured to communicate sensor data, collected by the sensors 220 to the hub device 150 and / or the computing systems 640. The ECC 720 may communicate the collected sensor data using a cellular communications protocol.

[0206] The ECC module 720 may communicate sensor data when the edge device 110 is too far away, or otherwise not in active communication with the hub device 150. In some embodiments, the ECC module 720 may communicate with one or more cellular transceivers 630. The one or more cellular transceivers 630 may be positioned on land, and the edge device 110 / subject 610 may be overboard in water that is proximal to the coast of a land mass, thereby putting the edge device 110 within range of the cellular transceivers 630.

[0207] The edge VHF communication (EVHFC) module 725 is configured to communicate the sensor data collected by the sensors 220 of the edge device 110 via VHF radio protocol. The EVHFC module 725 may communicate the sensor data to radio transceiver 635 and / or the vessel 615 (e.g. the vessel VHF communications module 750).

[0208] The EVHFC module 725 may communicate sensor data when the edge device 110 is too far away, or otherwise not in active communication with the hub device 150. In some embodiments, the EVHFC module 725 may communicate with one or more radio transceivers 635. The one or more radio transceivers 635 may be positioned on land, and the edge device 110 / subject 610 may be overboard in water that is proximal to the coast of a land mass, thereby putting the edge device 110 within range of the radio transceivers 635.

[0209] In some embodiments, the EVHCF module 725 may communicate the sensor data to the hub device 150 when the use of long-range radio protocols (e.g. LoRa) is not feasible or sensible.

[0210] As shown in Figure 7B, the vessel 615 may include the hub device 150. The hub device 150, as depicted in Figure 7B, may include the vessel short-range radio communication (VSRRC) module 735. The hub device 150 may include the vessel long-range radio communication (VLRRC) module 740. The vessel 615 may include the overboard detection module 730. The vessel 615 may include beacons 745. In some embodiments, or during certain times, the vessel 615 may include subject 610. In some instance, when the subject 610 has fallen overboard the vessel 615 may not include the subject 610.

[0211] The vessel short-range radio communication (VSRRC) module 735 is configured to communicate with the edge device 110 (e.g. the ESRRC module 705) via short-range radio protocols (e.g. BLE) as previously described. The VSRRC module 735 may receive sensor data from the edge device 110 to determine the edge device's 110 location. The VSRRC module 735 may use BLE connection status / strength data from the edge device 110 to determine the edge device's 110 location.

[0212] The vessel long-range radio communication (VLRRC) module 740 is configured to communicate with the edge device 110 (e.g. the ELRRC module 710) via long-range radio protocols (e.g. LoRa) as previously described. The VLRRC module 740 may receive sensor data from the edge device 110 to determine the edge device's 110 location. The VLRRC module 740 may use LoRa connection status / strength data from the edge device 110 to determine the edge device's 110 location.

[0213] The vessel VHF communication (VVHFC) module 750 is configured to communicate with the edge device 110 (e.g. the EVHFC module 725) via VHF protocols, as previously described. The VVHFC module 750 may receive sensor data from the edge device 110 to determine the edge device's 110 location. The VVHFC module 750 may further communicate the received sensor data to the computing systems 640 via VHF protocol.

[0214] The overboard detection module 730 is configured to determine if and / or when the subject 610 falls overboard from the vessel 615. The overboard detection module 730 may be configured to use one or more of gyroscopic data, accelerometer data, temperature data, humidity / fluid presence data, position data, BLE data, LoRa data and / or any other data that may be collected or collectable by the edge device 110 to determine an overboard status of the subject 610.

[0215] According to some embodiments, the hub device 150 continuously monitors the signal strength from the edge device 110 (e.g. the BLE signal strength or LoRa signal strength). When a subject 610 falls overboard, the edge device 10 associated with the subject 610 moves out of range of the hub device 150 and / or beacons 745 of the vessel 615. This sudden loss of signal or drastic change in signal strength can be detected by the hub device 150.

[0216] Upon detecting a potential MOB event, the hub device 150 (e.g. the overboard detection module 730) triggers an alert. This can sound alarms, notify the crew, and mark the last known location of the edge device 110, such as on a map viewable by one or more users of the system 600.

[0217] In some embodiments, the hub device can utilise GPS data collected by the hub device 150 indicative of the vessel's 615 location to aid in determining a location where the subject 610 fell overboard.

[0218] The hub device 150 may comprise one or more fail-safes or redundancies, such as confirming the absence of an edge device's 110 signal across multiple beacons 745.

[0219] In some embodiments, the hub device 150 (e.g. the overboard detection module 730) may use accelerometer data to determine an overboard event. A sudden change in acceleration, such as a rapid fall or impact, can indicate a potential MOB event. For instance, if an accelerometer of the edge device 110 detects a rapid downward motion followed by a sudden stop, it might suggest the subject 610 has fallen overboard.

[0220] In some embodiments, the hub device 150 (e.g. the overboard detection module 730) may use gyroscopic or magnetometer data to determine an overboard event. A gyroscope of the edge device 110 measures the orientation and rotational movements of the edge device 110, while the magnetometer provides the edge device's 110 heading. Together, they can help determine the orientation and position changes that occur during an overboard event.

[0221] In some embodiments, the hub device 150 (e.g. the overboard detection module 730) may use a combination of different types of data to determine an overboard event. In some embodiments the hub device 150 (e.g. the overboard detection module 730) may determine the overboard event using one type of data, and then confirm / check the occurrence of the event using one or more additional and / or different types of data.

[0222] The beacons 745 may be positioned on or in the vessel 615 to establish and / or extend the range of the hub device 150 for determining the location of edge devices 10 and / or subjects 610 in, on or around the vessel 615. The beacons may be BLE- enabled transceivers capable of sending and receiving data. The beacons may be LoRa-enabled transceivers capable of sending and receiving data.

[0223] Figure 8 is a process flow diagram of the method 800 for near-real-time tracking using two or more communication protocols. The method 800 may be performed by the system 600.

[0224] At 810, the system 600 performs on vessel tracking. On vessel tracking includes determining a real-time or near real-time location of the edge device 110 on, in or around the vessel 615. Determining the location of the edge device 110 may include using a short wave radio protocol (e.g. BLE) to receive connection status data and / or sensor data from the edge device 110 at the hub device 150 (on or integrated in the vessel 615). In some embodiments, determining the location of the edge device 110 may include using a long-range radio protocol (e.g. LoRa) to receive connection status data and / or sensor data from the edge device 110 at the hub device 150 (on or integrated in the vessel 615). In some embodiments, determining the location of the edge device 110 may include using two or more different protocols in combination. In some embodiments, the hub device 150 receives the signal data or sensor data from the edge device 110 via beacons 745.

[0225] The system 600 may iteratively perform the on-vessel tracking so as to maintain a real-time or near real-time determination of the location of the edge device 110 and by association the subject 610.

[0226] At 820, the system 600 determines the occurrence of an overboard event. An overboard event may include the subject 610 leaving the vessel 615 and entering the water. Determining an overboard event may include receiving signal-strength and / or sensor data from the edge device 110. In some embodiments, determining a MOB event may additionally or alternatively include determining a change in the nature, quality and / or availability of signal strength data and / or sensor data from the edge device 110.

[0227] Detecting a MOB event may include outputting an alert via the hub device 150 or the vessel 615 to indicate to those aboard that an overboard event has occurred.

[0228] The edge device 110 may additionally or alternatively determine the occurrence of a MOB event using sensor data collected by the sensors 220.

[0229] Upon the determination of a MOB event by the edge device 110, the edge device 110 may change from a first protocol, or first broadcasting regime to a second protocol or broadcasting regime.

[0230] A first protocol may be a short-ange protocol (e.g. BLE). The first protocol may include a long-range protocol (e.g. LoRa). In some embodiments, the first broadcasting regime may include two or more protocols. In some embodiments, the first broadcasting regime may include a short-range protocol and a long-range protocol (e.g. BLE and LoRa).

[0231] In some embodiments, a second protocol may include a long-range protocol (e.g. LoRa). In some embodiments, the second protocol may include a VHF protocol. In some embodiments, the second protocol may include a cellular protocol. In some embodiments the second protocol may include a satellite communication protocol. The satellite communication protocol may be a protocol configured or adapted to communicating with the satellite network 120.

[0232] In some embodiments, the second broadcasting regime may include two or more protocols. The second broadcasting regime may include a VHF protocol and a long- range protocol (e.g. LoRa). The second broadcasting regime may include a VHF protocol and a cellular protocol. The second broadcasting regime may include a VHF protocol and a satellite communication protocol. The second broadcasting regime may include a long-range protocol (e.g. LoRa) and a cellular protocol. The second broadcasting regime may include a long-range protocol (e.g. LoRa) and a satellite communication protocol. In some embodiments, the second broadcasting regime includes a cellular protocol and a satellite communication protocol.

[0233] In some embodiments, the second broadcasting protocol may include three protocols. The second broadcasting protocol may include a long-range protocol (e.g. LoRa), a VHF protocol, and a cellular protocol. The second broadcasting regime may include a long-range protocol (e.g. LoRa), a message-queueing protocol, and a cellular protocol. The second broadcasting regime may include a message-queueing protocol, a VHF protocol, and a cellular protocol. The second broadcasting regime may include a long- range protocol (e.g LoRa), a VHF protocol, and a message-queueing protocol.

[0234] In some embodiments, the second broadcasting protocol may include four or more protocols. In some embodiments, the second broadcasting protocol may include a long-range protocol (e.g. LoRa), a message-queueing protocol, a cellular protocol and a VHF protocol.

[0235] According to some embodiments, a third broadcast regime includes the first and / or second broadcast regimes. In some embodiments, a third protocol includes the first and second protocols.

[0236] In some embodiments, the edge device 110 is configured to, subsequent to determining the MOB event, broadcast over VHF. Reliably broadcasting over VHF may include at least intermittently broadcasting over the VHF protocol. In other words, in some embodiments, VHF may be included in all broadcast regimes of the edge device.

[0237] At 830, the edge device 110 begins or continues to collect sensor data via the sensors 220. The edge device 110 may collect sensor data in the same or similar way as previously described.

[0238] At 840, the edge device 110 stores the collected sensor data in the edge data-store 215, as previously described.

[0239] At 845, the edge device 110 repeats the collection and storage of sensor data iteratively or otherwise on a predetermined schedule. The edge device 110 may repeat the collection and storage of sensor data iteratively or otherwise on a predetermined schedule as previously described.

[0240] At 850, the edge device 110 determines a broadcast regime that it will (or at least attempt to) broadcast its collected sensor data over / via. The edge device 110 may determine the broadcast regime based on one or more determined properties or data. The determined properties / data may include a connection status. The determined properties / data may include signal strength of one or more protocols. The determined properties / data may include a location or relative location. The determined properties / data may include a time schedule (e.g. broadcast on a particular regime for a predetermined amount of time before automatically swapping to another regime). The determined properties / data may include a battery status (e.g. when the battery is above or below a certain level, the edge device 110 may stop or start broadcasting via a certain regime). The determined properties / data may include a rate of battery depletion (e.g. the edge device 110 may broadcast over a particular broadcast regime that is more battery intensive for a shorter period of time, regardless of the strength or availability of the particular regime, than a broadcast regime that is comparatively more battery efficient). The determined properties / data may include sensor data collected by the sensors 220. The determined properties / data may include data received by the edge device 110, for example from the hub device 150.

[0241] In some embodiments, the edge device 110 may be configured to determine a current connection status of one or more communications protocols. The edge device 110 may use the current connection status to determine whether it should change to a different broadcast regime. For example, if the edge device 110 has not detected a connection over the satellite communications protocol for a predetermined amount of time, this may cause the edge device 110 to determine a different broadcast regime that does not include the satellite communications regime.

[0242] The edge device 110 may continue to record sensor data and store this sensor data in the edge data-store 215, regardless of the connection status.

[0243] The edge device 110, based on any of the above mentioned predetermined properties / data may determine a broadcast regime that may be the most appropriate, or otherwise most likely to enable the successful receipt of sensor data that the edge device 110 is broadcasting.

[0244] At 860, the edge device 110 broadcasts the collected sensor data via the determined protocol or broadcasting regime as previously described.

[0245] At 865, the edge device 110, at some point subsequent to determining a broadcast protocol or broadcast regime, may make a further determination as to the best or most appropriate protocol or broadcast regime, and accordingly begin broadcasting on the newly determined protocol or regime.

[0246] Many modifications will be apparent to those skilled in the art without departing from the scope of the present invention.

[0247] The reference to any prior art in this specification is not, and should not be taken as, an acknowledgment or any form of suggestion that the prior art forms part of the common general knowledge in Australia

[0248] In this specification and the claims that follow, unless stated otherwise, the word "comprise" and its variations, such as "comprises" and "comprising", imply the inclusion of a stated integer, step, or group of integers or steps, but not the exclusion of any other integer or step or group of integers or steps.

[0249] References in this specification to any prior publication, information derived from any said prior publication, or any known matter are not and should not be taken as an acknowledgement, admission or suggestion that said prior publication, or any information derived from this prior publication or known matter forms part of the common general knowledge in the field of endeavour to which the specification relates.

[0250]

[0251] APPENDIX I

[0252] JSON key-value pairs

[0253] Table 1 Inertial measurement unit JSON key-value pairs

[0254] Table 2 Environmental sensor JSON key-value pairs

[0255] Table 3 Global navigation satellite system JSON key-value pairs

Claims

Claims Defining the Invention:

1. A tracking system for tracking and / or monitoring objects, people and / or animals, the system comprising: an edge device and / or a hub device comprising at least one sensor for collecting sensor data, and a wireless transceiver for communicating the sensor data via a wireless network, wherein the edge device or the hub device is configured to reliably transmit the sensor data in sensor messages when the wireless network is subject to intermittent disruptions or constrained bandwidth; and a computing device and / or a server device in at least intermittent communication with the edge device and / or the hub device via the wireless network and configured to: receive the sensor messages from the edge device and / or the hub device; determine and track a near-real-time location of the edge device and / or the hub device, based on the received sensor messages; determine that a trigger event has occurred; and responsive to determining that a trigger event has occurred, communicate the near-real-time location data to one or more user devices, so that the edge device and / or the hub device can be located or retrieved.

2. The system of claim 1, wherein communicating the sensor data to the computing device and / or the server device includes transmitting, via a wireless connection, the sensor data to the wireless network.

3. The system of claim 2, wherein the wireless connection includes an internet protocol.

4. The system of claim 1 or claim 2, wherein the wireless network comprises a network of satellites providing global coverage for the location of the edge device and / or the hub device.

5. The system of any one of the preceding claims, wherein the sensor data is timeseries data.

6. The system of any one of the preceding claims, wherein the computing deviceand / or the server device is further configured to: determine environmental data based on the sensor messages; communicate a graphical user interface to the one or more user devices to display the near-real-time location of the edge device overlaid with the environmental data.

7. The system of any one of the preceding claims, wherein the computing device and / or the server device is configured to receive, from the one or more user devices, user-device data that is indicative of at least a near-real-time location of the one or more user devices.

8. The system of claim 7, wherein the computing device and / or the server device is configured to communicate at least a portion of the user device data to the edge device; and wherein the edge device is configured to communicate the user-device data to a person associated with the edge device.

9. The system of any one of the preceding claims, wherein determining that a trigger event has occurred comprises receiving an alert message from the edge device.

10. The system of any one of the preceding claims, wherein the trigger event includes one or more of: a man overboard event; a health alert; an "operational parameters exceeded" alert; a confirmation that a crew member's wearable edge device is not properly functional; a navigation alert; and a relay of the man overboard alert.

11. The system of any one of the preceding claims, wherein communication between the edge device and the computing device and / or the server device is performed using a message-queuing protocol, e.g., the Message Queuing Telemetry Transport (MQTT)protocol.

12. The system of any one of the preceding claims, wherein the edge device further comprises a local data-store; and wherein the edge device is further configured to store at least some of the sensor data in the local data-store; and responsive to establishing connection with the computing device and / or the server device after having a period of no connection, the computing device and / or the server device is further configured to receive at least some of the sensor data that was not communicated during the period of no connection.

13. The system of any one of the preceding claims comprising a plurality of edge devices each associated with a respective vehicle.

14. The system of any one of the preceding claims, wherein the edge device is further configured to record status information of the person or animal associated with the edge device, and communicate the status information to the computing device and / or the server device.

15. The system of claim 14, wherein the computing device and / or the server device, responsive to determining that a trigger event has occurred, is further configured to communicate the status information to the one or more user devices.

16. The system of claim 14 or claim 15, wherein the status information is indicative of one or more life signs of the person or animal.

17. The system of any one of the preceding claims, wherein the edge device includes a single-board computer.

18. The system of any one of the preceding claims, wherein the edge device is portable and / or wearable, e.g., retained within a garment or a flotation device.

19. The system of any one of the preceding claims, wherein the edge device includes an on-board power source and a waterproof housing.

20. The system of any one of the preceding claims, wherein the wireless network provides bi-directional connections (e.g., using the Transmission Control Protocol / Internet Protocol (TCP / IP)) such that the one or more user devices cancommunicate with the edge device and / or the hub device using the wireless network.

21. The system of any one of the preceding claims, wherein: an edge data-store forms part of the edge device and is configured to store the sensor data on the edge device to provide reliable persistence of the sensor data on the edge device; and / or a hub data-store forms part of the hub device and is configured to store the sensor data on the hub device to provide reliable persistence of the sensor data on the hub device.

22. A tracking system for tracking and / or monitoring objects, people and / or animals in or around a body of water, the system comprising : an edge device comprising at least one sensor for collecting sensor data, at least one edge wireless transceiver for sending the sensor data and / or wireless signal data using one or more wireless communication protocols, wherein the edge device is configured to transmit the sensor data and / or the wireless signal data using the one or more communications protocols; and a hub device associated with a vessel, the hub device comprising at least one hub wireless transceiver for receiving the sensor data and / or the signal data from the edge device for determining a status and / or a location of the edge device; wherein the hub device is configured to: receive the sensor data and / or the signal data from the edge device via a first broadcast regime; determine, based on at least the received sensor data and / or the signal data, a real-time location of the edge device; determine, based on at least the received sensor data and / or signal data, an edge device status change and subsequent to determining the edge device status change, broadcast an alert; and wherein the edge device is configured to: determine, based on collected sensor data, the edge device status change, andresponsive to determining the edge device status change, begin communicating the sensor data via a second broadcast regime.

23. The system of claim 22, wherein the edge device is further configured to: determine a third broadcast regime and begin broadcasting the sensor data via the third broadcast regime.

24. The system of claim 23, wherein the third broadcast regime includes one or more of: a short-range radio protocol; a long-range radio protocol; a VHF protocol; a satellite communication protocol; and a cellular protocol.

25. The system of claim 23 or claim 24, wherein by determining the third broadcast regime and broadcasting the sensor data via the third broadcast regime, the edge device takes advantage of available networks to account for intermittent connection conditions of one or more communications protocols.

26. The system of any one of claims 23 to 25, wherein determining the third broadcast regime is based at least partially on one or more of: wireless signal data; a battery status of the edge device; sensor data; data received by the edge device from the hub device.

27. The system of claim 22 to 26, wherein the hub device determining the edge device status change further includes determining a signal strength of the edge device, based on the received signal data.

28. The system of claim 27 wherein, the hub device determining the edge device status change further includes, determining based on the signal strength being below a predetermined threshold, the edge device has gone overboard.

29. A method for tracking and / or monitoring objects, people and / or animals in or around a body of water, the method comprising: collecting, via one or more sensors of an edge device, sensor data; sending, by the edge device, sensor data and / or signal data to a hub device associated with a vessel, via a first broadcast regime; determining, by the edge device and based on at least the sensor data, an edge device status change indicative of the edge device going overboard; and sending, by the edge device, the sensor data and / or signal data to the hub device and / or one or more additional computing device(s) via a second broadcast regime.

30. The method of claim 29 wherein, the first broadcast regime includes a short- range radio protocol, and the second broadcasting regime includes a long-range radio protocol.

Citation Information

Patent Citations

  • Intelligent maritime patrol search and rescue system and method based on large unmanned helicopter platform

    CN115291620A

  • Accident fault detection based on multiple sensor devices

    US11162800B1

  • Systems and methods for operations and incident management

    US20210174952A1

  • Dynamic Discovery Window for Wireless Communication Between Devices

    US20240040348A1