NDN-based satellite network coding caching method

By using coding operation and satellite network clustering technology in the NDN cache, the transmission correlation problems caused by content cutting in the traditional NDN cache have been solved, and high -efficiency content distribution and simplified satellite network management have been achieved.

WO2025020230A1PCT designated stage expired Publication Date: 2025-01-30DALIAN UNIV
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/112500
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-25
Filing Date
2023-08-11
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

When content splitting occurs in traditional NDN cache, the transmission correlation problem will occur. The user must obtain the data blocks associated with the requested file block in order to recover the source data.

Method used

Use the encoding operation to remove the transmission correlation of data, and through the NDN -based satellite network coding cache method, cluster according to the geographical location of the LEO satellite, calculate the number of encoding packets according to the content request probability, optimize the positioning of the encoding package position, and pass the pass through the position of the encoding package. A variety of antqurontaneous algorithms are required to set the problem of decoding packages.

Benefits of technology

Realized efficient content distribution, reducing the return of the return on the process of return to the process, simplified satellite network management, and reduced users to develop the link load under the content of multiple satellite nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023112500_30012025_PF_FP_ABST
    Figure CN2023112500_30012025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of satellite network caching. Disclosed is an NDN-based satellite network coding caching method. Aiming at the problem that transmission correlation is generated when content is segmented by traditional NDN caching, that is, a user has to acquire data blocks contextually associated with a request file block to recover source data, the present invention uses a coding operation to remove transmission correlation of data, in order to realize efficient content distribution, uses minimization of backhaul link load and content acquisition time delay as an optimization target for placing satellite node coded packets, uses a multi-population ant colony algorithm to solve an optimization problem and achieves quick retrieval of content, and designs a cooperative issuing mechanism of a cluster, thus allowing the user to reduce satellite link load for content issuing under coverage of a plurality of satellite nodes whilst simplifying satellite network management.
Need to check novelty before this filing date? Find Prior Art

Description

A satellite network coding caching method based on NDN Technical Field

[0001] The present invention relates to the technical field of satellite network caching, and in particular to a satellite network coding caching method based on NDN. Background Art

[0002] With the advent of 6G technology, satellite networks, as a key component, have become a research hotspot. Satellite communication systems have become an auxiliary and extension of terrestrial communication networks. They not only address communication challenges in areas with underdeveloped terrestrial networks, but also enhance user experience across various network application scenarios. In the field of satellite communications, the continuous advancement of satellite technology has made it possible to deploy caches on low-orbit satellite nodes.

[0003] In the satellite Internet era, user needs have gradually shifted from simple data communication to large-scale content acquisition and distribution. At the same time, the current content distribution method in the network has changed from a content provider-led approach to a content requester-driven approach. The traditional TCP / IP-based communication model has gradually become inadequate. Therefore, the NDN concept is introduced into the satellite network to redesign the communication model of the satellite network to better meet the business needs of Internet users.

[0004] Satellite network cache uses an in-network cache based on the NDN architecture, but traditional NDN cache will cause transmission correlation problems when splitting content, that is, users must obtain the data blocks related to the requested file block before they can restore the source data.

[0005] Summary of the Invention

[0006] The present invention provides a satellite network coding caching method based on NDN, which solves the problem of transmission correlation caused by traditional NDN caching when slicing content, that is, the user must obtain the data blocks related to the requested file block before restoring the source data.

[0007] The present invention provides the following technical solutions: a satellite network coding caching method based on NDN. Based on the traditional NDN caching method of segmenting content files, coding operations are used to remove data transmission correlation. Satellites are clustered according to their geographical locations to simplify satellite network management and enable users to reduce satellite downlink consumption when multiple satellite nodes are covered. Different numbers of coding packets are then placed on satellite nodes based on content popularity and with the optimization goal of minimizing return link load and link content acquisition latency. The optimization problem is solved using a multi-swarm ant colony algorithm. Finally, an efficient content retrieval and collaborative delivery mechanism is implemented.

[0008] A satellite network coding caching method based on NDN includes the following steps:

[0009] S1: clustering the LEO satellites according to their geographical locations to generate multiple LEO satellite clusters;

[0010] S2: Calculate the placement quantity of each content coding package according to the content request probability;

[0011] S3: Positioning the encoded packets based on the backhaul link load and content acquisition latency as optimization targets;

[0012] S4: Solve the satellite code packet placement problem based on a multi-swarm ant colony algorithm.

[0013] Preferably, the cluster head of the satellite cluster is selected mainly based on the connectivity of the nodes, and the steps for generating the satellite cluster are as follows:

[0014] S1.1 In the initial stage, the node calculates its degree according to the formula i And by periodically broadcasting hello packets to interact with neighboring nodes, obtain the degree of connection of neighboring nodes j and the distance d between nodes ij , add the above information to the node’s neighbor list, which is sorted in ascending order of distance between nodes;

[0015] S1.2 Each node compares its connectivity with its neighboring nodes. If it finds that its connectivity is the largest among its one-hop neighbors and is a non-clustered node, it becomes the cluster head node and broadcasts the clustering message.

[0016] S1.3 All nodes listen for messages. If a node is not a cluster head and receives a clustering message, it sends a join request to the cluster head node with the highest connectivity. The cluster head node selects nodes from the neighbor list from top to bottom to join the cluster. The node that successfully joins the cluster broadcasts a join message. If all neighbor nodes with a higher connectivity than the node have broadcast a join message, the node becomes the cluster head node and broadcasts a clustering message.

[0017] S1.4 The above process is iterated multiple times until all nodes are classified into the cluster structure. When a node enters a cluster, the cluster head node of the cluster will randomly assign a node ID to the node.

[0018] Preferably, the calculation formula for the node connectivity is: Where i represents the i-th node; the distance between the nodes is calculated as where θ is the geocentric angle between satellites, and

[0019] Preferably, the S2 is specifically:

[0020] S2.1 Initialize the number of data packets k and the probability of content request Number of contents N;

[0021] S2.2 Calculate the number of coded packets of each content from the first content to the Nth content;

[0022] S2.3 Adjust the number of coded packets based on the above request probability matching number of coded packets. If The number of encoding packages of this content Otherwise, the number of encoding packages of the content

[0023] S2.4 Calculate the number of coded packets for each content i ;

[0024] Among them, O i Represents the number of coding blocks of the i-th content, p i represents the probability of requesting the content, C is the storage space size of the satellite node, m max is the maximum content size.

[0025] Preferably, the S3 is specifically:

[0026] The placement of the number of satellite code packets is expressed as in represents the number of coded packets of the i-th file stored on the t-th satellite of the S-th cluster;

[0027] S3.1 Set minimizing the backhaul link load as one of the optimization goals

[0028] S3.2 sets minimizing content acquisition latency as the second optimization goal Where sgn is a step function. When the function value is 1, it means that the required coding block can be obtained in a satellite cluster. Assuming that the number of hops in a cluster is H, when When the function value is 0, it means that the coding block needs to be obtained from other clusters or content servers. Assume that the number of hops at this time is R, H<R, and t represents the transmission delay of one hop of the inter-satellite link;

[0029] S3.3 One of the constraints is that the storage capacity of the content must not exceed the capacity of the satellite node.

[0030] S3.4 sets the second constraint that the number of code packets of a certain content on the satellite is a positive integer from 0 to k.

[0031] S3.5 sets the third constraint that the number of code packets stored on all satellite nodes must not exceed the number of code packets calculated for a certain content.

[0032] S3.6 arranges the content in descending order of popularity, starting with the most popular content. It calculates the number of encoding packets for each node with the goal of minimizing the backhaul link load and content acquisition latency, while satisfying cache capacity constraints.

[0033] Preferably, the multi-swarm ant colony algorithm is used to solve the satellite code packet placement problem, specifically including:

[0034] S4.1 Calculate the number of ant q from satellite node w at time t st Next The number of coding blocks transferred from the node to the satellite node w sr Next The probability of coding block number nodes

[0035] S4.2 is calculated as the time from ant t to satellite node w st Next The number of coding blocks transferred from the node to the satellite node w sr Next The expected number of nodes in the coding block

[0036] S4.3 Calculate the pheromone increase under the two optimization objectives of backhaul link load and content acquisition delay

[0037] S4.4 Calculate the local pheromone update amount on the path

[0038] S4.5 After each population completes an independent search, the searched solutions are sorted in ascending order according to the population's objective function;

[0039] S4.6 If this solution is better than the worst solution found by another population and is not in the Pareto solution set, add this solution to the Pareto solution set and use Update pheromones on the path;

[0040] S4.7 If this solution is worse than the worst solution found by another population or this solution is already in the Pareto solution, only the pheromone on the path is updated.

[0041] S4.8 outputs the Pareto solution set and obtains the solution variables

[0042] Preferably, the ant transfer probability The calculation formula is:

[0043] in is the pheromone concentration on the link at time t; is the heuristic degree of the link at time t; α and β represent the importance of pheromone and heuristic function factors respectively; allowed q is ant q at satellite node w sr The number of coding block nodes that can be accessed below;

[0044] The desired degree of ant transfer The calculation formula is as follows:

[0045] The amount of pheromone updates on the path The calculation formula is as follows:

[0046] in and They are the function values ​​of the two targets after the current search is completed, U min and T min are the optimal values ​​of the functions of the two targets currently found, and Q is the total amount of pheromones an ant uses to find its way.

[0047] Compared with the prior art, the present invention has the following beneficial effects:

[0048] 1. This NDN-based satellite network coding caching method uses coding operations to remove data transmission dependencies. To achieve efficient content distribution, it places coding packets on satellite nodes with the optimization goal of minimizing backhaul link load and content acquisition latency. It solves the optimization problem using a multi-swarm ant colony algorithm, enabling rapid content retrieval and designing a cluster collaborative delivery mechanism. This simplifies satellite network management and enables users to reduce the satellite link load for content delivery when multiple satellite nodes are covered.

[0049] 2. This NDN-based satellite network coding caching method clusters LEO satellites according to their geographic locations to generate multiple LEO satellite clusters. It then calculates the number of content coding packets to be placed based on the content request probability. It then optimizes the placement of coding packets based on the backhaul link load and content acquisition latency. Finally, it solves the satellite coding packet placement problem using a multi-swarm ant colony algorithm. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] FIG1 is a schematic diagram of the present invention;

[0051] FIG2 is a diagram showing the structure of a cluster head node cache table according to the present invention;

[0052] FIG3 is a tree structure diagram of a naming dictionary according to the present invention;

[0053] FIG4 is a diagram showing the structure of an original interest packet and an encoded interest packet according to the present invention;

[0054] FIG5 is a flowchart of the delivery of a coding packet according to the present invention;

[0055] FIG6 is a distribution diagram of the Pareto solution of the present invention;

[0056] FIG7 is a graph showing the relationship between the average content acquisition delay and the number of iterations according to the present invention;

[0057] FIG8 is a content acquisition delay diagram for different numbers of user access satellite nodes according to the present invention;

[0058] FIG9 is a backhaul link load diagram of the present invention under different numbers of user access satellite nodes;

[0059] FIG10 is a comparison chart of average cache hit rates of different cache strategies of the present invention. DETAILED DESCRIPTION

[0060] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0061] The present invention aims to provide an NDN-based satellite network coding caching method that enables efficient content distribution. To further clarify the above-mentioned objectives, features, and advantages of the present invention, the present invention is described in further detail below with reference to the accompanying drawings and specific embodiments.

[0062] This invention is based on the SDN and NDN satellite network architecture shown in Figure 1. It is divided into the GEO layer, the LEO layer, and the ground layer. The constellation of three GEO satellites serves as the SDN control layer, responsible for collecting LEO satellite status and calculating cache placement. The LEO satellites are equipped with NDN routers to implement in-network caching and content forwarding. The ground layer consists of ground stations and content service providers.

[0063] This example provides an NDN-based satellite network coding caching method, which includes the following steps:

[0064] S1: clustering the LEO satellites according to their geographical locations to generate multiple LEO satellite clusters;

[0065] In order to simplify the management of satellite networks and realize the collaborative delivery mechanism of satellite clusters, this paper will cluster the satellites according to their geographical locations to generate multiple LEO satellite clusters. The selection of cluster heads mainly considers the connectivity of the nodes.

[0066] The satellite network topology can be viewed as an undirected graph G = (V, E), where V is the set of nodes in the network and E is the set of links in the network. If there exists a link {i, j} ∈ E, then nodes i and j are considered to have a bidirectional link and can communicate with each other.

[0067] Since the motion of satellite nodes is predictable and periodic, the satellite operation cycle can be discretized into N sufficiently small time slices, and it is assumed that the topology of the satellite network does not change in each time slice.

[0068] The required definitions are:

[0069] Definition 1: Node connectivity degree i : Represents the sum of the degrees connecting the i-th node with other nodes.

[0070] The calculation formula is as follows:

[0071] Definition 2: Geocentric angle θ: represents the geocentric angle between two satellite nodes.

[0072] The calculation formula is as follows:

[0073] Definition 3: Node distance d ij : Indicates the distance between two satellite nodes.

[0074] The calculation formula is as follows:

[0075] S1.1 In the initial stage, the node calculates its degree according to the formula i And by periodically broadcasting hello packets to interact with neighboring nodes, obtain the degree of connection of neighboring nodes j and the distance d between nodes ij , add the above information to the node’s neighbor list, which is sorted in ascending order of the distance between nodes.

[0076] S1.2 Each node compares its connectivity with its neighboring nodes. If it finds that its own connectivity is the largest among its one-hop neighbors and is a non-clustered node, it becomes the cluster head node and broadcasts the clustering message.

[0077] S1.3 All nodes listen to messages. If a node is not a cluster head and receives a clustering message, it sends a joining request to the cluster head node with the largest connectivity. The cluster head node selects nodes from top to bottom based on the neighbor list nodes to join the cluster. The node that successfully joins the cluster broadcasts the joining message. If all the neighbor nodes with a greater connectivity than the node have broadcast joining messages, the node becomes the cluster head node and broadcasts the clustering message.

[0078] S1.4 The above process is iterated multiple times until all nodes are classified into the cluster structure. When a node enters a cluster, the cluster head node of the cluster will randomly assign a node ID to the node.

[0079] In traditional NDN, each data block has a unique corresponding content name. However, with network coding, due to the different naming granularity of interest packets, a single interest name no longer corresponds to a single data packet, but rather to multiple encoding packets. A user sends an interest packet to the access satellite to request content. This request arrives at the satellite network and is forwarded to the cluster head node. The cluster head node then checks its cache table, which uses a two-level directory structure (see Figure 2). To reduce the number of entries in the cache table's first-level directory, the content name is recorded at the file level. If the cluster head node finds the corresponding content, it searches the cache table's second-level directory, which is sorted in descending order by the number of file encoding blocks and also records the node ID of the encoding block. The cluster head then forwards the request to the corresponding satellite node, which searches its own CS table to locate the stored encoding packet and distributes it.

[0080] To reduce the large amount of stored entries in the satellite node's CS table, this paper uses a named dictionary tree to store them. Assuming the content requested by the interest packet is / par.com / video, the node uses a dictionary tree to search the local cache for prefixes that match the content. The complete concatenation from the root node of the dictionary tree to any leaf node constitutes a content name. Meanwhile, the children of any node along the concatenated path share the same naming prefix. As shown in Figure 3, when the satellite node retrieves node 4, a match is complete. The contents of node 4's leaf nodes, / par.com / video / chunk1 and / par.com / video / chunk2, are the required encoding packets.

[0081] S2: Calculate the placement quantity of each content coding package according to the content request probability;

[0082] S2.1 considers generating different numbers of coding blocks for storage of content with different popularity. More popular content generates more coding blocks, and less popular content generates fewer coding blocks. That is, the number of cached coding blocks for each content is proportional to its request probability. Initialize the number of data packets k, content request probability The number of contents N.

[0083] S2.2 calculates the number of coding packets of each content from the first content to the Nth content.

[0084] S2.3 O i Represents the number of coding blocks of the i-th content. For larger p i , which yields O i It may be much larger than k, resulting in serious cache redundancy. Therefore, in order to balance the cache capacity of the content, the number of code packets is adjusted based on the above request probability matching number of code packets. The number of encoding packages of this content Otherwise, the number of encoding packages of the content where p i represents the probability of requesting the content, C is the storage space size of the satellite node, m max is the maximum content size.

[0085] S2.4 Calculate the number of coded packets for each content i .

[0086] S3: Positioning the encoded packets based on the backhaul link load and content acquisition latency as optimization targets;

[0087] The placement of the number of satellite code packets is expressed as in Represents the number of coded packets of the i-th file stored on the t-th satellite of the S-th cluster.

[0088] S3.1 Set minimizing the backhaul link load as one of the optimization goals

[0089] S3.2 sets minimizing content acquisition latency as the second optimization goal Where sgn is a step function. When the function value is 1, it means that the required coding block can be obtained in a satellite cluster. Assuming that the number of hops in a cluster is H, when When the time function value is 0, it means that the coding block needs to be obtained from other clusters or content servers. Assume that the number of hops at this time is R, H<R, and t represents the transmission delay of one hop of the inter-satellite link.

[0090] S3.3 One of the constraints is that the storage capacity of the content must not exceed the capacity of the satellite node.

[0091] S3.4 sets the second constraint that the number of code packets of a certain content on the satellite is a positive integer from 0 to k.

[0092] S3.5 sets the third constraint that the number of code packets stored on all satellite nodes must not exceed the number of code packets calculated for a certain content.

[0093] S3.6 arranges the content in descending order of popularity, starting with the most popular content. It calculates the number of encoding packets for each node with the goal of minimizing the backhaul link load and content acquisition latency, while satisfying cache capacity constraints.

[0094] S4: Solve the satellite code packet placement problem based on a multi-swarm ant colony algorithm.

[0095] In this solution process, the solution variables are Divide the value range of each variable into {0,1,...,k} nodes, that is, each There are k+1 selection nodes, and ant q will choose the path with high pheromone concentration as the moving direction with a higher probability.

[0096] The required definitions are:

[0097] Definition 1: Ant transfer probability At time t, ant q arrives from satellite node w st Next The number of coding blocks transferred from the node to the satellite node w sr Next The probability of encoding the number of nodes in a block.

[0098] The calculation formula is as follows:

[0099] in is the pheromone concentration on the link at time t; is the heuristic degree of the link at time t; α and β represent the importance of pheromone and heuristic function factors respectively; allowed q is ant q at satellite node w sr The number of encoding block nodes that can also be accessed below.

[0100] Definition 2: Expected degree of ant migration Time t from the satellite node wst The number of coding blocks transferred from the node to the satellite node w sr Next The desired degree of number of nodes in the coding block.

[0101] The calculation formula is as follows:

[0102] The backhaul link load and content acquisition delay are both inversely proportional to the expected level.

[0103] Definition 3: Pheromone update amount on the path When ant q passes through a path, it will update the pheromone content on the path, increasing the amount of pheromone on the path.

[0104] The calculation formula is as follows:

[0105] Among them, under the backhaul link load target and content acquisition delay target, when the backhaul link load and content acquisition delay of the selected path are smaller, the pheromone concentration on the path increases more, thereby inspiring more ants to choose this path. Therefore, the pheromone increase under the two targets is shown below. and They are the function values ​​of the two targets after the current search is completed, U min and T min are the optimal values ​​of the functions of the two targets currently found, and Q is the total amount of pheromones an ant uses to find its way.

[0106] S4.1 Calculate the number of ant q from satellite node w at time t st Next The number of coding blocks transferred from the node to the satellite node w sr Next The probability of coding block number nodes

[0107] S4.2 is calculated as the time from ant t to satellite node w st Next The number of coding blocks transferred from the node to the satellite node w sr Next The expected number of nodes in the coding block

[0108] S4.3 Calculate the pheromone increase under the two optimization objectives of backhaul link load and content acquisition delay

[0109] S4.4 Calculate the local pheromone update amount on the path When ant q passes through a path, it will update the pheromone content on the path, increasing the pheromone content on the path. When all ants complete an iteration, the pheromone increment on the path is Assume ρ as the pheromone volatility factor, and 0<ρ<1.

[0110] S4.5 After each population completes an independent search, the searched solutions are sorted in ascending order according to the objective function of the population.

[0111] S4.6 If this solution is better than the worst solution found by another population and is not in the Pareto solution set, add this solution to the Pareto solution set and use Update pheromones on the path.

[0112] S4.7 If this solution is worse than the worst solution found by another population or this solution is already in the Pareto solution, only the pheromone on the path is updated.

[0113] S4.8 outputs the Pareto solution set and obtains the solution variables

[0114] Figure 4 shows the structure of the original Interest packet and the structure of the encoded Interest packet. To more accurately control the delivery of encoded packets, a Rank field is added to the Interest packet to indicate the number of encoded blocks required by the user. Once the user receives the required number of encoded packets, they can decode them to restore the original data packet. During the delivery of encoded packets, the cluster head node checks the Rank field in the Interest packet and the connection status of each satellite node to control the delivery of the encoded packets.

[0115] Figure 5 shows the packet delivery flow chart. During the delivery process, if the required packet is found on a satellite within the cluster and is connected to the user, the cluster head node controls the unified delivery of the packet to all satellite nodes. If the required packet is found on a satellite node but is not connected to the user, the cluster head node controls all satellite nodes to forward the packet to the closest satellite node to deliver it to the user.

[0116] If the cluster head node does not find the required content or the number of code packets sent by the cluster head node is less than the Rank field value, that is, the code packets in the cluster do not meet the user's needs, the cluster head node forwards the interest packet to the GEO satellite and modifies the value of the Rank field. The GEO satellite searches the cache entry table of each cluster except the cluster. If the GEO satellite finds the required content, it forwards the interest packet to the corresponding cluster head node. The cluster head node searches the cache table to find the corresponding satellite node and returns all cached code packets of the node to the satellite closest to the satellite cluster that sent the original interest packet. Then, it sends it to the user. If the GEO satellite does not retrieve the content requested by the interest packet, it forwards the request to the ground gateway to obtain the required content from the content server.

[0117] Figure 6 shows the distribution of Pareto solutions for the coding cache strategy based on multi-objective optimization when the number of user access satellites is 2. The figure shows that the number of Pareto solutions for the cache placement problem in this paper is 14, and the distribution is relatively uniform. Each point represents a cache placement strategy that satisfies the Pareto requirement.

[0118] Figure 7 shows the relationship between the average user content retrieval latency and the number of iterations. As the number of iterations increases, the average user content retrieval latency decreases, indicating that the fitness of the individuals in the ant colony algorithm gradually improves. The algorithm shows a convergence trend around iteration 20, reaching convergence around iteration 60. Furthermore, we fitted the data on the changes in the average user content retrieval latency to better demonstrate the algorithm's performance.

[0119] Attached Figure 8 compares the content acquisition delay of each caching scheme under different numbers of user access satellite nodes. From this figure, it can be seen that as the number of user access satellite nodes increases, the content acquisition delay of each caching scheme is reduced. As the number of user access satellite nodes increases, the content required by the user can be better coordinated and distributed, and the user service needs can be met as much as possible within one time slot, and the content acquisition delay of each caching scheme is reduced. However, since the coding cache decouples the transmission correlation between data blocks, when transmitting the content required by the user, only the required coding packets need to be transmitted instead of the entire content, thereby reducing the content acquisition delay compared to the most popular cache placement strategy. The coding cache strategy based on multi-objective optimization proposed in this article can more accurately select and place popular content compared to random coding cache, thereby reducing content acquisition delay.

[0120] Attached Figure 9 compares the return link load of each cache scheme under different numbers of user access satellite nodes. From this figure, it can be seen that as the number of user access satellite nodes increases, the return link load of each cache scheme decreases. As the number of user access satellite nodes increases, the coordinated delivery of content within a time slot is higher, and coordinated delivery can reduce the return link load. The coding cache makes the smallest unit of content transmission become the coding packet, so the return link load is lower than the most popular cache placement strategy. The coding cache strategy based on multi-objective optimization proposed in this article has a lower return link load than the random coding cache because it has cached more popular content, and these contents will be requested more frequently.

[0121] Figure 10 compares the average cache hit rates of different cache strategies. As the node cache capacity increases, more content can be cached, and the cache hit rate naturally increases. At the same time, the average cache hit rate of the CCMO cache strategy proposed in this paper is higher than that of the other two cache strategies. This is because compared with the non-coding cache, the coding cache strategy in this paper can occupy less cache space to achieve the same cache benefit as the non-coding cache. Compared with the CCR cache strategy, the MP cache strategy can achieve a higher average cache hit rate because the cached content is more popular and user requests for popular content are relatively more.

[0122] The present invention provides an NDN-based satellite network coding caching strategy. This strategy addresses the transmission dependency generated when traditional NDN caching segments content, i.e., the user must obtain data blocks associated with a requested file block before recovering the source data. The present invention uses coding operations to remove data transmission dependency. To achieve efficient content distribution, the strategy optimizes the placement of coding packets on satellite nodes with the goal of minimizing the backhaul link load and content acquisition latency. The optimization problem is solved using a multi-swarm ant colony algorithm, enabling rapid content retrieval. Furthermore, a cluster collaborative delivery mechanism is designed, simplifying satellite network management while enabling users to reduce the satellite link load for content delivery when multiple satellite nodes are present.

[0123] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0124] The present invention uses specific examples to illustrate the principles and implementation methods of the present invention. The above examples are only intended to help understand the method and core concept of the present invention. At the same time, those skilled in the art will find that the specific implementation methods and application scopes may vary based on the concept of the present invention. In summary, the contents of this specification should not be construed as limiting the present invention.

Claims

1. A satellite network coding caching method based on NDN, characterized in that: This method uses coding operations to remove data transmission correlation, and clusters satellites according to their geographical locations to simplify the management of satellite networks and enable users to reduce satellite downlink consumption when multiple satellite nodes are covered. Then, according to the popularity of content and with the optimization goal of minimizing the backhaul link load and link content acquisition delay, different numbers of coding packets are placed on satellite nodes, and the optimization problem is solved through a multi-group ant colony algorithm. Finally, an efficient content retrieval and collaborative delivery mechanism is implemented. The above method comprises the following steps: S1: clustering the LEO satellites according to their geographical locations to generate multiple LEO satellite clusters; S2: Calculate the placement quantity of each content coding package according to the content request probability; S3: placing the encoding packet according to the backhaul link load and content acquisition delay as optimization targets; S4: Solve the satellite coding packet placement problem based on a multi-swarm ant colony algorithm.

2. The NDN-based satellite network coding caching method according to claim 1, characterized in that: The selection of the cluster head of the satellite cluster is mainly based on the connectivity of the nodes. The steps of generating the satellite cluster are as follows: S1.1 In the initial stage, nodes calculate their degree according to the formula i And by periodically broadcasting hello packets to interact with neighboring nodes, obtain the degree of connection of neighboring nodes j and the distance d between nodes ij , add the above information to the node's neighbor list, which is sorted in ascending order of distance between nodes; S1.2 Each node compares its connectivity with neighboring nodes. If it finds that its connectivity is the largest among its one-hop neighbors and is a non-clustered node, it becomes the cluster head node and broadcasts the clustering message. S1.3 All nodes listen to the message. If the node is not a cluster head and receives a clustering message, it sends a joining request to the cluster head node with the largest connectivity. The cluster head node selects nodes from top to bottom according to the neighbor list nodes to join the cluster. The node that successfully joins the cluster broadcasts the joining message. If the node's neighbor nodes If all nodes with a greater connectivity than it have broadcast joining messages, then the node becomes the cluster head node and broadcasts clustering messages; S1.4 The above process is iterated multiple times until all nodes are classified into the cluster structure. When a node enters a cluster, the cluster head node of the cluster will randomly assign a node ID to the node.

3. The NDN-based satellite network coding caching method according to claim 2, characterized in that: The calculation formula of the node connectivity is: Where i represents the i-th node; the distance between the nodes is calculated as where θ is the geocentric angle between satellites, and 4. The NDN-based satellite network coding caching method according to claim 1, characterized in that: The S2 is specifically: S2.1 Initialize the number of data packets k and the probability of content request Number of contents N; S2.2 calculates the number of coded packets of each content from the first content to the Nth content; S2.3 Adjust the number of coded packets based on the above request probability matching number of coded packets. If The number of encoding packages of the content Otherwise, the number of coded packets of the content S2.4 calculates the number of coded packets Oi of each content; Among them, O i represents the number of coding blocks of the i-th content, pi represents the request probability of the content, C is the storage space size of the satellite node, m max is the maximum content size.

5. The NDN-based satellite network coding caching method according to claim 1, characterized in that: The S3 is specifically: The placement of the number of satellite code packets is expressed as in Represents S The number of coded packets of the ith file stored on the tth satellite of the cluster; S3.1 Set minimizing the backhaul link load as one of the optimization goals S3.2 Set minimizing content acquisition latency as the second optimization goal Where sgn is a step function. When the function value is 1, it means that the required coding block can be obtained in a satellite cluster. Assuming that the number of hops in a cluster is H, when When the function value is 0, it means that it is necessary to go to other clusters or content servers to obtain the coding blocks. Assume that the number of hops at this time is R, H<R, and t represents the transmission delay of one hop of the intersatellite link; S3.3 One of the constraints is that the storage volume of the content must not exceed the capacity of the satellite node. S3.4 sets the second constraint that the number of coded packets of a certain content on the satellite is a positive integer from 0 to k. S3.5 sets the third constraint that the number of code packets stored on all satellite nodes must not exceed the number of code packets calculated for a certain content. S3.6 arranges the content in descending order of popularity, starting from the most popular content, and calculates the number of encoding packets for each node on the basis of satisfying the cache capacity constraint with the goal of minimizing the return link load and content acquisition delay.

6. The NDN-based satellite network coding caching method according to claim 1, characterized in that: The method for solving the satellite code packet placement problem based on the multi-colony ant colony algorithm specifically includes: S4.1 calculating the number of ants q from satellite node w at time t st Next The number of coding blocks transferred to the satellite node w sr Next The probability of coding block number nodes S4.2 is calculated as the ant from the satellite node w at time t st Next Number of coding blocks nodes transferred to satellite Node w sr Next The expected number of nodes in the coding block S4.3 Calculate the pheromone increase under the two optimization objectives of backhaul link load and content acquisition delay S4.4 Calculate the local pheromone update amount on the path S4.5 After each population has completed an independent search, the searched solutions are sorted in ascending order according to the objective function of the population; S4.6 If this solution is better than the worst solution found by another population and is not in the Pareto solution set, add this solution to the Pareto solution set and Update pheromones on the path; S4.7 If this solution is inferior to the worst solution found by another population or this solution is already in the Pareto solution, only the pheromone on the path is updated. S4.8 outputs the Pareto solution set and obtains the solution variables 7. The NDN-based satellite network coding caching method according to claim 6, characterized in that: The ant transfer probability The calculation formula is: in is the pheromone concentration on the link at time t; is the heuristic degree of the link at time t; α and β represent the importance of pheromone and heuristic function factors respectively; allowed q For ant q at satellite node w sr The number of nodes of the encoding blocks that can be accessed below; The desired degree of transfer of the ants The calculation formula is as follows: The amount of pheromone updates on the path The calculation formula is as follows: in and are the function values ​​of the two objectives after the current search is completed, U min and T min are the optimal values ​​of the functions of the two targets currently found, and Q is the total amount of pheromone an ant uses to find its way.

Citation Information

Patent Citations

  • Mobile network base station cache content placing method based on nearby cache cooperation

    CN105245592A

  • Super-large scale low earth orbit satellite network operation and maintenance and resource management and control method

    CN112953625A

  • Satellite network cache placement method based on regional user interest perception

    CN113472420A

  • Cooperative caching method based on vehicle clustering

    CN114666842A

  • Satellite network data transmission method and device

    CN114944860A