Method and system for multi-interface transport gateway processing and linear sequence encoding
By establishing a multi-interface transmission gateway processing system between the UAS and management network equipment, and utilizing redundant intelligent merging of multiple wireless network service providers and linear sequence coding schemes, the communication security problem between the UAS and the airline was solved, achieving reliable and low-latency information transmission and reducing security risks.
Patent Information
- Application Number
- CN202111003499.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-08-20
- Filing Date
- 2021-08-30
- Publication Date
- 2026-03-17
- Estimated Expiration
- 2041-08-30
AI Technical Summary
There are potential safety issues with existing communication between unmanned aerial systems (UAS) and airline and aerospace industry vehicles, especially when autonomous drones accidentally enter the airspace around airports or approach manned aircraft, which could lead to safety hazards. A reliable and low-latency communication system is needed to manage and monitor UAS.
By establishing a multi-interface transmission gateway processing system between the UAS and the management network equipment, redundant intelligent merging of multiple wireless network service providers is utilized to maintain the coverage network. A linear sequence coding scheme is employed to transmit information on multiple wireless communication interfaces to ensure communication reliability and low latency.
It enables reliable and low-latency communication between the UAS and management network devices, reducing the possibility of accidents. It can effectively notify the UTM system of flight route planning, report routine flight status, and handle emergencies, thus improving the safety of UAS operations.
Smart Images

Figure CN114120711B_ABST
Abstract
Description
Technical Field
[0001] The subject matter disclosed herein generally relates to wireless network data communication. More specifically, the subject matter disclosed herein relates to wireless network data communication overlay networks. Background Technology
[0002] The use of unmanned aerial systems (UAS) (i.e., commercial, military, and personal drones or other unmanned aerial vehicles) is growing rapidly worldwide. As UAS become more popular, potential safety issues arise between UAS and the transportation vehicles used by airlines and the aerospace industry. Safety is paramount for airlines and the aerospace industry, and aircraft (i.e., especially commercial aircraft) are subject to stringent regulations. Figure 1A The diagram illustrates an exemplary environment where a UAS and a manned aircraft (such as a helicopter H and an aircraft A) coexist. This diagram illustrates potential safety issues, particularly if the UAS and the manned aircraft do not communicate with each other, or if the UAS accidentally interferes with the position of the manned aircraft. For example, a significant safety issue could arise in a scenario where an autonomous drone accidentally enters the airspace around an airport (i.e., an error in the autonomous flight software causes it to fly in the wrong direction). Figure 1B The diagram illustrates another potential safety issue where several UASs, some human-controlled and others remotely controlled, could potentially interfere with or collide with helicopter H, causing it to malfunction, be damaged, or even crash, resulting in serious or fatal injuries to its passengers and crew.
[0003] Recently, industry, NASA, and the Federal Aviation Administration (FAA) have begun researching and implementing Unmanned Aircraft Traffic Management (UTM) systems to help manage communication and flight of unmanned aerial vehicles (UAS) at altitudes below 400 feet above the ground, beyond visual line of sight. UTM is independent of, yet complementary to, the FAA's air traffic management system for manned aircraft. The goal of UTM is to make it a scalable, distributed system for large-scale, real-time UAS flight monitoring and control. For proper communication and to allow for continuous monitoring and control of UAS equipment, the communication system between UTM equipment (i.e., monitoring and control equipment) and the UAS requires a highly reliable and low-latency communication system. Summary of the Invention
[0004] According to this disclosure, systems and methods for multi-interface transport gateway processing are provided. In some embodiments, the systems and methods of this disclosure provide a reliable and low-latency communication path by intelligently incorporating redundancy into UTM network access. In some embodiments, the systems and methods of this disclosure utilize multiple independent wireless network service providers to cooperate and concurrently transmit UTM information.
[0005] In one aspect, a system for multi-interface transmission gateway processing is provided, the system comprising: one or more vehicles, each vehicle including: at least one vehicle gateway; and a plurality of wireless communication interfaces; and one or more management network devices communicating with at least one of the one or more vehicles via at least one of the plurality of wireless communication interfaces of the at least one vehicle; wherein the one or more management network devices are configured to monitor or manage the status of at least one of the one or more vehicles.
[0006] In some embodiments, each vehicle gateway is configured to maintain a first virtual network interface, and one or more management devices are configured to maintain a second virtual network interface. In some embodiments, the system is configured to maintain an overlay network between the first virtual network interface and the second virtual network interface of at least one of one or more vehicles.
[0007] In some embodiments, the system is configured to maintain an overlay network over at least one of a plurality of wireless communication interfaces of at least one vehicle, such that if any of the plurality of wireless communication interfaces fails on a given vehicle, the overlay network is maintained, and communication between the given vehicle and one or more management network devices is maintained. In some embodiments, a computer application is configured to communicate using network packets over an overlay network between a first virtual network interface of at least one vehicle and a second virtual network interface of one or more management network devices using network packets, the computer application communicating between at least one vehicle and one or more management network devices, including communications configured to monitor and manage the status of at least one vehicle.
[0008] In some embodiments, the one or more management network devices include at least one of one or more vehicles, a management server, or a management gateway. In some embodiments, each of the one or more vehicles is configured to encode an application network packet into an encoded network packet before sending an encoded network packet to the one or more management network devices, and to decode a received encoded network packet received from the one or more management network devices; and wherein each of the one or more management network devices is configured to encode an application network packet into an encoded network packet before sending the encoded network packet to the one or more vehicles, and to decode a received encoded network packet received from the one or more vehicles.
[0009] In some embodiments, one or more vehicles and one or more management network devices are respectively configured to encode application network packets by mapping each application network packet to one or more coded symbols; wherein the one or more vehicles and one or more management network devices are further configured to insert one or more coded symbols into one or more coded network packets; and wherein the one or more vehicles and one or more management network devices are further configured to transmit the coded network packets through one or more of a plurality of wireless communication interfaces. In some embodiments, one or more vehicles and one or more management network devices are respectively configured to decode received coded network packets by extracting a plurality of coded symbols from the received coded network packets to recover the application network packets that have been encoded into one or more coded symbols; and wherein the system is configured to use erasure decoding to recover the application network packets, and then forward the recovered application network packets to the corresponding receiving computer application.
[0010] In some embodiments, each of the one or more vehicles is a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that requires reliable communication with one or more remotely managed network devices. In some embodiments, the plurality of wireless communication interfaces includes one or more of the following: one or more cellular wireless network interfaces, one or more satellite network interfaces, one or more vehicle-to-vehicle network interfaces, one or more air-to-ground network interfaces, and one or more Wi-Fi network interfaces.
[0011] In another aspect, a method for processing a multi-interface transport gateway includes: providing one or more management network devices for communicating with at least one of a group of one or more vehicles, each vehicle including: at least one vehicle gateway; and a plurality of wireless communication interfaces; and using the management network devices to monitor or manage the status of each of the at least one vehicle. In some embodiments, the method further includes maintaining a first virtual network interface at each vehicle gateway; and maintaining a second virtual network interface at the one or more management network devices.
[0012] In some embodiments, the method further includes maintaining an overlay network between a first virtual network interface and a second virtual network interface for each of one or more vehicles. In some embodiments, the method further includes maintaining the overlay network over at least one of a plurality of wireless communication interfaces of at least one vehicle, such that if any of the plurality of wireless communication interfaces fails on a given vehicle, the overlay network is maintained, and communication between the given vehicle and one or more management network devices is maintained. In some embodiments, a computer application configured to monitor and manage the communication of at least one vehicle and to communicate between the at least one vehicle and one or more management network devices is configured to use network packets to communicate on the overlay network between the first virtual network interface of the respective vehicle and the second virtual network interface of the one or more management network devices.
[0013] In some embodiments, the one or more management network devices include at least one of one or more vehicles, a management server, or a management gateway. In some embodiments, the method further includes: encoding the application network packet into an encoded network packet at each of the one or more vehicles before sending the application network packet to the one or more management network devices, and decoding the received encoded network packet received from the one or more management network devices; and encoding the application network packet into an encoded network packet at the one or more management network devices before sending the encoded network packet to the one or more vehicles, and decoding the received encoded network packet received from the one or more vehicles.
[0014] In some embodiments, encoding includes mapping each application network packet to one or more coded symbols; inserting one or more coded symbols into one or more coded network packets at one or more vehicles and one or more management network devices; and transmitting the coded network packets from one or more vehicles or one or more management network devices via one or more of a plurality of wireless communication interfaces. In some embodiments, decoding includes extracting one or more coded symbols from the received coded network packets and recovering the encoded application network packets; using erasure decoding to recover the application network packets; and forwarding the recovered application network packets to the corresponding receiving computer application at one or more vehicles or one or more management network devices.
[0015] In some embodiments, a linear sequence coding scheme is used for encoding and decoding such that a plurality of received coded network packets comprising k coded symbols have a 100% probability of successfully decoding the application network packet, where k represents the number of coded symbols in the application network packet.
[0016] In some embodiments, before encoding the application network packets into coded network packets using a linear sequence coding scheme, a series of coded symbols and associated coded vectors, including linearly independent subsequences, are computed for use during the encoding of the application network packets into coded network packets.
[0017] In some embodiments, each of the one or more vehicles is a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that requires reliable communication with one or more remotely managed network devices. In some embodiments, the plurality of wireless communication interfaces includes one or more of the following: one or more cellular wireless network interfaces, one or more satellite network interfaces, one or more vehicle-to-vehicle network interfaces, one or more air-to-ground network interfaces, and one or more Wi-Fi network interfaces.
[0018] In some embodiments, a method utilizing a linear sequence coding scheme includes: at a first computing device: generating a plurality of coded network packets using the linear sequence coding scheme and a source message, wherein each coded network packet indicates a plurality of coded symbols, wherein each of the plurality of coded symbols is linearly independent; and transmitting the plurality of coded network packets via a lossy channel or a wireless channel.
[0019] In some embodiments, before generating multiple coding network groups using a linear sequence coding scheme, a series of coding symbols and associated coding vectors, including linearly independent subsequences, are calculated for the coding network groups.
[0020] In some embodiments, at the first computing device: receiving a second plurality of coded network packets from the second computing device, wherein the second plurality of coded network packets comprises k linearly independent coded symbols, wherein k is equal to the minimum number of source symbols used to represent the second source message; and decoding the second source message using the k coded symbols and one or more matrix operations.
[0021] In some embodiments, at least two of the second plurality of coded network groups are non-sequential.
[0022] In some embodiments, decoding the second source message includes using an encoding vector included in a second plurality of encoding network packets, wherein the encoding vector is computed by the second computing device before the second computing device generates the encoding network packets.
[0023] In some embodiments, the first computing device includes a multi-interface transmission gateway, a computer, a mobile phone, an Internet of Things (IoT) device, a network device, a gateway device, a vehicle, a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that needs to reliably communicate with one or more remotely managed network devices.
[0024] In some embodiments, the lossy channel or wireless channel includes a cellular wireless network interface, a satellite network interface, a vehicle-to-vehicle network interface, an air-to-ground network interface, or a Wi-Fi network interface.
[0025] In some embodiments, a system for utilizing a linear sequence coding scheme includes: at least one first processor; and a first computing device including at least one first processor, wherein the first computing device is configured to: generate a plurality of coded network packets using the linear sequence coding scheme and a source message, wherein each coded network packet indicates a plurality of coded symbols, wherein each of the plurality of coded symbols is linearly independent; and transmit the plurality of coded network packets via a lossy channel or a wireless channel.
[0026] In some embodiments, the first computing device is configured to compute a series of coded symbols and associated coded vectors, including linearly independent subsequences, for the coded network groups before generating multiple coded network groups using a linear sequence coding scheme.
[0027] In some embodiments, the first computing device is configured to receive a second plurality of coded network packets from a second computing device, wherein the second plurality of coded network packets comprises k linearly independent coded symbols, wherein k is equal to the minimum number of source symbols used to represent the second source message; and to decode the second source message using the k coded symbols and one or more matrix operations.
[0028] In some embodiments, at least two of the second plurality of coded network groups are non-sequential.
[0029] In some embodiments, decoding the second source message includes using an encoding vector included in a second plurality of encoding network packets, wherein the encoding vector is computed by the second computing device before the second computing device generates the encoding network packets.
[0030] In some embodiments, the first computing device includes a multi-interface transmission gateway, a computer, a mobile phone, an Internet of Things (IoT) device, a network device, a gateway device, a vehicle, a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that needs to reliably communicate with one or more remotely managed network devices.
[0031] In some embodiments, the lossy channel or wireless channel includes a cellular wireless network interface, a satellite network interface, a vehicle-to-vehicle network interface, an air-to-ground network interface, or a Wi-Fi network interface.
[0032] In some embodiments, a non-transitory computer-readable medium includes computer-executable instructions implemented thereon, which, when executed by a processor of a computer, perform the following steps: at a first computing device: generating a plurality of coded network packets using a linear sequence coding scheme and a source message, wherein each coded network packet indicates a plurality of coded symbols, wherein each of the plurality of coded symbols is linearly independent; and transmitting the plurality of coded network packets via a lossy channel or a wireless channel.
[0033] In some embodiments, the non-transitory computer-readable medium includes computer-executable instructions embodied therein for computing a series of coded symbols and associated coded vectors comprising linearly independent subsequences for a coded network group before generating a plurality of coded network groups using a linear sequence coding scheme.
[0034] In some embodiments, the non-transitory computer-readable medium includes computer-executable instructions embodied therein for: receiving, at a first computing device, a second plurality of coded network packets from a second computing device, wherein the second plurality of coded network packets comprises k linearly independent coded symbols, wherein k is equal to the minimum number of source symbols used to represent a second source message; and decoding the second source message using the k coded symbols and one or more matrix operations.
[0035] In some embodiments, at least two of the second plurality of coded network groups are non-sequential.
[0036] In some embodiments, decoding the second source message includes using an encoding vector included in a second plurality of encoding network packets, wherein the encoding vector is computed by the second computing device before the second computing device generates the encoding network packets.
[0037] In some embodiments, the first computing device includes a multi-interface transmission gateway, a computer, a mobile phone, an Internet of Things (IoT) device, a network device, a gateway device, a vehicle, a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that needs to reliably communicate with one or more remotely managed network devices.
[0038] In some embodiments, the lossy channel or wireless channel includes a cellular wireless network interface, a satellite network interface, a vehicle-to-vehicle network interface, an air-to-ground network interface, or a Wi-Fi network interface.
[0039] Although some aspects of the subject matter disclosed herein have been set forth above and are realized, in whole or in part, by the subject matter of this disclosure, other aspects will become apparent when described in conjunction with the accompanying drawings, which are best described below. Attached Figure Description
[0040] The features and advantages of this subject matter will be more readily understood from the following detailed description, which is given in conjunction with the accompanying drawings, which are provided only as illustrative and non-limiting examples, wherein:
[0041] Figure 1A and Figure 1B The illustration depicts exemplary environments, including various aircraft flying and otherwise interacting in typical patterns and positions commonly associated with airplanes and other flying vehicles.
[0042] Figure 2A , Figure 2B , Figure 2C and Figure 2D An exemplary network topology diagram according to an embodiment of the present disclosure is illustrated;
[0043] Figure 3 A block diagram of some of the main components of a system according to an embodiment of the present disclosure is shown;
[0044] Figure 4A , Figure 4B and Figure 4C The illustration shows exemplary block diagrams of some of the main components of a system according to embodiments of the present disclosure;
[0045] Figure 5A and Figure 5B A flowchart illustrating exemplary steps of a method according to an embodiment of the present disclosure is shown;
[0046] Figure 6 The diagram illustrates a block diagram representing fountain coding; and
[0047] Figure 7 A flowchart illustrating exemplary steps of a method for pre-compiling a linear sequence for linear sequence encoding according to an embodiment of the present disclosure is shown. Detailed Implementation
[0048] This subject provides systems and methods for multi-interface transport gateway processing, which can be used to mitigate some of the safety issues discussed above. A key objective of this type of processing is to facilitate reliable and low-latency communication between the UAS and UTM to reduce the likelihood of incidents by: 1) informing the UTM about flight route planning and rescheduling; 2) reporting, sharing, and monitoring routine flight status; and 3) remotely handling contingencies or emergencies. Therefore, the UTM-to-UAS communication system is a safety-critical system for UAS operators. Those skilled in the art will recognize that the systems and methods described herein can also be utilized by non-air transport vehicles, such as motor vehicles, trains, public transport vehicles, bicycles, boats, trams, and any other means of transport capable of hosting some of the systems described herein.
[0049] As described herein, continuous and reliable communication between the vehicle (i.e., aircraft) and one or more centralized or distributed management servers used to monitor the vehicle is essential for effectively monitoring flight route details, routine flight status, and remotely handling emergencies or urgent situations. In some embodiments, the servers may be centralized to maintain a single location from which data on the vehicle's status can be maintained. Alternatively, the servers may be distributed, meaning that several servers are located in different locations around an area, and each distributed server performs vehicle monitoring; then, preferably, the distributed servers share the data they collect with each other.
[0050] Figure 2A An exemplary network topology for a system 100 for multi-interface transport gateway processing is illustrated. In some embodiments, system 100 includes a first UAS vehicle 102A and a second UAS vehicle 102B connected to a management server 106 via the Internet and a management gateway 104, and via various wireless interfaces. Although Figure 2A The illustrations depict management server 106 and management gateway 104 as combined network devices. In some embodiments of this disclosure, management server 106 and management gateway 104 may be separate network devices with different virtual network interfaces 112, rather than having a shared virtual network interface 112, as described herein. Furthermore, in some embodiments, management server 106 may be located on a UAS vehicle 102. In such embodiments, management server 106 will be among other UAS vehicles 102 in a group. Additionally, as will be appreciated by those skilled in the art in the following description and accompanying drawings, management server 106 may be located in multiple locations, such as in a distributed server environment, where multiple physical servers are located in different physical locations but logically act as one server or multiple redundant servers. For example, but not limited to, management server 106 may be located on one or more UAS vehicles 102, it may be located on another vehicle or other flying or non-flying station, it may be located on the ground or in space, or any other suitable location. Furthermore, management gateway 104 may be positioned similarly to management server 106. The following description and accompanying drawings detail some possible implementations of the subject matter of this undisclosed disclosure. However, these embodiments should be considered descriptive and illustrative only, and not restrictive.
[0051] In some embodiments, system 100 includes one or more UAS vehicles similar to a first UAS vehicle 102A and a second UAS vehicle 102B, and having some of the same features as the first UAS vehicle 102A and the second UAS vehicle 102B. In some embodiments, each of the first UAS vehicle 102A and the second UAS vehicle 102B includes a first UAS gateway 110A and a second UAS gateway 110B, respectively. Each UAS gateway 110 may include one or more processors configured to manage not only the operation of UAS 102, but also communication between UAS 102 and management server 106, including any intermediate devices therebetween. In some embodiments, each UAS gateway 110 may be incorporated into a processor already present on UAS vehicle 102, a separate processor on UAS vehicle 102, or a combination of both. In some embodiments, each of the first UAS vehicle 102A and the second UAS vehicle 102B may have one or more wireless network interfaces. Each of these wireless network interfaces may be, for example, but not limited to, a satellite interface (i.e., low Earth orbit (LEO) or other suitable satellite communication interface), a cellular wireless network interface (i.e., LTE, 4G, 5G, 3G, 2G, etc.), a Wi-Fi interface, a Bluetooth interface, a vehicle-to-vehicle interface (i.e., may be Wi-Fi or any other type of wireless or wired interface described herein), an ISM A2G interface, an EAN network interface, etc.
[0052] For the purposes of this disclosure, an ISM A2G interface is an Industrial, Scientific, and Medical (ISM) air-to-ground (A2G) interface for communication and operation in a portion of radio spectrum reserved internationally for industrial, scientific, and medical purposes, rather than telecommunications. Furthermore, A2G is bidirectional communication between an aircraft (including UAS vehicles) and a base station at a location on the Earth's surface. The European Aviation Network (EAN) is a hybrid network used as a backhaul for in-flight WiFi on domestic European flights and includes a terrestrial network of LTE (or other wireless communications) supported by satellite connections. In some embodiments, such as, but not limited to, at least one of the network interface or network link can be a secure link. In some embodiments, a secure link can be one or more interfaces associated with an Air Mobility Route (R)* service or an Air Mobility Satellite Route (R)* service. Secure links are typically used for communications to ensure human safety. Some examples may be air traffic control communications and radio navigation. In some cases, these devices may be air mobility services reserved for communications related to flight safety and control, primarily along national or international civil routes. Furthermore, to ensure the provision of life safety services for aviation, aviation communication, navigation, and surveillance (CNS) systems operating in appropriately allocated frequency bands for aviation use aim to operate within the spectrum allocated for appropriate aviation safety services and to appropriately prevent harmful interference from other systems using the same or adjacent frequency bands. In some embodiments, the interface may be a wired interface rather than a wireless interface. In some embodiments, each interface includes a suitable antenna or other hardware device for facilitating communication via the interface.
[0053] For example, but not limited to, in some embodiments, the network interface may include a first UAS vehicle 102A having a satellite network interface 114A-1 configured to connect the first UAS vehicle 102A to a satellite communication gateway connected to the Internet. Furthermore, in some embodiments, the first UAS vehicle 102A may have one or more cellular network interfaces, such as a first cellular network interface 114A-2 and a second cellular network interface 114A-3. Each of these cellular network interfaces may be connected to the Internet using a mobile communication network (e.g., LTE, 3G, 2G, 5G, or any other type of mobile communication network known to those skilled in the art). In some embodiments, the first UAS vehicle 102A may also have a first vehicle-to-vehicle interface 114A-4, which may be a Wi-Fi or other wireless network interface, allowing the first UAS vehicle 102A to connect to a second vehicle-to-vehicle interface 114B-4. Those skilled in the art will recognize that each UAS vehicle in the systems of this disclosure may have one, some, or all of the interfaces described herein, including one or more interfaces of the same type.
[0054] In some embodiments, the satellite and cellular network interfaces can be connected to the Internet via cellular and SatCom gateways, respectively. Additionally, each of the first UAS vehicle 102A and the second UAS vehicle 102B maintains a first virtual network interface 112A and a second virtual network interface 112B, respectively. In some embodiments, each of the first virtual network interface 112A and the second virtual network interface 112B can be a virtual Ethernet interface. These virtual network interfaces are designed so that the UAS vehicle can use the virtual network interfaces as both a source and destination for traffic, and communicate with other devices. This feature will be described in more detail herein.
[0055] exist Figure 2A In the example shown, each of the cellular and SatCom gateways is connected to management gateway 104 via an Internet connection and an Internet Service Provider (ISP) gateway. Management server 106 includes a third virtual network interface 112C and is configured to operate as an Unmanned Traffic Management (UTM) server. In this configuration, applications running on management server 106 and management gateway 104 use the third virtual network interface 112C as their source of traffic and receive traffic at the third virtual network interface 112C. As a UTM server, management server 106 is configured to receive and monitor communications (i.e., network or Internet Protocol (IP) packets) from UAS vehicle 102, including information on at least flight route planning and replanning, reporting, sharing, and monitoring of routine flight status, incidents, or emergencies of UAS vehicle 102. In addition to UTM operation, management server 106 and / or a combination of management server 106 and management gateway 104 can be configured to perform a wide range of distributed management applications. In other words, management server 106 can be a UTM server and maintain and execute a range of distributed data network applications. In some embodiments, the management gateway 104 is a network device separate from the management server 106, and the management gateway 104 includes a fourth virtual network interface 112 and is configured to handle communication between each UAS vehicle 102 and the management server 106.
[0056] For these communications to be exchanged efficiently, a highly reliable connection path is essential between the UAS vehicle 102 and the management server 106. To provide this highly reliable connection, in some embodiments, system 100 includes an overlay network 108 formed and maintained between a first UAS gateway 110A, a second UAS gateway 110B (and any other UAS vehicle gateway), and the management gateway 104. Overlay network 108 is a virtual network created and maintained in software between various computing devices (i.e., gateways and servers). Overlay network 108 is built and maintained between devices on multiple network interfaces 114 via the Internet, ISP gateways, and management gateway 104. While the Internet is used as the connecting network to connect the UAS vehicle to the management server 106, those skilled in the art will recognize that other networks, such as WANs, fiber optic networks, and various other non-Internet-based networks, can also be used. For example, if properly designed, a wireless LAN can be created in the location communicating with the UAS vehicle, and then a connection can be made to directly connect the management server 106 to the wireless LAN, thereby disconnecting the Internet as the connecting network.
[0057] Then turn Figure 2B , Figure 2B The diagram illustrates the relationship between... Figure 2A The network topology of the same system 100, except that each interface discussed above has an IP address assigned to it, except in the diagram. Those skilled in the art will recognize that one purpose of the overlay network 108 is to efficiently create extended logical Layer-2 (i.e., Layer 2 of the OSI networking model, well-known in the art) networks across various networks interconnected via the Internet. Typically, local area networks (LANs) separated by location and / or Layer 3 routing networks and / or the Internet cannot be adjacent Layer 2 networks (i.e., network devices, including virtual network interfaces, reside in the same IP subnet or virtual LAN (VLAN)). That is, unless the LANs are connected by a Virtual Private Network (VPN) or some other type of overlay network, these overlay networks extend the Layer 2 domain of each LAN location over the Internet. This extension of the Layer 2 domain allows network designers to have multiple different networks in different locations, all located within the same IP subnet and connected by the Internet (or some other routing network).
[0058] Therefore, in practice, the overlay network 108 of this disclosure makes the virtual network interfaces of all UAS vehicles 102, management gateway 104, and management server 106 adjacent to each other at Layer 2, and thus all within the same IP subnet. For example... Figure 2BAs shown, the first UAS vehicle 102A has a first virtual network interface 112A with IP address 192.168.50.1, the second UAS vehicle 102B has a second virtual network interface 112B with IP address 192.168.50.2, and the management gateway 104 has a third virtual network interface 112C with IP address 192.168.50.3. Assuming this is a / 24 network or subnet, each of these devices is within the 192.168.50.0 / 24 subnet.
[0059] In light of the foregoing, those skilled in the art will recognize that other network segmentation strategies are possible for this subject. For example, but not limited to, each virtual network interface could be assigned an IP address to a different subnet, rather than within the same subnet. The primary purpose of overlay networks is to efficiently establish homogeneous virtual networks across multiple heterogeneous physical networks. Therefore, any suitable network segmentation design can work, not just assigning virtual network interfaces to the same subnet.
[0060] Typically, network devices (such as the first UAS gateway 110A) have a single Layer 3 network interface. This means that for that device, they have one IP address and one interface or connection to help them access the Internet or other networks. However, this single interface can be unreliable. For example, suppose a single cellular network interface is assigned to the first UAS gateway 110A, and that interface fails, for example, due to a service provider failure. This would mean that the cellular network interface would be down and the first UAS gateway 110A would be unable to communicate with the management server 106. This creates a reliability problem because applications communicating between the UAS vehicle and the management server 106 will no longer be able to exchange network packets, and overlay network 108 will be down. Therefore, in some embodiments of this disclosure, the system is configured to maintain communication between the UAS vehicle and the management server 106 on multiple network interfaces, as such a design is more reliable. If one or more network interfaces fail, another interface can still be used to handle business communications.
[0061] In some embodiments, for example, if the satellite network interface 114A-1 fails or ceases to function, then in Figure 2B In the depicted design, the overlay network 108 for the first UAS vehicle 102A will remain open and communication will continue, as other interfaces can handle business. This reliability is necessary to maintain effective communication between devices in the network, thereby ensuring that critical security data is relayed to the management server 106 for UTM purposes.
[0062] Furthermore, one of the purposes of virtual network interfaces is to help improve reliability and efficiency. Typically, when a network device has multiple network interfaces, each interface has a different IP address, and network packets originating from and originating from each interface have the source IP address of the corresponding network interface from which the network packet left. For example, if a network device has two network interfaces, and each network interface is assigned a different IP address, such as network interface 1 having an IP address of 10.10.10.1 / 24, and network interface 2 having an IP address of 10.10.10.2 / 24, then IP packets originating from network interface 1 will have a source IP address of 10.10.10.1, and IP packets originating from network interface 2 will have a source IP address of 10.10.10.2. However, if the link in network interface 1 fails and IP address 10.10.10.1 becomes unreachable, this will result in packet loss, and if the destination IP address of network traffic is 10.10.10.1, then network efficiency will be low. The above assumption represents a network where the IP addresses of the network interfaces are all within the same subnet. As mentioned above, this topic is not limited to a single subnet.
[0063] One approach to this problem is to provide equipment where network interfaces 1 and 2 are part of a virtual network interface, thereby acquiring packets. Assuming in this scenario the virtual network interface's IP address is 10.10.5.1 / 24, and the rest of the network is configured to route to this IP address via either the first or second network interface (without creating loops), then if either the first or second network interface fails, packet loss will not occur because one of the interfaces remains open to receive traffic from the virtual network interface.
[0064] The above principles apply to this disclosure. As described above, each of the first UAS vehicle 102A, the second UAS vehicle 102B (and any other UAS vehicles as part of the system), and the management gateway 104 has its own virtual network interface configured with IP addresses in the same subnet as each other and used to communicate with each other through the overlay network 108. Thus, if a service is sent using the IP address of a virtual network interface instead of the IP address of a physical interface (such as satellite interface 114A-1) as the source IP address, the service will not be lost because it can be sent or received on one or more of the other remaining physical interfaces. Furthermore, return services with the destination IP address of the downlink satellite interface 114A-1 will typically be lost. However, using the destination IP address of the first virtual network interface 112A, the service will be routed to the first UAS vehicle 102A via one or more of the other interfaces that are open and available, such as the first cellular network interface 114A-2.
[0065] In any case, network packets transmitted via various wireless network interfaces 114A are sent from the respective available and active network interfaces 114A, according to the encoding multiplexing algorithm applied to the original application network packets. It should be noted that in some embodiments, the system described herein has appropriate redundancy algorithms such that if any encoded network packet (i.e., the application network packet already encoded using the encoding multiplexing algorithm) is lost during transmission, the original application network packet will still be received at the destination. Furthermore, assuming all network interfaces except the first vehicle-to-vehicle network interface 114A-4 are closed, the first UAS vehicle 102A will still be able to forward traffic to the management server 106 via the first vehicle-to-vehicle network interface 114A-4 and the second vehicle-to-vehicle network interface 114B-4 (and vice versa). In some embodiments of this disclosure, using the first vehicle-to-vehicle network interface 114A-4 and / or the second vehicle-to-vehicle network interface 114B-4, the UAS vehicles 102 are configured such that they can send network packets to each other. In this embodiment, the receiving UAS vehicle 102 itself can operate as a management server, or it can forward network packets to a separate management server 106. In other words, the entire system of this specification, including the UAS gateway 110, the management gateway 104, and the management server 106, can be located on and operated by multiple UAS vehicles 102.
[0066] In some embodiments of this disclosure, an overlay network 108 can be formed and / or maintained on all available physical network interfaces 114A-1 to 114A-4 and 114B-1 to 114B-4. In some embodiments, the overlay network 108 can be formed on one or more second-to-first-order available physical network interfaces 114A-1 to 114A-4 and 114B-1 to 114B-4. In some embodiments, maintaining the overlay network 108 does not require direct maintenance. In some embodiments, it is assumed that the overlay network 108 is active after setup. Individual underlying network service providers can perform transparent maintenance on individual access networks. In some other embodiments, keep-alive messages can be used to maintain the overlay network. Those skilled in the art will recognize that in this case, keep-alive messages can be exchanged between individual devices, those that respond will remain in the overlay, while those that do not respond will be considered unreachable and removed from the overlay until their keep-alive message is received.
[0067] Furthermore, overlay network 108 is configured to maintain a database of address points (IP addresses) for all available network interfaces assigned by the various service providers. If these IP addresses change dynamically, overlay network 108 is configured to update the database of available network interface IP addresses with the new IP address information. In some embodiments, system 100 is configured to transmit network packets overlay network 108 between or via UAS vehicle 102 and management server 106. In some embodiments, the underlying physical interface 114 is shielded from application 120, meaning that application 120 is unaware of physical interface 114 and only communicates with virtual network interface 112. Therefore, in some embodiments, communication via physical interface 114 is transparent to application 120.
[0068] refer to Figure 2C The diagram illustrates various network topologies that can be established for a management gateway 104 and one or more management servers 106. For example, in Figure 2C In the left-hand diagram (i.e., the diagram furthest from the page number), the management server 106 and management gateway 104 are combined into the same network device and share a common virtual network interface 112. This topology has been described above. However, as... Figure 2C As shown in the right figure (i.e., the figure closest to the page number), in some embodiments, there may be multiple management servers 106A-106N, each management server having a corresponding virtual network interface 112 with a different IP address, and a single management gateway 104 having a corresponding virtual network interface 112.
[0069] refer to Figure 2D The diagram illustrates a network topology where a combined management server 106 and management gateway 104 are connected via the Internet to another management gateway 104 that processes a series of other management servers 106. In this configuration, server processing and management gateway processing can be performed in a distributed manner. In this way, server and gateway functions can be performed in a distributed manner at different physical locations.
[0070] refer to Figure 3The diagram illustrates a block diagram of various systems (such as those running in the second UAS gateway 110B) operating on the second UAS vehicle 102B. As discussed herein, the UAS gateway may include one or more processors, non-transitory computer-readable media, and executable instructions configured to operate as a networking gateway for the various UAS vehicles 102. Furthermore, the second UAS gateway 110B may operate as a general-purpose processor, which, in addition to functioning as the second UAS gateway 110B, may also be configured to operate various applications used to communicate between, for example, but not limited to, the second UAS vehicle 102B and the management server 106. These applications may also be configured to communicate with various other devices and servers accessible via the Internet.
[0071] For example, but not limited to, each UAS gateway (such as the second UAS gateway 110B) can operate multiple applications, such as application 1 120A, application 2 120B, and any number of applications up to application N 120N, meaning any number of applications, not applications A through N using the alphabet. As mentioned above, each of these applications can communicate with various devices. However, in the context of this application, one or more applications are configured to transmit UTM parameters to a management server. Some of these communications include packets carrying data for: 1) notifying the UTM / management server about flight route planning and replanning; 2) reporting, sharing, and monitoring routine flight status; and 3) remotely handling emergencies or urgent situations. This safety-critical data is configured to be sent by one or more of applications 1 120A, application 2 120B, or any other application up to application N 120N.
[0072] In some embodiments, the second UAS gateway 110B includes processing infrastructure 124 that helps obtain application network packets from application 120, encode them into encoded network packets as discussed herein, and place the encoded network packets on wireless network interface 114. In some embodiments, the processing infrastructure includes socket interface 122 configured to connect application 120 to the remainder of processing infrastructure 124. Since application network packets are created by application 120, they are forwarded to processing infrastructure 124 via socket interface 122 and then sent to multi-interface transport gateway processing module 126, which is configured to process application network packets, encode them into encoded network packets, and send encoded network packets from any network interface 114 based on the availability of each individual interface 114. Furthermore, multi-interface transport gateway processing module 126 is configured to send encoded network packets to UAS vehicle-to-vehicle network module 128 if the second UAS gateway 110B needs to send packets from V2V interfaces / links.
[0073] In some embodiments, the various modules described above are integrated into a single processing module or a single processing chip having multiple processors. In some further embodiments, the various modules are independent processors on one or more printed circuit boards (PCBs). In some embodiments, some or all of the functions described above may be performed by other circuitry such as controllers, application-specific integrated circuits (ASICs), various switches, and other circuitry. In some embodiments, a set of the processors (or other circuitry) and modules described above exists, collectively used for all applications. In some other embodiments, a set of the processors (or other circuitry) and modules described above exists, each set for each application. In other words, grouped processing can be performed centrally or in a distributed manner using a set of processors / modules.
[0074] refer to Figure 4A The diagram illustrates a block diagram of the software architecture of the second UAS gateway 110B. Although this description is made with respect to the second UAS gateway 110B, those skilled in the art will understand that the description herein can be applied to any or all UAS gateways 110 of UAS 102. In some embodiments, the processing infrastructure 124 includes various processors and modules configured to handle business communications between each UAS vehicle and various other devices, including management server 106. Furthermore, the software architecture of the second UAS gateway 110B described herein is equally applicable to the software architecture of management gateway 104. If management gateway 104 and management server 106 are combined into the same network device, the processing architecture of the combined network device can be configured to have the same or similar processing infrastructure 124 as the second UAS gateway 110B. In some embodiments, the process performed by the second UAS gateway 110B on network packets transmitted to management server 106, management server 106, and / or management gateway 104 is configured to perform the same actions on packets sent from management server 106 and the second UAS gateway 110B. Similarly, the actions performed by the second UAS gateway 110B on the received packets are also performed by the management server 106 and / or management gateway 104. In some embodiments, the processing infrastructure 124, in addition to the above references Figure 3 In addition to the modules and devices described, there are also upper-layer module 132, encoding module 134, TRX module 136, and network information module 138. Each of these modules can be implemented using one or more software subroutines, one or more software programs, one or more processors including non-transitory computer-readable media, one or more ASICs, or other circuitry configured to perform the functions described herein.
[0075] like Figure 3 and Figure 4AAs shown, application 120 has a connection to the processing infrastructure via socket interface 122, and upper-layer module 132 first processes any application network packets 130 sent from application 120. Upper-layer module 132 implements and maintains a virtual network interface (i.e., a second virtual network interface 112B), namely, for example, but not limited to, a Linux-based virtual network interface.
[0076] In this specific case, such as Figure 3 As shown, the IP address of the second virtual network interface 112B is 192.168.50.2. In other words, in the context of this application, the application network packet 130 transmitted by the application on the second UAS vehicle 102B has a source IP address of 192.168.50.2. (See reference...) Figure 4B Its illustration is related to Figure 4A The same block diagram is used, but packet header details 140 are shown for application network packets 130 sent by application 120. Since application network packet 130 is sent from application 120 to management server 106 (i.e., with virtual IP address 192.168.50.3), as shown in packet header details 140, the source IP address of application network packet 130 is 192.168.50.2, indicating that the second virtual interface 112B is the source of application network packet 130. In some embodiments, any UAS vehicle may have one or more virtual interfaces 112. In cases where a UAS vehicle has more than one virtual interface 112, it is likely necessary for each virtual interface 112 to have a different IP address.
[0077] In some embodiments, the upper-layer module 132 is also configured to handle the passing of received network packets from the processing infrastructure 124 to the application. In these cases, the source IP address of the network packet will be 192.168.50.3 if it is sent by the management server 106, and the destination IP address of the network packet will be 192.168.50.2.
[0078] In some embodiments, processing infrastructure 124 includes an encoding module 134. In some embodiments, the encoding module is configured to encode transmitted encoded network packets 131 and / or decode encoded network packets received through multiple network interfaces. During encoding, the encoding module 134 is configured to encode application network packets 130 before sending them to management server 106. In some embodiments, encoding transmitted application network packets 130 includes mapping each application network packet 130 to one or more encoded symbols. The encoded symbols are essentially used to represent a subset of the corresponding network packets. In some embodiments, the encoded symbols are then inserted into one or more new network packets, referred to as encoded network packets. In this way, essentially each initially transmitted application network packet 130 is mapped to one or more encoded symbols and then encapsulated into an encoded network packet 131. Once the initially transmitted application network packets 130 are encapsulated into encoded network packets 131, they are then forwarded to TRX module 136 for further processing before being sent out through one or more network interfaces 114. As described above, the interface through which each coded packet is sent is based on a coding multiplexing algorithm that determines the interface through which each network packet is sent from the available interfaces (i.e., which wireless network interfaces 114 are operational and can transmit packets).
[0079] Regarding the mapped encoded symbols encapsulated in the new packet 131, the parameters determining how many symbols can be inserted into a single encoded network packet 131 can be modified based on the current channel, traffic, and network conditions. Alternatively, the entire initially transmitted application network packet 130 can be taken, and one or more of them can be inserted into a jumbo packet, then encoded, with the encoding module 134 of the receiving device (i.e., management gateway 104 or second UAS gateway 110B) configured to extract and decode the initially transmitted application network packet 130 from the jumbo packet. When symbols are used during encoding / decoding, the symbol size and symbol mapping can depend on network conditions, the specific encoding technique used, and other parameters of the encoding itself.
[0080] In some embodiments, multiple encoding schemes may be used. For example, but not limited to, multiplexing of encoded symbols may be used to achieve higher throughput. In some embodiments, each application network packet may be encoded, and a complete copy of the initial packet information is included in each encoded network packet and sent out of physical network interface 114. This increases the diversity of network transmissions, ensuring a higher probability that the service will reach its destination. In some embodiments, a combination of multiplexed and diversified network packets may be used to obtain the benefits of redundancy (i.e., the same packet information on multiple different interfaces) and throughput. In some embodiments, the erasure encoding scheme may be used opportunistically for arbitrarily added redundant data. In this method, encoded network packets including encoded symbols are transmitted on multiple physical interfaces 114 until sufficient information is received at the receiving end to put the initial application network packet 130 together.
[0081] Similarly, when network packets are received from management server 106 at the second UAS gateway 110B, they have already been encoded using the same process described above. Therefore, they need to be decoded by encoding module 134. In some embodiments, encoding module 134 is configured to decode the received network packets by extracting multiple encoded symbols from the received network packets to recover the application network packets sent by management server 106. In some embodiments, encoding module 134 is configured to decode the received and extracted network packets using erasure decoding. Encoding module 134 is then configured to forward the reassembled initial packets received from management server 106 to upper-layer module 132 for processing and delivery to the appropriate application 120. In the event of any copies of the received initial source packets, encoding module 134 silently discards these copies. In some embodiments, management gateway 104 also includes encoding module 134 and is configured to perform the same encoding and / or decoding actions described above.
[0082] In some embodiments, erasure decoding can be performed using, for example, but not limited to, LT codes. However, those skilled in the art will recognize that other types of erasure codes can also be used, including, for example, online codes and other forward error correction methods. Any erasure code that allows the insertion of coded symbols into a new packet and then timely decoding at the receiver is acceptable.
[0083] In some embodiments, the encoding module 134 uses one or more rateless erasure encoding schemes or fountain encoding schemes, such as codes without a fixed code rate. For example, a fountain encoding scheme can be a potentially infinite sequence of encoded symbols that can be generated from a given set (k) of source symbols representing the source data, such that, ideally, the source symbols can be recovered from any subset of the encoded symbols when the number of encoded symbols in the subset is equal to or slightly greater than the number of source symbols, for example, k' encoded symbols. In other words, when using a fountain encoding scheme, k' (e.g., k, k+1, k+2, etc.) encoded symbols may be needed to decode k source symbols, and the order in which the encoded symbols are received is irrelevant.
[0084] In some embodiments, the code rate is associated with the number of additional symbols required during encoding, making it possible to recover the message using a subset of those new symbols. Furthermore, when the number of source symbols is small—for example, for 4-5 source symbols, the percentage of additional symbols on k could be as high as 25%—the number of additional symbols required to recover the initial message can increase significantly.
[0085] Some exemplary fountain encoding schemes that the encoding module 134 may use may include Raptor encoding as specified in Internet Engineering Task Force (IETF) Request for Comments (RFC) 5053, RaptorQ encoding as specified in IETF RFC 6630, and / or other fountain encoding schemes.
[0086] Figure 6 The diagram illustrates the code for a fountain. For example... Figure 6 As depicted, a fountain (e.g., a transmitter) can spray (e.g., emit) various encoded symbols associated with source data (e.g., one or more initial packets, uncoded messages, etc.), and a bucket (e.g., a receiver) can receive portions of these encoded symbols. Once a sufficient amount of encoded symbols has been received, the receiver can use a decoding scheme to decode the encoded symbols and recover the source data. Any received encoded symbols that are not needed for decoding can be considered redundant data.
[0087] Exemplary scenarios in which fountain coding schemes can outperform other types of coding schemes (e.g., coding schemes that require ordered reception of coded symbols or packets) may include situations where feedback (e.g., reception acknowledgment) is not ideal or practical (e.g., transmission between deep space and Earth) and / or involve lossy and / or wireless channel transmissions.
[0088] In some embodiments, the exemplary fountain coding method may involve dividing a source block (e.g., an uncoded message or one or more network packets) into k source symbols (each symbol may have the same or nearly the same size or length). In such embodiments, for each coded packet to be generated and transmitted, coding module 134 or another entity (e.g., using a pseudo-random number generator) may randomly or pseudo-randomly select a degree (referred to herein as d, where d = a value between 1 and k) for encoding the packet. Using the selected d, coding module 134 or another entity may randomly or pseudo-randomly select d symbols for the packet, and then the selected d symbols may be XORed and added to the data portion of the packet. The prefix or header portion of the packet may indicate the number of source symbols in the uncoded message, how many source symbols (d) are XORed into the data portion of the packet, and a coding vector indicating an index list, the index of which indicates the source symbols XORed.
[0089] In some embodiments, an exemplary fountain coding / decoding method may involve receiving k' (e.g., k or slightly more than k) coded symbols. In such embodiments, the fountain coding / decoding method can use the coded symbols to decode or recover a source block (e.g., an uncoded message). For example, coding module 134 or another entity can create a decoding matrix using the received coded vectors, where each coded vector can be a row in the decoding matrix. In this example, decoding can be performed once the decoding matrix has k rows, and the decoding matrix can be solved using Gaussian Jordan elimination. Continuing with this example, the decoding matrix can be used to decode or recover source symbols, which can then be combined to recover a source block (e.g., an uncoded message or one or more network packets).
[0090] Fountain coding schemes may be associated with a low probability of decoding failure. For example, assuming a fountain coding scheme utilizes matrix operations and / or relies on matrix theory, if a message has 10 source symbols, then successfully decoding the message will require 10 linearly independent coded symbols. However, among those 10 received coded symbols, there is a possibility (e.g., because the coded symbols are randomly generated) that one or more symbols are linearly dependent. That is, for fountain coding schemes like LT coding or Raptor coding, decoding may fail if k coded symbols are received but not all of them are linearly independent (e.g., if one or more of the received symbols are redundant). In some examples, LT encoding can have a decoding failure probability of about 1%-5% (decoding success probability of about 95%-99%); Raptor encoding may have a decoding failure probability of about 1% (decoding success probability of about 99%); and RaptorQ encoding has a decoding failure probability of less than 1% (decoding success probability of greater than 99%) when receiving k encoded symbols, and a decoding failure probability of less than 0.01% (decoding success probability of greater than 99.99%) when receiving k+1 encoded symbols.
[0091] In some embodiments, linear sequence coding schemes according to one or more aspects described herein can be considered true rateless erasure coding schemes. For example, exemplary linear sequence coding schemes that always produce linearly independent symbols can be utilized, thus eliminating the need for additional symbols to increase the probability of successful decoding. Furthermore, in some embodiments involving pre-computation of linearly independent coded symbols that can be used by the encoder, computationally intensive matrix operations (e.g., inversion of large random matrices) can be reduced during encoding and / or decoding (e.g., compared to Raptor and RaptorQ), and similarly, associated processing latency can be significantly reduced.
[0092] In some embodiments, the encoding module 134 may utilize linear sequence encoding, wherein a series of symbols (e.g., longer than k, where k represents the number of symbols representing the source data and / or the number of encoded symbols required to recover the source data) is generated such that each subsequence of the transmitted symbol sequence is linearly independent, thereby ensuring that after receiving an appropriate number (e.g., k) of symbols (by the receiver), the associated probability of decoding failure is 0%, or in other words, the probability of decoding success is 100%.
[0093] In some embodiments, for example, to implement linear sequence coding, the encoding module 134 may determine a sequence of k*x source symbols, where k represents the number of source symbols in the source data and x is a number greater than 1, such as 2. In this example, the encoding module 134 may also determine that the generated source symbol sequence can be divided into x*y linearly independent subsequences, where x is 2 and y is the number of packets that can provide k coded symbols (e.g., the number of packets required to provide k coded symbols can be determined by knowing k and knowing how many coded symbols can be stored in each packet). In some embodiments, the value of x may be based on or related to the number of carriers (e.g., paths or interfaces) that the packet containing the coded symbols will traverse.
[0094] In some embodiments, for example, instead of randomly generating encoded symbols for running blocks (e.g., during block generation), encoding module 134 may pre-compute a linear sequence for a linear sequence encoding scheme. (Refer to...) Figure 7 The illustration depicts a flowchart 700 of an exemplary method for pre-computing a linear sequence for linear sequence encoding, as described in some embodiments of this disclosure. Those skilled in the art will recognize that the individual steps in the pre-computation method depicted in flowchart 700 may occur out of order and some steps may be optional, depending on the nature of the steps in the process.
[0095] In some embodiments, the first step 702 of the pre-computation method depicted in flowchart 700 includes generating a sequence of k*x symbols, wherein the encoding vector of each symbol is stored as a value or number. For example, in the same or similar manner as how symbols are generated in Luby transform (LT) coding or random linear network coding (RLNC) coding, encoding module 134 or another entity may generate symbols for a source block (e.g., a source or original message).
[0096] In some embodiments, the second step 704 of the pre-computation method depicted in flowchart 700 includes dividing the generated symbol sequence into x*y subsequences (e.g., coded symbol groups). For example, encoding module 134 or another entity may generate the subsequences based on the number of carriers (e.g., x) and the number of groups (e.g., y) required to provide k coded symbol amounts to the receiver.
[0097] In some embodiments, the third step 706 of the pre-computation method depicted in flowchart 700 includes determining whether each subsequence of the y groups (y equals the number of groups required to contain or provide k coded symbols that can be used to decode or recover the original or source data) is linearly independent. If all these subsequences are linearly independent, a fourth step 708 of the pre-computation method depicted in flowchart 700 can occur. If all these subsequences are not linearly independent, the pre-computation process can be restarted by repeating the first step 702 to generate different k*x symbol sequences. In some embodiments, the pre-computation process can continue until all subsequences of the generated k*x symbol sequences are linearly independent.
[0098] In some embodiments, the fourth step 708 of the pre-computation method depicted in flowchart 700 includes storing an encoding vector represented by the generated symbol sequence. For example, after confirming that the generated symbol sequence and its related subsequences are linearly independent, encoding module 134 or another entity may store or save the encoding vector representing the generated symbol sequence. In this example, (compared to an implementation where the encoding vector is not pre-computed and stored), the stored encoding vector can be used for faster encoding.
[0099] In some embodiments, for example, when performing linear sequence encoding, encoding module 134 can utilize pre-computed linear sequences to improve encoding speed (e.g., reduce encoding latency compared to implementations that do not use stored or pre-computed sequences) and can significantly simplify encoder and decoder implementations. For example, assuming a scenario involving two carriers, where x = 2, k = 10, and y = 2, encoding module 134 can generate k*x (20) symbols, as in LT encoding for a source block (e.g., source data or uncoded message), but can use each corresponding encoding vector (e.g., encoded symbol) from a stored or pre-computed sequence, and can pack k / y (5) symbols into each of the x*y (4) packets transmitted (e.g., 2 packets per carrier). In this example, the probability that the received y (2) packets will have linearly related symbols is zero. Continuing with this example, the first y (2) packets received by the receiver (e.g., carrier-independent) will allow the source block to be recovered or decoded with a 100% success probability.
[0100] In some embodiments, linear sequence coding schemes can allow decoding to succeed with a 100% probability compared to other fountain coding schemes such as Raptor and RaptorQ (because there are k guaranteed linearly independent coded symbols in the received packets). Compared to linear sequence coding, Raptor has a 99% success rate when k received symbols are needed to decode a code block of length l, and a 99.99% success rate when k+1 received symbols are needed to decode a code block of length l. Furthermore, linear sequence coding can reduce coding latency by several orders of magnitude compared to other fountain coding schemes; for example, linear sequence coding can be approximately 1000 times faster than RaptorQ coding.
[0101] refer to Figure 4C The illustration shows the relationship with Figure 4A and Figure 4B The same block diagram shows that after the application network packets 130 are decomposed into symbols, they are stored in the IP packet payload of the encoded network packets 131, which have a source IP address of 65.113.38.9 and a destination IP address of 158.121.64.13 for the corresponding physical network interface from which they output. Although Figure 4C The specific example shown illustrates a management gateway with a destination IP address. In some embodiments, management server 106 may have an IP address / interface with encoded network packet 131 as its destination IP address. In other words, management gateway 104 or management server 106 may receive traffic first. This is because management server 106 and management gateway 104 can operate on the same server or the same network device. Once management gateway 104 or management server 106 receives encoded network packet 131 with encoded packet, management gateway 104 or management server 106 is configured to decode the encoded network packet using the encoding module 134 of management server 106 or management gateway 104 as described above.
[0102] In some embodiments, the processing infrastructure 124 further includes a TRX module 136 configured to interact with multiple network interfaces 114 and shield them from the application 120 running on the second UAS gateway 110B. This "shielding" means that network packets received by the multiple network interfaces 114 are not immediately processed and received by the application 120. The processing infrastructure 124 first processes incoming network packets at the TRX module 136, which is configured to inspect packets and pass / forward them to the encoding module 134 for decoding. The TRX module 136 is responsible for sending outgoing network packets 131 from the available physical network interfaces 114 and receiving incoming network packets from the management server 106 (and any other devices sending network packets to the second UAS vehicle 110B via the overlay network 108).
[0103] Additionally, in some embodiments, the processing infrastructure 124 may include a network information module 138 configured to provide information about available networks to various other modules (including upper-layer module 132, encoding module 134, and TRX module 136) (through multiple network interfaces 114). In some embodiments, the network information module 138 is configured to use a one-to-many mapping approach. In other words, a receiver virtual network interface IP address (which is the destination IP address of the packet being sent) can result in a set of physical addresses on that node. Based on the physical addresses to be used by the sender, one of the physical addresses will be used for the packet to be sent.
[0104] In some embodiments, some or all of the upper-layer module 132, encoding module 134, TRX module 136, and network information module 138 may be combined into a single module executed by the same software program, processor, subroutine, ASIC, etc.
[0105] Reference Figure 5A The diagram illustrates a flowchart 500 of an exemplary method of some embodiments of this disclosure. Those skilled in the art will understand that the steps in this process may not occur in the described order and some steps may be optional, depending on the nature of the steps in the process. In some embodiments, a first step 502 in the method includes providing one or more management network devices for communicating with at least one of a group of one or more vehicles, each vehicle including: at least one vehicle gateway; and a plurality of wireless communication interfaces. A second step 504 in the method includes monitoring or managing the status of each of the at least one vehicle using the management network devices. A third step 506 in the method includes maintaining a first virtual network interface at each vehicle gateway. In some embodiments, a fourth step 508 in the method includes maintaining a second virtual network interface at one or more management network devices.
[0106] The fifth step 510 of the method includes maintaining an overlay network between a first virtual network interface and a second virtual network interface for each of the one or more vehicles. The sixth step 512 of the method includes maintaining an overlay network on at least one of a plurality of wireless communication interfaces of at least one vehicle, such that if any of the plurality of wireless communication interfaces fails on a given vehicle, the overlay network is maintained and communication between the given vehicle and one or more management network devices is maintained.
[0107] The seventh step 514 of the method includes encoding the application network packet into an encoded network packet at each of the one or more vehicles before transmitting the application network packet to one or more management network devices, and decoding the received encoded network packets received from the one or more management network devices. In some embodiments, the eighth step 516 of the method includes encoding the application network packet into an encoded network packet at one or more management network devices before transmitting the encoded network packet to one or more vehicles, and decoding the received encoded network packets received from the one or more vehicles. The ninth step 518 of the method includes mapping each application network packet to one or more encoded symbols. The tenth step 520 of the method includes inserting one or more encoded symbols into one or more encoded network packets at one or more vehicles or one or more management network devices. In some embodiments, the eleventh step 522 of the method includes transmitting the encoded network packet from one or more vehicles or one or more management network devices via one or more of a plurality of wireless communication interfaces.
[0108] The twelfth step 524 of the method includes extracting one or more coded symbols from the received coded network packet and recovering the coded application network packet. Furthermore, in some embodiments, the thirteenth step 526 of the method includes using erase decoding to recover the application network packet. The fourteenth step 528 of the method includes forwarding the recovered application network packet to a corresponding receiving computer application on one or more vehicles or one or more management network devices.
[0109] In some embodiments, a linear sequence coding scheme is used for both encoding and decoding such that multiple received coded network packets comprising k coded symbols have a 100% probability of successfully decoding the application network packet, where k is the number of coded symbols representing the application network packet. For example, assuming that 10 coded symbols are the minimum number of symbols that can fully represent the source message (e.g., one or more application network packets), assuming that five coded symbols can be transmitted in the coded network packet, and assuming that the transmitter is using a linear sequence coding scheme to generate packets with various linearly independent combinations or subsequences of 5 coded symbols, then any two packets (regardless of the transmission sequence) should be able to accurately decode or recover the application network packet (because the two packets will provide 10 symbols).
[0110] In some embodiments, for example, before encoding an application network packet into a coded network packet using a linear sequence coding scheme, a series of coded symbols comprising linearly independent subsequences for encoding the network packet can be pre-computed, and associated coded vectors can be stored for use during the encoding of the application network packet into the coded network packet. For example, by pre-compiling a series of coded symbols comprising linearly independent subsequences and storing the associated coded vectors as described above, a transmitter using a linear sequence coding scheme can use the pre-computed and stored information to generate packets of linearly independent combinations or subsequences with variations in coded symbols.
[0111] In some embodiments, a computing device (e.g., a platform or node including at least one processor and memory) may utilize a linear sequence coding scheme or related methods to encode and transmit data. For example, a computing device or module (e.g., encoding module 134) or software executing therein may use a linear sequence coding scheme and a source message to generate multiple coded network packets, wherein each coded network packet indicates multiple coded symbols, each of which is linearly independent; and transmit the multiple coded network packets via a lossy channel or a wireless channel. In this example, because the coded symbols transmitted in the coded network packets are linearly independent, the probability of successful decoding is 100% once the receiver receives the necessary number of coded packets to obtain k coded packets.
[0112] In some embodiments, before generating multiple coding network groups using a linear sequence coding scheme, a series of coding symbols and associated coding vectors, including linearly independent subsequences, can be calculated for the coding network groups.
[0113] In some embodiments, a computing device (e.g., a platform or node including at least one processor and memory) may utilize a linear sequence coding scheme or related methods to decode data. For example, a computing device or module (e.g., encoding module 134) or software executing therein may receive a second plurality of coded network packets from a plurality of coded network packets transmitted via a lossy channel or a wireless channel, and decode the source message using k coded symbols and one or more matrix operations. In some examples, the received second plurality of coded network packets may include k coded symbols, where k is equal to the minimum number of source symbols available to represent the source message.
[0114] In some embodiments, a method utilizing a linear sequence coding scheme includes: at a first computing device: generating a plurality of coded network packets using the linear sequence coding scheme and a source message, wherein each coded network packet indicates a plurality of coded symbols, wherein each of the plurality of coded symbols is linearly independent; and transmitting the plurality of coded network packets via a lossy channel or a wireless channel.
[0115] In some embodiments, before generating multiple coding network groups using a linear sequence coding scheme, a series of coding symbols and associated coding vectors, including linearly independent subsequences, are calculated for the coding network groups.
[0116] In some embodiments, at the first computing device: receiving a second plurality of coded network packets from the second computing device, wherein the second plurality of coded network packets comprises k linearly independent coded symbols, wherein k is equal to the minimum number of source symbols used to represent the second source message; and decoding the second source message using the k coded symbols and one or more matrix operations.
[0117] In some embodiments, at least two of the second plurality of coded network groups are non-sequential.
[0118] In some embodiments, decoding the second source message includes using an encoding vector included in a second plurality of encoding network packets, wherein the encoding vector is computed by the second computing device before the second computing device generates the encoding network packets.
[0119] In some embodiments, the first computing device includes a multi-interface transmission gateway, a computer, a mobile phone, an Internet of Things (IoT) device, a network device, a gateway device, a vehicle, a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that needs to reliably communicate with one or more remotely managed network devices.
[0120] In some embodiments, the lossy channel or wireless channel includes a cellular wireless network interface, a satellite network interface, a vehicle-to-vehicle network interface, an air-to-ground network interface, or a Wi-Fi network interface.
[0121] In some embodiments, a system for utilizing a linear sequence coding scheme includes: at least one first processor; and a first computing device including at least one first processor, wherein the first computing device is configured to: generate a plurality of coded network packets using the linear sequence coding scheme and a source message, wherein each coded network packet indicates a plurality of coded symbols, wherein each of the plurality of coded symbols is linearly independent; and transmit the plurality of coded network packets via a lossy channel or a wireless channel.
[0122] In some embodiments, the first computing device is configured to compute a series of coded symbols and associated coded vectors, including linearly independent subsequences, for the coded network groups before generating multiple coded network groups using a linear sequence coding scheme.
[0123] In some embodiments, the first computing device is configured to receive a second plurality of coded network packets from a second computing device, wherein the second plurality of coded network packets comprises k linearly independent coded symbols, wherein k is equal to the minimum number of source symbols used to represent the second source message; and to decode the second source message using the k coded symbols and one or more matrix operations.
[0124] In some embodiments, at least two of the second plurality of coded network groups are non-sequential.
[0125] In some embodiments, decoding the second source message includes using an encoding vector included in a second plurality of encoding network packets, wherein the encoding vector is computed by the second computing device before the second computing device generates the encoding network packets.
[0126] In some embodiments, the first computing device includes a multi-interface transmission gateway, a computer, a mobile phone, an Internet of Things (IoT) device, a network device, a gateway device, a vehicle, a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that needs to reliably communicate with one or more remotely managed network devices.
[0127] In some embodiments, the lossy channel or wireless channel includes a cellular wireless network interface, a satellite network interface, a vehicle-to-vehicle network interface, an air-to-ground network interface, or a Wi-Fi network interface.
[0128] In some embodiments, a non-transitory computer-readable medium includes computer-executable instructions embodied therein, which, when executed by a processor of a computer, perform the following steps: at a first computing device: generating a plurality of coded network packets using a linear sequence coding scheme and a source message, wherein each coded network packet indicates a plurality of coded symbols, wherein each of the plurality of coded symbols is linearly independent; and transmitting the plurality of coded network packets via a lossy channel or a wireless channel.
[0129] In some embodiments, the non-transitory computer-readable medium includes computer-executable instructions embodied therein for computing a series of coded symbols and associated coded vectors comprising linearly independent subsequences for a coded network group before generating a plurality of coded network groups using a linear sequence coding scheme.
[0130] In some embodiments, the non-transitory computer-readable medium includes computer-executable instructions embodied therein for: receiving, at a first computing device, a second plurality of coded network packets from a second computing device, wherein the second plurality of coded network packets comprises k linearly independent coded symbols, wherein k is equal to the minimum number of source symbols used to represent a second source message; and decoding the second source message using the k coded symbols and one or more matrix operations.
[0131] In some embodiments, at least two of the second plurality of coded network groups are non-sequential.
[0132] In some embodiments, decoding the second source message includes using an encoding vector included in a second plurality of encoding network packets, wherein the encoding vector is computed by the second computing device before the second computing device generates the encoding network packets.
[0133] In some embodiments, the first computing device includes a multi-interface transmission gateway, a computer, a mobile phone, an Internet of Things (IoT) device, a network device, a gateway device, a vehicle, a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that needs to reliably communicate with one or more remotely managed network devices.
[0134] In some embodiments, the lossy channel or wireless channel includes a cellular wireless network interface, a satellite network interface, a vehicle-to-vehicle network interface, an air-to-ground network interface, or a Wi-Fi network interface.
[0135] The subject matter disclosed herein can be implemented in software or in combination with hardware and / or firmware. For example, the subject matter described herein can be implemented in software executed by a processor or processing unit. In one exemplary embodiment, the subject matter described herein can be implemented using a computer-readable medium having computer-executable instructions stored thereon, which, when executed by a computer's processor, control the computer to perform steps. Exemplary computer-readable media suitable for implementing the subject matter described herein include non-transitory devices such as disk storage devices, on-chip memory devices, programmable logic devices, and application-specific integrated circuits (ASICs). Furthermore, the computer-readable medium implementing the subject matter described herein can be located on a single device or computing platform, or it can be distributed across multiple devices or computing platforms.
[0136] While at least one exemplary embodiment of the invention has been disclosed herein, it should be understood that modifications, substitutions, and alternatives will be apparent to those skilled in the art and can be made without departing from the scope of this disclosure. This disclosure is intended to cover any modifications or variations of the exemplary embodiments. Furthermore, in this disclosure, the terms “comprise” or “comprising” do not exclude other elements or steps, the terms “a,” “an,” or “one” do not exclude a plural, and the term “or” indicates one or both. Additionally, described features or steps may be used in combination with other features or steps and in any order, unless otherwise implied by the disclosure or context. This disclosure is incorporated herein by reference in its entirety from any patent or application for which it claims benefit or priority.
Claims
1. A method for utilizing a linear sequence encoding scheme, the method comprising: at a first computing device: precomputing an encoding symbol sequence containing linearly independent subsequences and associated encoding vectors; generating a plurality of encoded network packets using the associated encoding vectors and a source message, wherein each of the encoded network packets indicates a plurality of encoded symbols, wherein each of the plurality of encoded symbols is linearly independent; and transmitting the plurality of encoded network packets via a lossy channel or a wireless channel.
2. The method of claim 1, wherein, precomputing the encoding symbol sequence comprises: generating a symbol sequence and associated encoding vectors; partitioning the symbol sequence into a plurality of subsequences; determining whether the plurality of subsequences are linearly independent; in the event that the plurality of subsequences are determined not to be linearly independent, repeating the steps of generating a symbol sequence, partitioning the symbol sequence into a plurality of subsequences, and determining whether the plurality of subsequences are linearly independent; and in the event that the plurality of subsequences are determined to be linearly independent, storing the associated encoding vectors for the symbol sequence.
3. The method of claim 1, comprising: at the first computing device: receiving a second plurality of encoded network packets from a second computing device, wherein the second plurality of encoded network packets comprises k linearly independent encoded symbols, wherein k is equal to a minimum number of source symbols used to represent a second source message; and decoding the second source message using the k encoded symbols and one or more matrix operations.
4. The method of claim 3, wherein, at least two of the second plurality of encoded network packets are non-sequential.
5. The method of claim 3, wherein, decoding the second source message comprises using encoding vectors included in the second plurality of encoded network packets, wherein the encoding vectors are computed by the second computing device prior to the second computing device generating the encoded network packets.
6. The method of claim 1, wherein, the first computing device comprises a multi-interface transport gateway, a computer, a mobile phone, an Internet of Things (IoT) device, a network device, a gateway device, a vehicle, a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that requires reliable communication with one or more remotely managed network devices.
7. The method of claim 1, wherein, the lossy channel or the wireless channel comprises a cellular wireless network interface, a satellite network interface, a vehicle-to-vehicle network interface, a space-to-ground network interface, or a Wi-Fi network interface.
8. A system for utilizing a linear sequence encoding scheme, the system comprising: at least one first processor; and a first computing device comprising the at least one first processor, wherein the first computing device is configured to: precompute an encoding symbol sequence containing linearly independent subsequences and associated encoding vectors; generate a plurality of encoded network packets using the associated encoding vectors and a source message, wherein each of the encoded network packets indicates a plurality of encoded symbols, wherein each of the plurality of encoded symbols is linearly independent; and transmit the plurality of encoded network packets via a lossy channel or a wireless channel. the first computing device is configured to precompute the encoding symbol sequence by:
9. The system of claim 8, wherein, generating a sequence of symbols and associated encoding vectors; partitioning the sequence of symbols into a plurality of subsequences; determining whether the plurality of subsequences are linearly independent; in the event the plurality of subsequences are determined not to be linearly independent, repeating the steps of generating a sequence of symbols, partitioning the sequence of symbols into a plurality of subsequences, and determining whether the plurality of subsequences are linearly independent; and in the event the plurality of subsequences are determined to be linearly independent, storing the associated encoding vectors for the sequence of symbols.
10. The system of claim 8, wherein, the first computing device is configured to: receive a second plurality of encoded network packets from a second computing device, wherein the second plurality of encoded network packets comprises k linearly independent encoded symbols, where k is equal to a minimum number of source symbols used to represent a second source message; and decode the second source message using the k encoded symbols and one or more matrix operations.
11. The system of claim 10, wherein, At least two of the second plurality of encoded network packets are non-sequential.
12. The system of claim 10, wherein, Decoding the second source message includes using encoding vectors included in the second plurality of encoded network packets, wherein the encoding vectors are computed by the second computing device prior to the second computing device generating the encoded network packets.
13. The system of claim 8, wherein, The first computing device comprises a multi-interface transport gateway, a computer, a mobile phone, an Internet of Things (IoT) device, a network device, a gateway device, a vehicle, a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that requires reliable communication with one or more remotely managed network devices.
14. The system of claim 8, wherein, The lossy channel or wireless channel comprises a cellular wireless network interface, a satellite network interface, a vehicle-to-vehicle network interface, a space-to-ground network interface, or a Wi-Fi network interface.
15. A non-transitory computer-readable medium comprising computer-executable instructions embodied in the non-transitory computer-readable medium, the computer-executable instructions when executed by a processor of a computer perform steps comprising: At a first computing device: pre-computing a sequence of encoded symbols containing linearly independent subsequences and associated encoding vectors; generating a plurality of encoded network packets using the related encoded vectors and the source message, wherein, each of the encoded network packets indicates a plurality of encoded symbols, wherein each of the plurality of encoded symbols is linearly independent; and transmitting the plurality of encoded network packets via a lossy channel or wireless channel.
16. The non-transitory computer-readable medium of claim 15, wherein, Pre-computing the sequence of encoded symbols comprises: generating a sequence of symbols and associated encoding vectors; partitioning the sequence of symbols into a plurality of subsequences; determining whether the plurality of subsequences are linearly independent; in the event the plurality of subsequences are determined not to be linearly independent, repeating the steps of generating a sequence of symbols, partitioning the sequence of symbols into a plurality of subsequences, and determining whether the plurality of subsequences are linearly independent; and in the event the plurality of subsequences are determined to be linearly independent, storing the associated encoding vectors for the sequence of symbols.
17. The non-transitory computer-readable medium of claim 15, comprising: At the first computing device: receive a second plurality of encoded network packets from a second computing device, wherein the second plurality of encoded network packets comprises k linearly independent encoded symbols, where k is equal to a minimum number of source symbols used to represent a second source message; and decode the second source message using the k encoded symbols and one or more matrix operations.
18. The non-transitory computer-readable medium of claim 17, wherein, at least two of the second plurality of encoded network packets are non-sequential, and wherein decoding the second source message comprises using an encoding vector included in the second plurality of encoded network packets, wherein the encoding vector is computed by the second computing device prior to the second computing device generating the encoded network packets.
19. The non-transitory computer-readable medium of claim 15, wherein, the first computing device comprises a multi-interface transport gateway, a computer, a mobile phone, an Internet of Things (IoT) device, a network device, a gateway device, a vehicle, a drone, an unmanned aerial system, an unmanned system, or any manned or unmanned autonomous system that requires reliable communication with one or more remotely managed network devices.
20. The non-transitory computer-readable medium of claim 15, wherein, the lossy channel or wireless channel comprises a cellular wireless network interface, a satellite network interface, a vehicle-to-vehicle network interface, a space-to-ground network interface, or a Wi-Fi network interface.
Citation Information
Patent Citations
Method and system for fleet operations data management
CN102420845A
Systems and methods to optimize the load of multipath data transportation
US20190097754A1
Compact key encoding of data for public exposure such as cloud storage
WO2020036650A2