Geodetic coordinates for routing in a satellite constellation
Patent Information
- Application Number
- CN202480081962.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-19
- Filing Date
- 2024-12-28
- Publication Date
- 2026-08-18
AI Technical Summary
[0006]另一方面,基于网络拓扑的路由虽然根据定义与网络拓扑一致,但在估计卫星之间的实际距离方面存在挑战
Smart Images

Figure CN122603479A_ABST
Abstract
Description
Cross-references to related applications
[0001] This application claims priority to U.S. Patent Application No. 18 / 417,701, filed January 19, 2024. The entire contents of US18 / 417,701 are incorporated herein by reference. Technical Field
[0002] The present invention relates to data networks (e.g., based on data packets), such as satellite networks, and more particularly to methods and apparatus for supporting routing in these networks. Background Technology
[0003] Satellite constellations can be used to provide routing services for packet-based networks such as the Internet. Currently, the proposed approach is to distribute a group of satellites in space to form a mesh network. Free-space optical (i.e., laser) links have been proposed as a way to provide high-bandwidth network connections between satellites. Of course, other types of links can also be used, such as radio frequency (RF) or microwave-based links. The latency provided by using low Earth orbit (LEO) satellite systems is generally lower than that of medium Earth orbit (MEO) or geostationary orbit (GEO) systems, but a large number of satellites are required.
[0004] Similar to terrestrial networks, data packets can be routed via satellite networks through various paths. Because satellites move rapidly relative to the Earth's surface, routing data packets to their destinations requires taking into account the satellites' positions. In these scenarios, rapidly calculating efficient routing paths demands significant computation, and existing routing methods need improvement and customization for satellite networks.
[0005] Geographic routing involves routing data packets based on geographic location information, without relying on network topology information. Therefore, using geographic coordinates presents challenges in aligning with network topology, potentially leading to routing problems such as black holes. Furthermore, these methods require improvement in terms of computational efficiency, applicability to satellite mesh networks, or both.
[0006] On the other hand, while network topology-based routing is consistent with the network topology by definition, it presents challenges in estimating the actual distances between satellites.
[0007] Therefore, there is a need for a method and apparatus to support routing and forwarding in satellite networks and similar networks, thereby avoiding or reducing one or more limitations of the prior art.
[0008] This background information is provided to disclose information that the applicant believes may be relevant to the present invention. It is not intended to acknowledge, nor should any of the foregoing information be construed as, prior art to the present invention. Summary of the Invention
[0009] The purpose of this invention is to provide a method and apparatus for routing one or more data packets in a network including satellite network nodes. In some embodiments, the routing involves identifying and selecting a next network node from a plurality of potential next network nodes and forwarding the data packets to the selected next network node. The next network node may be selected based on its status as the node closest to the destination node (e.g., the final destination, indicated, for example, by the destination address field of the data packet) among a plurality of nodes. To support this operation, or another routing method, the locations of the potential next network nodes and the destination node are determined. Specifically, the locations are defined using geodesic coordinates. More specifically, two geodesics are defined that intersect at the location of the node. The inclination angle of the geodesics is the same as the inclination angle of the satellite network node. The location is then defined by the location where these geodesics intersect the equator (e.g., represented as longitude). For example, these intersections are represented as angles measured along the equatorial plane centered on the center of a sphere (e.g., the Earth) from a common reference location (e.g., the intersection of the Prime Meridian (also known as the Greenwich Meridian) and the equator (i.e., 0° latitude and 0° longitude)). A distance metric is also defined between two such locations or nodes defined by the corresponding geodesics. The distance metric may be a Manhattan (i.e., L1) distance metric, as defined, for example, in equations (3) to (5) set forth below.
[0010] According to an embodiment of the present invention, a method for routing data packets in a network is provided. The method includes: for each of a plurality of destination devices capable of further processing the data packets to route them to another destination, determining a corresponding cost or utility associated with forwarding the data packets to one of the plurality of destination devices. Determining the cost or utility includes calculating a distance metric from the one of the plurality of destination devices to the other destination using the location of the one of the plurality of destination devices and the location of the other destination. The method further includes: selecting one of the plurality of destination devices at least in part based on the determined cost or utility, and forwarding the data packets to the selected destination device.
[0011] According to an embodiment of the present invention, an apparatus for forwarding data packets in a network is provided. The apparatus includes: a cost determiner, configured to: for each of a plurality of destination devices capable of further processing the data packet to route the data packet to another destination, determine a corresponding cost or utility associated with forwarding the data packet to one of the plurality of destination devices. The cost or utility is determined at least in part by calculating a distance metric from the one of the plurality of destination devices to the other destination using the location of the one of the plurality of destination devices and the location of the other destination. The apparatus further includes: a destination selector, configured to receive the determined cost or utility from the cost determiner, and select one of the plurality of destination devices based at least in part on the determined cost or utility. The apparatus further includes: a data packet forwarder, configured to receive an indication of the selected destination device from the destination selector, and forward the data packet to the selected destination device. One or both of the cost determiner and the destination selector may be implemented using a processor operatively coupled to memory, the memory storing program instructions that, when executed by the processor, cause the processor to implement one or both of the cost determiner and the destination selector. One or both of the cost determiner and the destination selector may be implemented using dedicated data processing hardware.
[0012] According to an embodiment of the present invention, a method for assigning addresses to nodes in a network is provided. The method includes: determining a first parameter representing the location of the intersection of an equatorial plane and a first geodesic passing through the node; determining a second parameter representing the location of the intersection of the equatorial plane and a second geodesic passing through the node; and assigning the address to include the first parameter and the second parameter. Therefore, the network address is based on a geographical location specified in a certain way. This supports geographic routing.
[0013] According to an embodiment of the present invention, one of the plurality of destination devices has a location defined by the following: a first parameter , representing the position of the intersection of the equatorial plane and the first geodesic line passing through one of the plurality of destination devices, the second parameter , indicating the location of the intersection of the equatorial plane and the second geodesic line passing through one of the plurality of destination devices.
[0014] According to an embodiment of the present invention, the other destination has a location defined by the following: another first parameter , representing the intersection of the equatorial plane with another first geodesic line passing through the other destination, and another second parameter. , representing the intersection of the equatorial plane with another second geodesic line passing through the other destination.
[0015] According to an embodiment of the present invention, selecting one of the plurality of destination devices includes selecting a specific destination device among the plurality of destination devices that has the lowest cost or the highest efficiency.
[0016] According to an embodiment of the present invention, selecting one of the plurality of destination devices includes using a comparator tree having multiple levels, each level having one or more comparators, the one or more comparators being used to compare the costs or utilities and output an indication of the lower cost among the compared costs or the higher utility among the compared utilities.
[0017] According to an embodiment of the present invention, at least one of the following is a satellite-based network node: the plurality of destination devices; the other destination.
[0018] According to an embodiment of the present invention, the plane including the first geodesic line of one or more of the plurality of destination devices represents the orbital plane of at least one of the plurality of destination devices.
[0019] According to an embodiment of the present invention, the second parameter Based on the angular position of one of the multiple destination devices The angular position It is relative to the first parameter The location is determined or measured. The second parameter. Based on the inclination angle of the orbital plane of at least one of the multiple destination devices. .
[0020] According to an embodiment of the present invention, the plurality of destination devices or nodes belong to the network. Each of the plurality of destination devices or nodes follows an orbit with the same inclination angle. The corresponding orbit.
[0021] According to an embodiment of the present invention, the distance metric It is calculated according to the following formula: (3) (4) (5) in, It is the first parameter. It is the other first parameter mentioned above. These are additional parameters, defined as such that... ,in, It is the second parameter. It is another additional parameter, which is defined as such that ,in, This is the other second parameter.
[0025] According to an embodiment of the present invention, the additional parameters It is based on Calculated, of which, It refers to the orbital inclination angle of one or both of the multiple destination devices and the other destination. Corresponding phase. One of the plurality of destination devices is a destination device relative to the first parameter. The angular position of the location. The other additional parameter... It is based on Calculated, of which, The other destination is relative to the other first parameter. The angular position of the position.
[0026] According to an embodiment of the present invention, the first geodesic line and the second geodesic line intersect at the following locations: directly below one of the plurality of destination devices; directly above the one of the plurality of destination devices; and at the one of the plurality of destination devices.
[0027] According to an embodiment of the invention, each parameter represents an angle, which is the angle measured on the equatorial plane from a common reference position to each corresponding intersection of the equatorial plane and the corresponding geodesic line passing through one of the plurality of destination devices.
[0028] Embodiments have been described above in conjunction with various aspects of the present invention, and these embodiments can be implemented based on these aspects. It will be understood by those skilled in the art that embodiments can be implemented in conjunction with the aspects described therein, but also in conjunction with other embodiments of that aspect. It will be apparent to those skilled in the art that embodiments are mutually exclusive or contradictory. Some embodiments may be described in conjunction with one aspect, but may also be applicable to other aspects, as will be apparent to those skilled in the art. Attached Figure Description
[0029] Other features and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, in which: Figure 1A This is a schematic diagram of the location of network nodes in an orbit (e.g., satellite) provided in an embodiment of the present invention.
[0030] Figure 1B This is a schematic diagram of network nodes in an orbit (e.g., a satellite) provided in an embodiment of the present invention.
[0031] Figures 2A to 2H This is a schematic diagram of the node positions in the track provided in the embodiment of the present invention, with a corresponding geodesic line at each node position.
[0032] Figure 3 This is a graph provided by an embodiment of the present invention, showing the first geodesic parameter α and the second geodesic parameter β of a node moving on a node track.
[0033] Figure 4 This is a graph provided by an embodiment of the present invention, showing the distance measurement from node 1 to node 2 and node 3 as the node moves on its corresponding track.
[0034] Figure 5 This is a schematic diagram of a method for routing data packets in a network provided by an embodiment of the present invention.
[0035] Figure 6A This is a block diagram illustrating forwarding plane operations provided in an embodiment of the present invention.
[0036] Figure 6B This is a block diagram illustrating forwarding plane operations provided in an embodiment of the present invention.
[0037] Figure 7 This is a schematic diagram of an apparatus for routing data packets in a network, provided in an embodiment of the present invention.
[0038] Figure 8 This is a schematic diagram of an electronic device provided in an embodiment of the present invention, wherein the electronic device can perform any or all of the methods and features explicitly or implicitly described herein.
[0039] It should be noted that similar features are identified by similar reference numerals in all the accompanying drawings. Detailed Implementation
[0040] This invention illustrates various embodiments using block diagrams, flowcharts, and examples. As long as such block diagrams, flowcharts, and examples include one or more functions and / or operations, those skilled in the art will understand that each function and / or operation within such block diagrams, flowcharts, and examples can be implemented individually or collectively through a wide range of hardware, software, firmware, or combinations thereof. As used herein, the term "about" should be understood to include variations compared to a nominal value, for example, a variation of + / - 10% compared to a nominal value. It should be understood that such variations are always included within the range of values provided herein, whether or not they are specifically mentioned.
[0041] This application is incorporated, in its entirety, by reference the applicant’s prior U.S. patent application No. 16 / 721,171, filed on December 19, 2019, entitled Packet Forwarding Based on Geometric Location.
[0042] Satellite-based networks can provide global connectivity and can also offer new coverage extensions in fifth-generation (5G) and sixth-generation (6G) communication technologies, as defined by the 3rd Generation Partnership Project (3GPP). There is industry-wide interest in deploying inter-satellite links to route user traffic across multiple satellites. In this regard, low-earth orbit (LEO) satellite systems may be suitable due to their lower round-trip latency and launch costs compared to medium-earth orbit (MEO) and geostationary earth orbit (GEO) systems. Very low-earth orbit (VLEO) systems also have potential for such purposes. However, an effective global network requires a potentially large number of LEO satellites, each moving at relatively high ground speeds. Furthermore, the dynamic nature of satellite network constellations presents challenges to existing routing protocols due to orbital seams, network size issues, and the need for timely communication of network changes to all nodes.
[0043] While GEO satellites are stationary relative to the Earth's surface, MEO, VLEO, and LEO satellites are considered to be moving satellites with a certain time period. That is, MEO, VLEO, and LEO satellites pass the same point on Earth after a specific time period, depending on their altitude. LEO and potential VLEO satellites can provide global coverage on Earth and are able to reuse frequencies more efficiently. LEO (and potential VLEO) satellite networks can provide ubiquitous, low-latency connectivity. A characteristic of these satellite networks is that they typically require many satellites to provide global coverage, primarily due to their low altitude.
[0044] In satellite communication technology, a satellite constellation is defined as a group of satellites orbiting in orbits (e.g., LEO, VLEO) that coordinate ground coverage and share control functions. The two main satellite constellations currently in use are the "Polar Constellation" and the "Walker Delta Constellation." The Walker Delta Constellation provides better uniform coverage almost anywhere on Earth, except at the poles. However, the Polar Constellation provides dense coverage at the poles and sparse coverage at the equator. Part of the Walker Delta Constellation's characteristic lies in the inclination of its satellite orbits; a higher inclination results in coverage extending accordingly to the vicinity of the poles.
[0045] Satellite network nodes can have two types of interfaces: terrestrial communication interfaces and inter-satellite link (ISL) communication interfaces. Terrestrial communication interfaces can be microwave systems operating in the X-band or Ka-band. ISL interfaces can use communication lasers and can provide high-speed optical free-space communication links between satellite nodes. ISL interfaces can use radio frequency inter-satellite links. ISL links include intra-orbit links, which are links between satellites in a common orbit but spaced apart (usually adjacent), and inter-orbit links, which are links between satellites in different (usually adjacent for at least a period of time) orbits.
[0046] Because satellite networks are dynamic, ISL (Inter-orbit Link Length) characteristics also change dynamically. Even for intra-orbit ISL with a constant link distance, link behavior varies as the satellite passes over different parts of the Earth (e.g., the poles). For polar constellations and Walker-Delta constellations, the dynamic range of ISL characteristics for inter-orbit ISL is significantly larger. Since ISL links change dynamically, the properties of the network topology in satellite networks are also considered dynamic. Network topology changes, link failures and creations, link-level optical impairments, and the Doppler effect make packet routing a major challenge in satellite networks. This is especially true for dense LEO satellite networks where network events occur frequently. Packet addressing is another challenge. Furthermore, satellite onboard processing capabilities are limited, so it is desirable to limit the amount of onboard processing required to perform functions such as network routing.
[0047] When using satellite networks to route data packets to (e.g., ground-based) destinations, it's important to note that satellite constellations typically move rapidly relative to that destination. This makes it difficult to determine the path for forwarding data packets within a given timeframe to efficiently reach their destination. For example, it might be desirable to determine which target satellite (i.e., node or destination) is currently closest (or close enough) to another (e.g., final) destination so that data packets can be routed along a path toward that target satellite. Constellation geometry, for instance, can be used to facilitate this routing.
[0048] Specifically, according to embodiments of the present invention, a satellite constellation can be used to route data packets to a target or selected node (or device) determined to be closest to the destination location (or device) based on a corresponding distance metric. For this purpose, geodetic coordinates (or parameters) are assigned to the satellites (or satellite addresses), which include two geodetic parameters used to determine the distance metric. For example, these geodetic coordinate parameters may be (at least) a portion of the destination address. Thus, a satellite may employ an address indicating its physical location, represented using geodetic coordinates (or parameters), and this address can be used for routing purposes. The destination of the data packet may similarly employ such an address. This geodetic routing can also be used in other scenarios. According to this geodetic routing, the data packet specifies the geodetic parameters of the destination, for example, in its header.
[0049] As used herein, the terms "first parameter," "second parameter," and "additional parameter" are interchangeable with "first geodetic parameter," "second geodetic parameter," and "additional geodetic parameter," respectively. The first parameter, second parameter, and additional parameter are denoted by α, β, and γ, respectively.
[0050] Packet routing typically involves a node (e.g., a satellite) identifying the next-hop node to which the data packet should be forwarded when it possesses the packet. This next-hop node should nominally be "closer" to the target node (e.g., the target satellite) and the final data packet destination than the current node. The target node can be selected as either a node located within a limited local neighborhood of the node holding the data packet and closest to the final data packet destination (i.e., with the smallest distance metric), or among the nodes closest to the final data packet destination (i.e., with the smallest distance metric). To identify the appropriate next-hop node based on the data packet destination information, a routing table can be maintained. Distributed link-state routing protocols, such as Open Shortest Path First (OSPF), can be used to maintain the routing table. Link-state information can be shared among nodes using control plane messaging.
[0051] In networks involving mobile nodes such as LEO (Loop-Orbiting) satellite nodes, the relative motion of nodes with respect to each other, ground nodes, or both can lead to time-varying network topology and link availability. Therefore, maintaining global routing tables and link-state information becomes a challenging task. Thus, it is useful to consider alternative routing methods that can be implemented using limited information. This limited information may consist only of node locations and link-state information of nodes within the local neighborhood of a given node making a routing decision. For example, according to an embodiment of the invention, each network node maintains node locations and link-state information for a limited portion of the network in which it resides. Data packets specify their destination location, for example, using geodesic coordinates (or parameters) in their header. Therefore, if needed, a network node can determine the value of a distance metric from each node in its local neighborhood to a destination whose location has been converted to geodesic coordinates.
[0052] This invention provides a method for assigning geodesic coordinates to devices, such as (e.g., satellite) network nodes. Geodesic coordinates include two geodesic parameters used for address allocation, data packet routing and forwarding, or combinations thereof, within the network. In the context of this invention, a geodesic line is defined as a curve representing the shortest distance between two points on the surface of a sphere. In embodiments, this curve is a circle centered at the origin of the sphere (e.g., the center of the Earth). Alternatively, a geodesic line may also be referred to as a great circle or a portion thereof.
[0053] In this embodiment, the geodetic coordinates include two geodetic parameters.
[0054] In this embodiment, the two geodetic parameters include a first (geodetic) parameter α and a second (geodetic) parameter β. The geodetic parameters can be determined from the location or position of a node (e.g., a satellite) or its destination (e.g., as indicated in a data packet header).
[0055] In an embodiment, a first geodetic parameter is selected such that it corresponds to or represents the location of the intersection of a first geodetic line passing through the node (or destination) and the equatorial plane. The first geodetic parameter may, for example, represent or correspond to the longitude of that intersection. Figure 1A In the context of, for example, for the equator 104 and the first geodesic 105, for all nodal positions 120, 130, and position 101, the first geodesic parameter could be the longitude 181 of position 101. More generally, the first geodesic parameter is expressed as the angle formed between two line segments lying in the equatorial plane and intersecting at the center of the Earth, for example, one line segment passing through a reference position, such as the intersection of the Prime Meridian (also known as the Greenwich Meridian) and the equator (i.e., 0° latitude and 0° longitude), and the other line segment passing through the intersection of the first geodesic and the equator. Other common reference positions or points may also be used.
[0056] In an embodiment, the second geodesic parameter corresponds to or represents the location of the intersection of a second geodesic line passing through the node (or destination) and the equatorial plane. Similarly, in Figure 1A In the context of the nodes, the second geodesic of node 101 is geodesic 115, and the corresponding second geodesic parameter is longitude 181 (displayed as a meridian) of node 101, where the second geodesic intersects the equator 104. Similarly, the second geodesic of node 120 is geodesic 125, and the corresponding second geodesic parameter is longitude 182 (displayed as a meridian) of point 126, where the second geodesic intersects the equator 104. Similarly, the second geodesic of node 130 is geodesic 135, and the corresponding second geodesic parameter is longitude 183 (displayed as a meridian) of point 136, where the second geodesic intersects the equator 104. More generally, the second geodesic parameter is represented as the angle between two line segments lying in the equatorial plane and intersecting at the Earth's center, for example, one line segment passing through a reference position, such as the intersection of the Prime Meridian (also known as the Greenwich Meridian) and the equator (i.e., 0° latitude and 0° longitude), and the other line segment passing through the intersection of the second geodesic and the equator. Other common reference positions may also be used. The geodesic parameters share the same common reference position. In the sense interpreted elsewhere in this document, the first and second geodesics have the same inclination relative to the equator. It should be noted that if a node revolves by following a path following the first geodesic 105 (and, in this example, the corresponding orbit 170), the second geodesic will move according to its rotation about the Earth's north-south axis.
[0057] Therefore, in the embodiments, the first geodesic parameter and the second geodesic parameter respectively represent the angle measured in the equatorial plane from a common reference position (e.g., the prime meridian) to the intersection of the equatorial plane with the first geodesic line passing through the node and the second geodesic line passing through the node.
[0058] In embodiments, the first and second geodesics can be directly below, directly above (in the height direction), or at the node or destination. For example, the embodiments described herein apply to the Earth if it is a perfect sphere; therefore, the intersection of the two geodesics through the node can be a three-dimensional approximation of the physical location of the node or destination. Thus, in embodiments, the first and second geodesics are circular approximations of the physical orbits around the Earth.
[0059] In an embodiment, the first and second geodesics passing through (e.g., in a circular orbit) nodes or destinations have equal orbital inclination angles or (orbital) tilt angles θ relative to the equatorial plane. The tilt angle can be expressed as the angle between the equatorial plane (as a reference plane) and the plane containing the orbit of the relevant network node (satellite). The satellite's first geodesic may actually lie within the satellite's orbit (and represent the satellite's orbit). However, for certain satellite locations, the satellite's second geodesic will only be aligned with the satellite's orbit, for example, as... Figure 2C and Figure 2G As shown. Otherwise, the second geodesic would have the same inclination as the first geodesic, but would rotate about the Earth's vertical axis (e.g., the z-axis, the axis of rotation), as shown. Figure 1A and Figures 2A to 2B , Figures 2D to 2F and Figure 2H As shown. Alternatively, the same inclination angle can also be described as covering the same range of latitudes, since a geodesic passes through a continuum of locations on or above the Earth, each location having a latitude, and thus the northernmost and southernmost latitudes covered are the same for both geodesics.
[0060] In an embodiment, the geodesic parameters of nodes in a network (e.g., satellites) are defined by geodesics on a sphere with the same inclination as the node's orbit.
[0061] In an embodiment, the plane including a first geodesic passing through a node or destination represents or corresponds to the orbital plane of the node or destination. For example, such an orbital plane of a node or destination could be the physical orbital plane of a node or destination orbiting a sphere (e.g., the Earth). For a given node or destination, such an orbital plane and its corresponding orbit could be constant or predefined.
[0062] In some embodiments, the orbital plane of a node or destination may represent the physical orbital plane of the node or destination, as if it were orbiting a sphere (e.g., the Earth). In these embodiments, for example, the node or destination may be stationary for a period of time.
[0063] In some embodiments, the node or final (also referred to as another) destination may be on the Earth's surface. It should be noted that geodetic parameters can be used to specify the location of the node in orbit, on the Earth's surface, or at any other location. The altitude of the node or location is not directly specified by the geodetic parameters, but can be inferred otherwise if necessary. Geodetic parameters indicating the location can be assigned to non-satellite nodes, ground data packet destinations, etc., as follows. A first geodesic can be defined that passes directly through or above the location of the node or destination, and that the first geodesic has the same inclination angle θ as the corresponding satellite constellation to which communication is coupled. Similarly, a second geodesic can be defined that also passes directly through or above the location of the node or destination, and that the second geodesic also has an inclination angle θ. The first and second geodetic parameters are then defined based on the location of the intersection of these two geodesics with the equator.
[0064] In this embodiment, the first geodesic parameter is denoted by α, where α ∈ [0, 2π).
[0065] In an embodiment, the location of a node or destination is further defined by a second geodesic parameter β, for example, the range of the second geodesic parameter β is β ∈ [α – 2π, α + 2π). Choosing a range for the second parameter β allows the entire orbit of the circum-orbiting node to be handled using a constant value of the first parameter α, while considering the node's location in each quadrant above and below the equator. One possible advantage of using this range for the β coordinates is the ability to determine the geodesic parameters of a circum-orbiting node anywhere on the orbit, whether in the Northern or Southern Hemisphere. Another possible advantage is the consistency provided when determining which of the two intersections of each geodesic line with the equator is used to determine the geodesic parameters for a given location on the orbit or the location of a node or destination. Specifying a location using geodesic parameters is not necessarily limited to the location of a node in the orbit. However, the location of a node in a given orbit can be specified using a substantially constant first geodesic parameter and a second geodesic parameter that varies as the node moves through the orbit.
[0066] Figure 1AThe diagram shows the position of a satellite node in its orbit around the Earth. Position 101 represents the node in its orbit 170 at the equator 104. For this position of the node, a first geodesic 105 passing through the node intersects the equator 104 at the same position 101 as the node. For example, position 101 can be assigned a value of a first longitude 181 crossing the equator at position 101. Therefore, position 101 corresponds to the first (geodetic) parameter α that defines the node's position. It should be noted that the first geodesic 105 here coincides with the node's orbit 170. When located at the first position 101, a second geodesic 115 passing through the node also intersects the equator 104 at the same position 101 and can be represented by the same value as the first longitude 181. Therefore, position 101 also corresponds to a second (geodetic) parameter β that further defines the node's position, in this case, the same as the first position of the node and the intersection of the first geodesic 105 with the equator 104.
[0067] As the node moves upward (typically northward) in its orbit 170 to the second position 120, the first geodesic 105 and its corresponding intersection with the equator 104 at position 101 with a first longitude value of 181 remain unchanged. The second geodesic 125, passing through the second node position 120, intersects the equator 104 at point 126, corresponding to the second parameter β representing the second node 120. For example, point 126 can be assigned a second longitude value of 182 that crosses the equator at point 126.
[0068] As the node moves further upward in its orbit 170 to the third position 130, the first geodesic 105 and its corresponding intersection with the equator 104 at position 101 with a first longitude value of 181 remain unchanged. The second geodesic 135, passing through the third node position 130, intersects the equator 104 at point 136, corresponding to the second parameter β representing the third node position 120. For example, point 136 can be assigned a third longitude value of 183, which crosses the equator at point 136.
[0069] Figure 1B A node (e.g., a satellite) is shown at position 131 in its orbit 170, centered at the center 89 of a sphere 88 (e.g., Earth). The node's orbit 170 has a corresponding orbital plane 170a intersecting the equatorial plane 104a, which includes the equator 104 centered at the center of the sphere 88. The node's position 131 in its orbit 170 depends on, and can be partly determined by, its phase or angular position. 150 indicates that the phase or angular position 150 is the angle measured within the orbital plane 170a from the node's equatorial (e.g., starting) position 99 to the node's position 131. The node's position 131 in its orbit 170 also depends on the orbital inclination angle or tilt θ 140, and can be represented by the orbital inclination angle or tilt θ 140, which is the angle between the node's equatorial plane 104a and the orbital plane 170a.
[0070] In embodiments, all orbital runs (e.g., a group) of target devices or nodes (e.g., satellite constellations) or networks of target devices or nodes (e.g., satellite constellations) have the same constant orbital inclination angle or tilt. This inclination angle is a parameter of the network. Orbital inclination angles are typically assigned a range of 0° and 90° (or 0 and π / 2 radians), where an inclination angle of 0° (or 0 radians) corresponds to an orbit lying in the equatorial plane, and an inclination angle of 90° (or π / 2 radians) corresponds to an orbit passing through the North and South Poles. A node network may include multiple (e.g., a group) of nodes following a single orbit with the same orbital inclination angle, while having different corresponding intersections of the orbit with the equatorial plane (e.g., ...). Figure 1B (e.g., the starting equatorial position 99 at different locations). In illustrative examples or Figure 1B In this context, orbits within the equatorial plane 104a (defined by the x-axis 201 and y-axis 202) will have an orbital inclination of 0° (or 0 radians) (not shown), while any orbit including the z-axis 203 will have an orbital inclination of 90° (or π / 2 radians) (not shown). Many different orbits with the same orbital inclination angle can be constructed, corresponding to different versions of the orbital plane 170a, each with the same orbital inclination angle but surrounding... Figure 1B The z-axis rotates differently.
[0071] In this embodiment, the plane including a first geodesic line passing through the node represents the orbital plane of one or more nodes or at least one destination device in the network. The first geodesic line passing through the node represents the orbital plane of the node.
[0072] In one embodiment, the plane including the first geodesic line passing through the node may coincide with the orbital plane of the node.
[0073] In one embodiment, the first geodesic line passing through the node may coincide with the orbital plane of the node.
[0074] In an embodiment, the plane including the first geodesic passing through a node can represent the orbital plane of one or more nodes in a node network. For example, a node network can be a satellite constellation where a group of satellites continuously follows the same orbit; and other groups in the constellation also continuously follow their respective (for the same group) orbits. For such a group of satellites with the same orbit, the first geodesic (and the corresponding first geodesic parameter) is the same for each satellite in the group, while the second geodesic (and the corresponding second and additional geodesic parameters for each satellite in the group) is separate for each satellite in the group at a given time. An example of a constellation where a group of satellites continuously follows the same orbit is the Starlink™ constellation.
[0075] The first geodesic can be altered to reflect different locations, such as, but not necessarily limited to, different satellite orbits or different ground locations. This alteration can involve adjusting the position (e.g., longitude, the angle measured from a reference point along the equator) α where the first geodesic intersects the equator. Therefore, in some embodiments, the parameter pair (α, β) can specify substantially arbitrary geographic or orbital locations. A corresponding finite range of such locations (farthest from the poles) can be specified based on the (fixed) inclination angle θ.
[0076] Figures 2A to 2H The locations of nodes along track 270, with an inclination angle θ of π / 3, are shown in an exemplary embodiment. The corresponding values of the second geodesic parameter β are observed along the z-axis 203 (i.e., the xy-plane view) and along the y-axis 202 (i.e., the xz-plane view). Right-hand rotation is chosen here, with the positive z-axis pointing outwards in the xy-plane view, and the angle measured from a common reference point, here chosen as the positive x-axis 201. In this example, track 270 crosses the equator 204 at x=0. Figures 2A to 2H In the example, the first geodesic 205 passing through the node is shown to coincide with the orbit 270. Because the node in this example follows an orbit that matches the first geodesic, the first geodesic parameter α is constant at π / 2 and represents the intersection point 206a of the first geodesic 205 and the equator 204.
[0077] exist Figure 2A In the diagram, node position 210a is located at the equator 204 (xy plane), representing the starting position of the node moving on its orbit. The corresponding second geodesic parameter β is represented by the intersection point 216a of the second geodesic line 215a (passing through node position 210a) and the equator 204, and in this case, it is the same as the first geodesic parameter α 206a. For illustrative purposes, the second geodesic line 215a can be considered here as the first geodesic line 205 rotated 180 degrees about the z-axis 203 while maintaining a constant inclination angle θ of π / 3. It should be noted that points 206a, 210a, and 216a are located at... Figure 2AThey are located in the same position, but for clarity, they are distinguished here for the sake of the discussion below.
[0078] exist Figure 2B In the diagram, node position 210b has a phase of π / 4. 250b represents the node along 1 / 8 of its orbit. The corresponding second geodesic parameter β is represented by the position (e.g., longitude) of the intersection point 216b of the second geodesic line 215b passing through the node position 210b and the equator 204. Phase Used to describe a node within its orbital plane, from Figure 2A The angular displacement (in radians) starting from the initial position in the diagram.
[0079] exist Figure 2C In the diagram, node position 210c has a phase of π / 2. 250c represents a node orbiting along a quarter of its orbit. The corresponding second geodesic parameter β is represented by the intersection point 216c of the second geodesic 215c passing through the node position 210c and the equator 204. It should be noted that at this point, the two geodesics 205 and 215c completely overlap, thus creating a continuum of their intersection points. In this case, for example, the node position can be determined by taking a limit as the node approaches the equator along its predefined and known (e.g., from satellite constellation geometry) orbit and direction of motion within the orbit.
[0080] exist Figure 2D In the middle, node position 210d has a phase of 3π / 4. 250d represents the node that travels along 3 / 8 of its orbit. The corresponding second geodesic parameter β is represented by the intersection point 216d of the second geodesic line 215d passing through the node position 210d and the equator 204. The node is now moving downwards.
[0081] exist Figure 2E In the diagram, node position 210e has a phase of π. 250e represents the node operating along half of its orbit. The corresponding second geodesic parameter β is represented by the intersection 216e of the second geodesic line 215e passing through the node location 210e and the equator 204. The node is now crossing into the Southern Hemisphere.
[0082] exist Figure 2F In the diagram, node position 210f has a phase of 5π / 4. 250f represents the node of the circular orbit along its 5 / 8 orbit. The corresponding second geodesic parameter β is represented by the intersection point 216f of the second geodesic line 215f passing through the node position 210f and the equator 204.
[0083] exist Figure 2G In the middle, node position 210g has a phase of 3π / 2. 250g represents the node where the orbit is 3 / 4 complete. The corresponding second geodesic parameter β is represented by the intersection point 216g of the second geodesic line 215g passing through the node position 210g and the equator 204.
[0084] exist Figure 2H In the middle, node position 210h has a phase of 7π / 4. 250h represents the node at which it travels 7 / 8 of its orbit. The corresponding second geodesic parameter β is represented by the intersection of the second geodesic line 215h, which passes through the node position 210h, and the equator 204 at point 216h. The node now moves upwards again from its southernmost position, returning to its previous position. Figure 2A The location shown.
[0085] Figure 3 The exemplary embodiment illustrates that for a circular orbital running node moving in an orbit with an inclination angle θ of π / 3, the values 301 of geodetic parameters α 306 and β 316 are used as phase. The function of α302. As the orbital position and phase 302 of the node change, the value of the first geodetic parameter α306 remains constant at π / 10. In this example, the α value corresponds to the angle measured in radians from the reference point or location (here chosen as the intersection of the equator and the prime meridian (i.e., 0° latitude and 0° longitude), as described above. Other orbits with the same inclination but crossing the equator at different points will have different α values.
[0086] The value of the second geodetic parameter β 316 varies with the phase value within the first range of 362, from 0 degrees of phase (by...). Figure 3 The phase increases by 0.636265 radians (indicated by point 361) until the phase reaches approximately 162 degrees (as indicated by point 361). Figure 3 Point 363 in the text indicates this. At this point, the second geodetic parameter β 316 approaches its maximum predetermined value α + 2π within the range of β ∈ [α – 2π, α + 2π) as described elsewhere in this document. When phase 302 approaches 163 degrees (by... Figure 3 When the point 364 indicates, the value of β316 is assumed to be the minimum predetermined value α – 2π within the specified range of β ∈ [α – 2π, α + 2π). As phase 302 increases from 162 degrees and approaches 360 degrees, passing through the second range of phase values 365, the value of β316 increases from its minimum value α – 2π radians (by...). Figure 3 (Point 362 is indicated). The value of the second geodetic parameter β corresponds to the angle measured in radians from the same reference point / location as α, as described above.
[0087] In this embodiment, the second parameter β is defined based on the additional geodesic parameter γ, such that: β = α + 2γ. (1) Therefore, γ defines the half-angle between α and β. One possible benefit of using this definition of β is to improve various aspects of distance metric calculations (e.g., velocity or accuracy) as a function of the phase of nodes or destinations in an orbit, as further described herein. Another possible benefit of using this definition of β is that it contributes to predictability when determining the location or assigned address of nodes or destinations below and above the equator.
[0089] In the embodiment, the phase of the node, location, or destination. It is defined as its angular position measured from the first geodesic parameter in a plane including the first geodesic line. Therefore, α is defined as having a phase of zero. .
[0090] In this embodiment, the first geodetic parameter α is predefined to represent the orbit of the node or destination. The following paragraphs describe how the second geodetic parameter β is determined by calculating γ.
[0091] In an embodiment, γ can be determined using rotation and projection methods, thereby determining β. A transition trajectory, represented as a circle, can be defined in the xy-plane. The transition position Pxy in the transition trajectory can be determined by its phase. Defined and represented in three-dimensional Cartesian space using Euclidean coordinates as follows: .
[0092] For example, by rotating the orbit about the x-axis and multiplying by the rotation matrix Rx(θ), the orbital inclination angle θ can be added to such an instantaneous orbit, as shown below: It can be projected along the z-axis onto the equatorial plane, thus obtaining: .
[0093] The value of the additional geodetic parameter γ is determined here as the angle with the x-axis, as shown below: , (2) For example, the atan2 function can be used to solve equation (2) above to determine the value of γ. As will be readily understood by those skilled in the art, the atan2 function calculates the inverse tangent (arctangent) of a ratio or pair of values, taking into account the signs of the numerator and denominator in the ratio or pair of values.
[0094] Therefore, in the embodiment, the second parameter is based on the angular position (i.e., phase) of the node relative to the first parameter. Furthermore, as it changes, the first parameter α represents the position of the intersection point of the equatorial plane and the first geodesic line passing through the node or destination, and the phase... At this position, it is zero, while for a given orbit of the node, the first parameter is constant. The second parameter is also inherently based on the orbital plane of the node or the inclination angle θ of the orbit.
[0095] In this embodiment, the first geodetic parameter is used. and additional geodetic parameters Calculate the distance metric d, which represents the distance between the first node or destination and the second node or destination. This distance metric can be calculated using the following formula: , (3) , (4) , (5) in, It is the first geodetic parameter of the first node or destination (e.g., candidate device or node). It is the first geodetic parameter of the second node or (e.g., another or final) destination. It is half the difference between the second geodetic parameter and the first geodetic parameter of the first node or destination (e.g., candidate device or node) as previously defined in equation (1), and It is half the difference between the second geodetic parameter and the first geodetic parameter of the second node or (e.g., another or final) destination, as previously defined in equation (1). It should be noted that the distance metric calculation can be performed in various ways, such as by a single step representing the combination of equations (3), (4), and (5) above. The calculation can depend directly on the β parameter (e.g., the second geodetic parameter of the first node (e.g., a candidate device or node)). The second geodetic parameter of the second node or (e.g., another or final destination) (and does not require explicit consideration of the corresponding) parameter.
[0096] In the embodiment, the additional parameters are calculated according to equation (2). ,in, It is the orbital inclination of the first node or destination (e.g., candidate device or node), the second node, or (e.g., another or final) destination, or both. Correspondingly It is the first parameter of the first node or destination (e.g., candidate device or node) relative to the first node or destination (e.g., candidate device or node). The angular position or phase of the location. Additionally, and similar to... Calculate another additional parameter according to equation (2). ,in, It is a second node or (e.g., another or final) destination relative to another first parameter corresponding to the second node or (e.g., another or final) destination. The angular position of the position.
[0097] In this embodiment, the distance metric is an L1 (Manhattan or taxicab) distance metric, as shown in the above case.
[0098] In other embodiments, the distance metric can be other types of distance metrics, such as L2 (Euclidean) distance metrics.
[0099] In the implementation, the distance metric satisfies axioms such as: the distance from a point to itself is zero; the distance between two distinct points is always positive; the distance from point x to point y is the same as the distance from y to x; and the triangle inequality holds.
[0100] Figure 4 The first distance metric 451, representing the distance between exemplary loop running node 1 and loop running node 2, and the second distance metric 452, representing the distance between loop running node 1 and loop running node 3, as determined by equation (5) discussed above, are shown as node phases. The function is 402. The orbital inclination angle θ of each node is π / 3. The first geodesic parameter α1 of node 1 is zero. The first geodesic parameter α2 of node 2 is π / 10. The first geodesic parameter α3 of node 3 is 19π / 10.
[0101] In phase When the degree is 0, the first distance metric 451 between node 1 and node 2 is equal to the second distance metric 452 between node 1 and node 3 (from...). Figure 4 (As indicated by point 461 in the diagram), therefore, nodes 2 and 3 are considered to be equidistant from node 1.
[0102] When the phase of each node As the distance increases from 0 degrees to 90 degrees and each node moves accordingly on its corresponding track, the first distance metric 451 between node 1 and node 2 is greater than the second distance metric 452 between node 1 and node 3 (corresponding to...). Figure 4 (Phase value in the range 462).
[0103] In phase When the angle is 90 degrees, the first distance metric 451 between node 1 and node 2 is again equal to the second distance metric 452 between node 1 and node 3 (by...). Figure 4 (As indicated by point 463 in the diagram), therefore, nodes 2 and 3 are considered to be equidistant from node 1 in this phase.
[0104] When the phase of each node As the distance increases from 90 degrees to 180 degrees and each node moves accordingly on its corresponding orbit, the first distance metric 451 between node 1 and node 2 is less than the second distance metric 452 between node 1 and node 3 (corresponding to...). Figure 4 (Phase values in the range 464).
[0105] In phase When the distance is 180 degrees, the first distance metric 451 between node 1 and node 2 is again equal to the second distance metric 452 between node 1 and node 3 (by...). Figure 4 (As indicated by point 465 in the diagram), therefore, nodes 2 and 3 are considered to be equidistant from node 1 in this phase.
[0106] When the phase of each node As the distance increases from 180 degrees to 270 degrees and each node moves accordingly on its corresponding orbit, the first distance metric 451 between node 1 and node 2 again becomes greater than the second distance metric 452 between node 1 and node 3 (corresponding to...). Figure 4 (Phase value in the range 466).
[0107] In phase When the degree is 270 degrees, the first distance metric 451 between node 1 and node 2 is again equal to the second distance metric 452 between node 1 and node 3 (by...). Figure 4 (As indicated by point 467 in the diagram), therefore, nodes 2 and 3 are considered to be equidistant from node 1 in this phase.
[0108] When the phase of each node As the distance increases from 270 degrees to 360 degrees and each node moves to complete a full cycle on its corresponding orbit, the first distance metric 451 between node 1 and node 2 is again less than the second distance metric 452 between node 1 and node 3 (corresponding to...). Figure 4 (Phase values in the range 468).
[0109] In phase When the distance is 360 degrees, the first distance metric 451 between node 1 and node 2 is again equal to the second distance metric 452 between node 1 and node 3 (from...). Figure 4 (As indicated by point 469 in the diagram), therefore, nodes 2 and 3 are considered to be equidistant from node 1 in this phase. At this point, each node has completed a full circle on its corresponding orbit.
[0110] In addition, regarding Figure 4If node 1 is the final (or another) destination, and the current node must determine whether to forward the data packet to node 2 or node 3 (either of which will subsequently forward the data packet to node 1), then the current node will select node 3 for phase values in the range 462 and 466, and will select node 2 for phase values in the range 464 and 468.
[0111] In embodiments, the node including the destination node or target node can be a satellite-based node with the same orbital inclination, such as the Vaux-Delta constellation or a polar constellation. Another or final destination can also be a satellite-based node, for example, as part of the same constellation. In some embodiments, the other destination can be on the surface (e.g., on Earth).
[0112] In an embodiment, a distance metric can be used to represent the type of cost (to be minimized) associated with forwarding data packets to a node or destination. When such a node or destination is an intermediate destination that further forwards the data packet to another destination, the cost or utility will depend at least in part on the distance (and corresponding distance metric) from such an intermediate node or destination to the other destination. For example, when an intermediate node or destination is farther from another destination, routing the data packet to that intermediate node or destination might be considered less desirable, resulting in higher costs. This metric applies to all cases, regardless of whether the intermediate node or destination can directly deliver the data packet to the other destination (although scenarios can be envisioned where the total path length traversed by the data packet using this "greedy" forwarding approach is not minimized). Similarly, the utility to be maximized could be a decreasing function representing this distance.
[0113] More generally, given a data packet at a first location (e.g., a first node), the cost or utility can be associated with forwarding the data packet to a destination device (e.g., an intermediate node or the final destination) that is directly communicatively coupled to the first location holding the data packet. In some cases, this can be further extended to destination devices indirectly coupled to the first location. However, for simplicity, only direct coupling is considered here. Once these costs or utilities are determined, destination devices associated with relatively low (or minimum) costs or relatively high (or maximum) utilities can be selected, and data packets can be forwarded to the selected destination devices. In dynamic networks (such as orbiting satellite constellations or networks where destination devices move frequently), costs or utilities can be updated as needed. Generally, cost or utility metrics can reflect distance, signal quality, charges, bandwidth limitations, quality of service, or fairness limitations, etc.
[0114] In an embodiment, determining cost or utility includes calculating a distance metric from each candidate node (e.g., within the forwarding range of the first node possessing the data packets) to the other or final destination using the locations of the candidate nodes and the location of another or final destination. The corresponding distance metric is calculated using the respective locations of the candidate nodes and the other or final destination as defined by corresponding other first (geometry) parameters (α2) and other second (geometry) parameters (β2). That is, the other or final destination has a location specified according to another first parameter and another second geometry parameter (or another additional geometry parameter γ2), which are instances of the first (α) and second (β) (or additional γ) geometry parameters described herein, applicable to that other (or final) destination.
[0115] In an embodiment, the location of a candidate node and another or final destination used for distance metric calculation can be defined by a corresponding first (geodetic) parameter (α) and a corresponding additional (geodetic) parameter (γ).
[0116] The node for forwarding data packets can be selected from these candidate nodes, at least in part, based on a determined cost or utility. The data packets can then be forwarded to the selected candidate node.
[0117] Routing systems typically consist of different subsystems. Two subsystems that require explanation are referred to in this paper as the control plane and the forwarding plane. The forwarding plane is sometimes also called the user plane or the data plane. The control plane is responsible for monitoring the network topology and establishing routes. These routes are compiled into forwarding tables, which actually use these routes to forward data packets. Forwarding tables are typically implemented in the hardware of high-performance systems, but can also be implemented in the software of low-performance systems (e.g., Linux includes an IP forwarding plane in its kernel).
[0118] In this embodiment, the forwarding plane uses a forwarding table configured with a list of data entries (tuples), each data entry including a destination address and a corresponding interface. The corresponding interface is used to forward data packets to a given destination address. For example, an interface may correspond to a specific optical or wireless communication link. For example, an interface may be a free-space optical link between nodes. Different interfaces may map to different communication links. An interface may correspond to a virtual interface, which in turn may correspond to one or more physical interfaces. The destination address may include a location defined according to the geodesic parameters described herein and potentially other routing information. The destination address may indicate a physical location rather than a network-based location (e.g., a numeric identifier in a list of contiguous subnets). For example, the physical location may be included in the address in a predetermined format representing first and second (or additional) geodesic parameters of the location. That is, the header field may include values that can be mapped to, for example, a physical location on a sphere according to predetermined rules.
[0119] In an embodiment, the physical location included in the destination address of a data packet can be converted into geodetic coordinates for cost or utility (e.g., distance metric) calculations, data packet routing and forwarding, or both.
[0120] The physical location of a destination device or other destination and its corresponding geodetic coordinates can be fixed or variable. For example, a satellite in low Earth orbit may have a variable position relative to a coordinate system (e.g., but not limited to latitude / longitude coordinates). The satellite's physical location can be updated, for example, based on ephemeris or almanac data, or through reports or observations, or a combination thereof.
[0121] In an embodiment, the address in the data packet header or node or destination address includes a first geodetic parameter α.
[0122] In an embodiment, the address in the data packet header or node or destination address may include, for example, a second geodetic parameter β in addition to the first geodetic parameter α, an additional geodetic parameter γ, or both.
[0123] When the forwarding plane is operational, it receives a stream of data packets to be forwarded (e.g., at a rate of 108 packets per second). For each data packet, the forwarding plane examines a list of destination addresses, selects the set of addresses with the lowest cost or highest utility based on metrics such as distance, and then chooses an address to forward the data packet to. The interface associated with that address is used to forward the data packets.
[0124] Accordingly, refer to Figure 5This invention provides a method 500 for routing data packets in a network. The method can be implemented in a forwarding plane. The method includes: for each of a plurality of destination devices capable of further processing data packets for routing to another destination, determining (510) a corresponding cost or utility associated with forwarding the data packet to one of the destination devices. The method further includes: selecting (520) one of the destination devices based at least in part on the determined cost or utility. For example, the destination device with the lowest cost (or highest utility) can be selected. The method further includes forwarding (530) the data packet to the selected destination device.
[0125] It should be noted that cost or utility can be the cost or utility associated with forwarding data packets from one of a plurality of destination devices (or nodes) to a potential final (referred to as another) destination or node. Cost or utility can be based on a distance metric representing the distance from one of the plurality of destination devices to another destination. As described elsewhere in this document, the distance metric is determined using geodetic parameters.
[0126] In various embodiments, a comparator tree is used to select a specific destination device from a plurality of destination devices. A comparator tree typically comprises multiple levels, each level having one or more comparators that compare costs or utilities and output an indication of the lower cost or the higher utility among the comparison costs. It should be noted that a comparator tree can use approximately n levels of comparators to determine the minimum (or maximum) value among n values.
[0127] Figure 6AThis is a block diagram illustrating forwarding plane operation provided by an embodiment of the present invention. Forwarding table 610 includes a set of destination device addresses and corresponding interfaces that can be used to forward data packets to these destination devices or nodes. Although eight destination device addresses are shown, more or fewer addresses may exist. A cost or utility determiner 620 is provided and configured for each destination device or node address to determine the corresponding cost or utility associated with forwarding data packets to that destination device or node. As described above, the cost may correspond to or otherwise be based on a distance metric from the destination device or node to another (e.g., final) destination device. If necessary, the address 622 of another destination device may be provided, and if necessary, this address may be converted to include geodesic parameters. Cost or utility can be determined based on the address (which may indicate a physical location). If necessary, determining cost or utility may include converting to an address that includes geodesic parameters. Destination selector 630 receives the destination device address and cost / utility, and selects a destination device based on cost or utility, for example, selecting the destination device with the lowest cost or highest utility. Once a destination device is selected, the data packet forwarder 650 receives instructions from the destination device (and associated interface) and forwards the data packets to that destination device.
[0128] In one embodiment, an apparatus for forwarding data packets in a network includes a cost determiner that, for each node or device capable of further processing the data packets to route them to another destination (e.g., ultimately, the data packet header), determines a corresponding cost or utility associated with forwarding the data packets to such node or device. The cost or utility is determined, at least in part, by calculating a distance metric between the node or device and the other destination using the location of the node or device and the location of the other destination.
[0129] In an embodiment, another (e.g., final) destination address and destination device or node address include geodetic parameters (i.e., a corresponding first geodetic parameter and a second and / or additional geodetic parameters).
[0130] In one embodiment, the apparatus includes a destination selector for receiving a determined cost or utility from a cost determiner and selecting a node or device based at least in part on such determined cost or utility.
[0131] In one embodiment, the apparatus includes a data packet forwarder for receiving an instruction from a destination selector for a selected node or device and forwarding data packets to the selected node or device.
[0132] Figure 6B It shows Figure 6AA specific variant of the embodiment, wherein the cost or utility determiner 620 is replaced by a distance determiner 625. The distance determiner receives an indication 622 of another destination address and uses corresponding first and second geodesic parameters to determine the distance metric from each address in the forwarding table to the other destination address.
[0133] Further information Figure 6B , Figure 6A The destination selector 630 is replaced by a comparator tree 635. In one embodiment, the comparator tree includes a plurality of two-input single-output comparators arranged together and cooperating to select the destination address with the lowest determination cost, which at least partially includes a minimum distance metric. This is achieved by associating the output of each comparator with the destination address with the lowest cost between the two destination addresses input to that comparator. In another embodiment, the comparators can be used to select the destination address with the highest determination utility. This is achieved by associating the output of each comparator with the destination address with the highest utility between the two destination addresses input to that comparator. It should be noted that the distance determiner can be used with other types of destination selectors, and similarly, the comparator tree can be used with other types of cost determiners.
[0134] It should be noted that although the comparator tree is shown as comparing and passing values (e.g., cost or utility), auxiliary information (e.g., network address or pointer to a network address) can be appended to these values and passed along with them. That is, auxiliary information follows the values through the comparator tree network but does not affect the result of the comparator operation, either because the auxiliary information is ignored by the comparator or because the weight of the auxiliary information in the overall value does not affect the result of the comparator operation.
[0135] Embodiments of the present invention can be implemented using electronic hardware, software, or a combination thereof. In some embodiments, the forwarding plane is implemented by one or more computer processors executing program instructions stored in memory. In some embodiments, the forwarding plane is partially or entirely implemented in hardware, for example using one or more field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs) to rapidly perform the processing operations required to implement the forwarding plane operation. Forwarding plane operations may include: determining the cost or utility associated with forwarding data packets to a destination device, determining (e.g., using a comparator tree) a destination device with the lowest cost or highest efficiency, and forwarding the data packets to the destination device. The determination of the destination device may be performed using sorting and selection hardware, which may include, for example, the combination of the above. Figure 6A and Figure 6B The comparator is described. The hardware or software may generally have the architecture described above, for example, combining these same diagrams. The computation may be performed by a computer processor, or equivalent analog, digital, or mixed-signal circuitry, or using one or more lookup tables, or a combination thereof.
[0136] Embodiments of the present invention, such as those implemented in hardware rather than in a computer processor, can be implemented using a highly parallel forwarding plane architecture. For example, the cost or utility of multiple destinations can be determined in parallel, and multiple comparator operations at each level of the comparator tree can be executed in parallel. This facilitates fast operation of the forwarding plane. Embodiments of the present invention combine a distance metric function with a comparator tree implementation to perform forwarding plane operations at line speed.
[0137] Figure 7 An apparatus 700 for routing data packets in a network, according to an embodiment of the present invention, is shown. The apparatus is located at a node 710 in the network that holds the data packets, such as, but not necessarily limited to, a satellite node. The apparatus includes a network interface 720 and processing electronics 730. The processing electronics may include a computer processor that executes program instructions stored in a memory, or other electronic devices such as digital circuits, including FPGAs and ASICs. The network interface may include an optical communication interface or a radio communication interface, such as a transmitter and receiver. The apparatus may include several functional components, each implemented partially or entirely using the underlying network interface 720 and processing electronics 730.
[0138] The apparatus includes a network tracking component 740 for maintaining current information about a finite portion of the network directly coupled to node 710. This information may include physical location information, including corresponding first and second (or additional) geodesic parameters for nodes or destination devices within the finite portion of the network, and routing information for that finite portion of the network. This information can be maintained by receiving and processing control plane messages representing current network conditions, or by predicting changes in network conditions or combinations thereof based on an internal model. The apparatus also includes a target node or destination device selection component 745. This component selects a target node or destination device from the finite portion of the network whose distance metric relative to the location of a data packet's destination satisfies a given objective. This may involve selecting the target node or destination device as the node or destination device closest to the data packet's destination location (i.e., with the smallest distance metric), or selecting the target location or destination device from k nodes or destination devices closest to the data packet's destination location.
[0139] The apparatus may include a distance calculation component 747, which may be part of or a separate component coupled to a target node or destination device selection component 745. The distance calculation component is used to determine a distance metric between a pair of network nodes or destination devices, or a distance metric between a network node or destination device and the destination location of a data packet (also referred to as another destination).
[0140] The apparatus further includes a data packet routing component 750 for determining, based on routing information, the next node or destination device belonging to a finite portion of the network and located on an available network path between the node or destination device and the target node or destination device. The next node or destination device can be determined based on a routing table that selects the next node or destination device based on the target node or destination device. The routing table can be maintained by a network tracing component 740 based on current network information. For this purpose, for example, the network tracing component can maintain the routing table according to a shortest path first algorithm that determines the shortest path to a potential target node or destination device (e.g., represented by a minimum distance metric) and associates these paths with the appropriate next node or destination device on the corresponding shortest path to the target node or destination device.
[0141] The apparatus also includes a data packet forwarding component 755 for forwarding data packets to the next node using the network interface 720.
[0142] Figure 8 Schematic diagrams of electronic devices 800 according to various embodiments of the present invention are shown. Electronic device 800 can perform any or all of the methods and features described herein, whether explicitly or implicitly. For example, a computer equipped with network capabilities can be configured as electronic device 800. Electronic device 800 can be used to implement... Figure 7 Device 800, etc.
[0143] As shown in the figure, electronic device 800 may include a processor 810 (e.g., a central processing unit (CPU) or a dedicated processor such as a graphics processing unit (GPU) or other such processor units), memory 820, a network interface 850, and a bidirectional bus 870 for communicatively coupling the various components of electronic device 800 together. Electronic device 800 may also optionally include non-transient mass storage 830, I / O interface 840, and transceiver 860. According to some embodiments, any or all of the elements shown, or only a subset of these elements, may be used. Furthermore, electronic device 800 may contain multiple instances of certain elements, such as multiple processors, memories, or transceivers. Additionally, elements of the hardware device may be directly coupled to other elements without the bidirectional bus 870. Additionally or alternatively, in addition to processors and memory, other electronic devices such as integrated circuits may be employed to perform the required logical operations.
[0144] Memory 820 may include any type of tangible non-transitory memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM), or combinations thereof. Mass storage unit 830 may include any type of tangible non-transitory storage device, such as a solid-state drive, hard disk drive, disk drive, optical disk drive, USB flash drive, or any computer program product for storing data and machine-executable program code. According to some embodiments, memory 820 or mass storage unit 830 may record thereon statements and instructions executable by processor 810 for performing any of the above-described methods.
[0145] Network interface 850 may include at least one of a wired network interface and a wireless network interface. Network interface 850 may include a wired network interface 852 connected to a communication network, or a wireless access network interface 851 connected to a communication network or other network elements via a wireless link. Network interface 850 enables electronic device 800 to communicate with remote entities such as entities connected to a communication network.
[0146] It should be understood that while specific embodiments of the technology have been described herein for illustrative purposes, various modifications can be made without departing from the scope of the technology. Therefore, the specification and drawings are to be considered merely as illustrative of the invention as defined by the appended claims, and are intended to cover any and all modifications, variations, combinations, or equivalents falling within the scope of the invention. Specifically, computer program products or program elements for storing machine-readable signals, or program memories or storage devices such as magnetic wires, optical fibers, magnetic tapes, or disks, are provided within the scope of this technology for controlling the operation of a computer according to the method of this technology and / or constructing some or all of its components according to the system of this technology.
[0147] The actions associated with the method described herein can be implemented as coded instructions in a computer program product. In other words, a computer program product is a computer-readable medium on which software code is recorded, which executes the method when the computer program product is loaded into memory and executed on the microprocessor of a wireless communication device.
[0148] Furthermore, each operation of this method can be performed on any computing device such as a personal computer, server, or PDA, based on one or more program units, modules, or objects, or a portion thereof, generated from any programming language such as C++ or Java. Additionally, each operation, or the file or object implementing each operation, can be performed by dedicated hardware or a circuit module designed for this purpose.
[0149] Based on the description of the above embodiments, the present invention can be implemented using only hardware, or using software and necessary general-purpose hardware platforms. Based on this understanding, the technical solution of the present invention can be embodied in the form of a software product. The software product can be stored in a non-volatile or non-transient storage medium, such as a compact disk read-only memory (CD-ROM), a USB flash drive, or a removable hard drive. The software product may include a number of instructions that enable a computer device (personal computer, server, or network device) to perform the methods provided in the embodiments of the present invention. For example, such execution may correspond to the simulation of the logical operations described herein. The software product may additionally or alternatively include multiple instructions that enable a computer device to perform operations for configuring or programming a digital logic device according to embodiments of the present invention.
[0150] Unless expressly specified otherwise, the word "a" or "an" may mean "one," but also has the same meaning as "one or more," "at least one," and "one or more." Similarly, unless expressly specified otherwise, the word "another" may mean at least a second or more.
[0151] The terms “coupled” or “connected” as used herein can have several different meanings depending on the context in which they are used. For example, the terms “coupled” or “connected” as used herein can indicate that two elements or devices are directly connected to each other or connected to each other via electronic components through one or more intermediate elements or devices, depending on the specific context. The term “and / or” as used herein, when used in conjunction with a list of items, refers to any one or more items included in that list.
[0152] Although combinations of features are shown in the illustrated embodiments, not all features need to be combined to achieve the benefits of the various embodiments of the invention. In other words, a system or method designed according to one embodiment of the invention does not necessarily include all features or portions shown schematically in any of the drawings. Furthermore, selected features of one exemplary embodiment may be combined with selected features of other exemplary embodiments.
[0153] Although the invention has been described with reference to specific features and embodiments thereof, it will be apparent that various modifications and combinations thereof can be made without departing from the invention. Therefore, the specification and drawings are to be regarded merely as illustrative of the invention as defined by the appended claims and are intended to cover any and all modifications, variations, combinations, or equivalents falling within the scope of the invention.
Claims
1. A method for routing data packets in a network, characterized by, The method includes: For each of a plurality of destination devices capable of further processing the data packet to route it to another destination, determine the corresponding cost or utility associated with forwarding the data packet to the one of the plurality of destination devices. The one of the plurality of destination devices has a location defined by the following: First parameter , indicating the location of the intersection of the equatorial plane and the first geodesic line passing through one of the plurality of destination devices; Second parameter This indicates the location of the intersection point between the equatorial plane and the second geodesic line passing through one of the plurality of destination devices. The other destination has a location. Determining the cost or utility includes calculating a distance metric from the one destination device to the other destination using the location of the one destination device and the location of the other destination. One of the plurality of destination devices is selected based at least in part on the determined cost or utility. The data packets are forwarded to the selected destination device among the plurality of destination devices.
2. The method according to claim 1, characterized in that, The location of the other destination is defined by the following: Another first parameter , represents the intersection of the equatorial plane and another first geodesic line passing through the other destination. Another second parameter , representing the intersection of the equatorial plane with another second geodesic line passing through the other destination.
3. The method according to claim 1 or 2, characterized in that, Selecting one of the plurality of destination devices includes selecting a specific destination device among the plurality of destination devices that has the lowest cost or the highest efficiency.
4. The method according to any one of claims 1 to 3, characterized in that, Selecting one of the plurality of destination devices includes using a comparator tree having multiple levels, each level having one or more comparators for comparing the costs or utilities and outputting an indication of the lower of the compared costs or the higher of the compared utilities.
5. The method according to any one of claims 1 to 4, characterized in that, At least one of the following is a satellite-based network node: the plurality of destination devices; the other destination.
6. The method according to any one of claims 1 to 5, characterized in that, The plane including the first geodesic line passing through one or more of the plurality of destination devices represents the orbital plane of at least one of the plurality of destination devices.
7. The method according to any one of claims 1 to 6, characterized in that, The second parameter Based on the angular position of one of the plurality of destination devices The angular position Relative to the first parameter The location.
8. The method according to claim 6, characterized in that, The second parameter Based on the inclination angle of the orbital plane of at least one of the multiple destination devices. .
9. The method according to any one of claims 1 to 8, characterized in that, The plurality of destination devices belong to the network, and each of the plurality of destination devices follows an orbital inclination angle. The corresponding orbit.
10. The method according to claim 2, characterized in that, The distance metric It is calculated according to the following formula: in, It is the first parameter. It is the other first parameter mentioned above. These are additional parameters, defined such that: in, It is the second parameter. It is another additional parameter, which is defined such that: in, This is the other second parameter.
11. The method according to claim 10, characterized in that, The additional parameters It is calculated according to the following formula: in, It is the orbital inclination angle of one or both of the multiple destination devices and the other destination. The destination device among the plurality of destination devices is relative to the one corresponding to the first parameter. The angular position of the position; Among them, the other additional parameter It is calculated according to the following formula: in, The other destination is relative to the other first parameter. The angular position of the position.
12. The method according to any one of claims 1 to 11, characterized in that, The first geodesic line and the second geodesic line intersect at the following locations: directly below one of the plurality of destination devices; directly above one of the plurality of destination devices; At the one of the plurality of destination devices.
13. The method according to any one of claims 1 to 12, characterized in that, Each parameter represents an angle, which is measured on the equatorial plane from a common reference position to each corresponding intersection of the equatorial plane with the corresponding geodesic line passing through one of the plurality of destination devices.
14. An apparatus for forwarding data packets in a network, characterized in that, The device includes: A cost determiner is configured to: for each of a plurality of destination devices capable of further processing the data packet for routing to another destination, determine the corresponding cost or utility associated with forwarding the data packet to one of the plurality of destination devices. The one of the plurality of destination devices has a location defined by the following: The first parameter represents the position of the intersection of the equatorial plane and the first geodesic line passing through one of the plurality of destination devices; The second parameter represents the position of the intersection point of the equatorial plane and the second geodesic line passing through one of the plurality of destination devices. The other destination has a location. The cost or utility is determined, at least in part, by calculating a distance metric from the one destination device to the other destination using the location of the one destination device and the location of the other destination. A destination selector is configured to receive the determined cost or utility from the cost determiner and select one of the plurality of destination devices based at least in part on the determined cost or utility. A data packet forwarder is configured to receive an indication of a selected destination device from the plurality of destination devices from the destination selector, and forward the data packet to the selected destination device from the plurality of destination devices.
15. The apparatus according to claim 14, characterized in that, The location of the other destination is defined by the following: Another first parameter represents the location of the intersection of the equatorial plane and another first geodesic line passing through the other destination. Another second parameter indicates the location of the intersection of the equatorial plane and another second geodesic line passing through the other destination.
16. The apparatus according to claim 15, characterized in that, The distance metric It is calculated according to the following formula: in, It is the first parameter. It is the other first parameter mentioned above. These are additional parameters, defined such that: in, It is the second parameter. It is another additional parameter, which is defined such that: in, This is the other second parameter.
17. The apparatus according to claim 16, characterized in that, The additional parameters It is calculated according to the following formula: in, It is the orbital inclination angle of one or both of the multiple destination devices and the other destination. The destination device among the plurality of destination devices is relative to the one corresponding to the first parameter. The angular position of the position; Among them, the other additional parameter It is calculated according to the following formula: in, The other destination is relative to the other first parameter. The angular position of the position.
18. The apparatus according to any one of claims 14 to 17, characterized in that, One or both of the cost determiner and the destination selector are implemented using a processor operatively coupled to a memory that stores program instructions that, when executed by the processor, cause the processor to implement one or both of the cost determiner and the destination selector.
19. The apparatus according to any one of claims 14 to 18, characterized in that, One or both of the cost determiner and the destination selector are implemented using dedicated data processing hardware.
20. A method for assigning addresses to nodes in a network, characterized in that, The method includes: Determine a first parameter, which represents the position of the intersection of the equatorial plane and a first geodesic line passing through the node; Determine a second parameter, which represents the position of the intersection of the equatorial plane and a second geodesic line passing through the node; The address is assigned to include the first parameter and the second parameter.
Citation Information
Patent Citations
Packet forwarding based on geometric location
US20210194808A1