Routing method, apparatus, communication device, storage medium and computer program product
By combining the service performance and path loss parameter evaluation of candidate nodes in the ICN network, the node with the best performance is selected to respond to the interest packet, which solves the problem of failing to address the optimal node in the existing technology and improves the routing effectiveness and response quality.
Patent Information
- Application Number
- CN202311021478.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-14
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2043-08-14
AI Technical Summary
In existing Information-Centric Networks (ICNs), the routing of Interest packets fails to ensure that they are addressed to the optimal service node, resulting in low routing effectiveness, especially when path loss is considered without considering the service performance within the node.
After receiving the interest packet, multiple candidate nodes are determined from the information center network. The performance quantization value is calculated by combining the node service performance parameters and path loss parameters of the candidate nodes, and finally the target node with the largest performance quantization value is selected to respond to the interest packet.
The response effectiveness of interest packets is improved to ensure that they are addressed to the node with the best overall performance, meeting the needs of high-performance applications.
Smart Images

Figure CN117041135B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of mobile network technology, and in particular to a routing method, apparatus, communication device, storage medium, and computer program product. Background Art
[0002] Information-Centric Networking (ICN) is a new Internet architecture that is content-centric and uses features such as content-location separation and built-in network caching to better meet the needs of large-scale network content distribution, mobile content access, and network traffic balancing.
[0003] Taking Named-Data Networking (NDN), the mainstream architecture of ICN networks, as an example, NDN's routing protocol uses Interest packets and Data packets (rather than IP packets) to exchange routing information. Aside from the different target identification method, its routing algorithm is essentially the same as the IP routing algorithm. Typically, in an NDN network, after a node receives an Interest packet from a terminal, it routes the Interest packet based on path loss.
[0004] However, the above-mentioned routing method of interest packets often cannot guarantee that they are addressed to the optimal service node. Summary of the Invention
[0005] The embodiments of the present application provide a routing method, apparatus, communication device, storage medium, and computer program product, which are conducive to obtaining the optimal response for interest packets.
[0006] In a first aspect, an embodiment of the present application provides a routing method. The routing method is used in a routing node in an information center network (ICN) including at least one node, the method comprising:
[0007] Receive interest packets for target content;
[0008] Determining multiple candidate nodes that can provide the target content from the information center network, and determining a target node with the largest performance quantization value based on the node service performance parameters and path loss parameters corresponding to each of the candidate nodes, so that the target node provides the target content in response to the interest packet;
[0009] The node service performance parameter is used to characterize the service performance of the candidate node for the target content, and the path loss parameter is used to characterize the path loss in the routing path corresponding to the candidate node.
[0010] In one embodiment, determining the target node with the largest performance quantization value based on the node service performance parameters and path loss parameters corresponding to each of the candidate nodes includes:
[0011] For each candidate node, calculating and analyzing the node service performance parameter and the path loss parameter of the candidate node to obtain a performance quantization value corresponding to the candidate node;
[0012] The candidate node with the largest performance quantization value is used as the target node.
[0013] In one embodiment, the node service performance parameter is obtained by calculating and analyzing at least one performance indicator value corresponding to the candidate node;
[0014] The performance indicator values include computing capability indicator values, memory capability indicator values, communication capability indicator values, storage capability indicator values or security capability indicator values, and the performance indicator values include static indicator values and / or dynamic indicator values.
[0015] In one embodiment, determining a plurality of candidate nodes that can provide the target content from the information center network includes:
[0016] querying a routing information table according to the target content identifier of the target content carried in the interest packet, so as to determine the multiple candidate nodes according to the query result;
[0017] The routing information table includes a plurality of routing entries, each of which includes a set of mapping relationships between a content identifier, a node identifier of a node corresponding to the content identifier, a node service performance parameter, and a path loss parameter.
[0018] In one embodiment, querying a routing information table according to the target content identifier of the target content carried in the interest packet to determine the multiple candidate nodes according to the query result includes:
[0019] According to the target content identifier, searching the routing information table for at least one target routing entry containing the target content identifier as the query result;
[0020] The candidate nodes are determined according to the query result.
[0021] In one embodiment, determining each candidate node according to the query result includes:
[0022] If the routing node has the target content cached, the destination node corresponding to the destination node identifier included in each target routing entry and the routing node are used as the candidate nodes, wherein the path loss parameter of the routing node is zero.
[0023] In one embodiment, the method further comprises:
[0024] If the target node is the routing node, the interest packet is responded to through the target content cached in the routing node.
[0025] In one embodiment, determining each candidate node according to the query result includes:
[0026] If the routing node does not cache the target content, the destination node corresponding to the destination node identifier included in each target routing entry is used as each candidate node.
[0027] In one embodiment, the method further comprises:
[0028] Searching the pending interest table PIT for a PIT entry corresponding to the target content identifier, wherein the PIT entry includes at least the target content identifier and an interface identifier of a corresponding interest packet request received after the PIT entry is added;
[0029] If the PIT entry does not exist in the PIT, the interest packet is sent to the target node according to the routing information table, and a PIT entry corresponding to the target content identifier is added to the PIT.
[0030] In one embodiment, the method further comprises:
[0031] receiving the target content sent by the target node;
[0032] The interest packet is responded to based on the target content and the PIT entry corresponding to the target content identifier, and the PIT entry corresponding to the target content identifier is deleted from the PIT.
[0033] In one embodiment, the method further comprises:
[0034] Determining an application requirement model of a target application corresponding to the target content, the application requirement model including at least one of a maximum latency requirement, a data processing requirement, a data storage requirement, and a resource characteristic requirement;
[0035] If the computing power resources corresponding to the routing node meet the requirements of the application demand model, it is determined to cache the target content while satisfying a preset cache strategy.
[0036] In one embodiment, the preset cache strategy includes that the frequency of the routing node transmitting the target content within a preset time period exceeds a preset frequency threshold, or the node utilization of the routing node is lower than a preset node utilization threshold.
[0037] In one embodiment, the method further comprises:
[0038] receiving application information published by each of the nodes, the application information including the node service performance parameter of the node, and the application requirement model or a model identifier of the application requirement model;
[0039] Routing learning is performed according to each of the application information to form the routing information table.
[0040] In a second aspect, an embodiment of the present application further provides a routing device. The routing device is provided in a routing node in an information center network (ICN) including at least one node, and the device includes:
[0041] A receiving module, configured to receive interest packets for target content;
[0042] a determination module, configured to determine, from the information center network, a plurality of candidate nodes that can provide the target content, and determine, based on the node service performance parameters and path loss parameters corresponding to the candidate nodes, a target node with the largest performance quantization value, so that the target node provides the target content in response to the interest packet;
[0043] The node service performance parameter is used to characterize the service performance of the candidate node for the target content, and the path loss parameter is used to characterize the path loss in the routing path corresponding to the candidate node.
[0044] In a third aspect, an embodiment of the present application further provides a communication device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method described in the first aspect when executing the computer program.
[0045] In a fourth aspect, embodiments of the present application further provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in the first aspect above.
[0046] In a fifth aspect, an embodiment of the present application further provides a chip, which includes a programmable logic circuit and / or program instructions, and which, when running, can execute the steps of the method described in the first aspect.
[0047] In a sixth aspect, embodiments of the present application further provide a computer program product, comprising a computer program. When the computer program is executed by a processor, the steps of the method described in the first aspect are implemented.
[0048] In the routing method, apparatus, communication device, storage medium, and computer program product described above, a routing node receives an Interest packet for target content, then determines multiple candidate nodes that can provide the target content from an information center network. Based on the node service performance parameters and path loss parameters corresponding to each candidate node, a target node with the highest performance quantization value is determined, so that the target node provides the target content in response to the Interest packet. The node service performance parameter characterizes the service performance of the candidate node for the target content, and the path loss parameter characterizes the path loss in the routing path corresponding to the candidate node. Thus, in the routing process of the Interest packet, embodiments of the present application combine the node service performance parameters and path loss parameters corresponding to each candidate node for evaluation. For example, the routing node can select the node with the best combined performance (i.e., the highest performance quantization value) of both service performance and path loss to respond to the Interest packet, thereby avoiding the problem of routing the Interest packet based solely on path loss without considering the service performance within the node, which may result in the addressed node being suboptimal. Embodiments of the present application combine node service performance and path loss for comprehensive evaluation during the routing process, thereby facilitating optimal responses to the Interest packet. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 A diagram showing an application environment of a routing method in one embodiment;
[0050] Figure 2 1 is a flow chart of a routing method in one embodiment;
[0051] Figure 3 A schematic diagram of a process of determining a target node by a routing node in another embodiment;
[0052] Figure 4 is a flow chart of step 202 in another embodiment;
[0053] Figure 5 is a flow chart of step 401 in another embodiment;
[0054] Figure 6 FIG1 is a diagram of an implementation environment of an exemplary routing method in another embodiment;
[0055] Figure 7 is a flow chart of a routing method in another embodiment;
[0056] Figure 8 is a structural block diagram of a routing device in one embodiment;
[0057] Figure 9 is a diagram showing the internal structure of a communication device in one embodiment;
[0058] Figure 10 Schematic diagram of the chip structure in one embodiment. DETAILED DESCRIPTION
[0059] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0060] Figure 1 Schematic diagram of an implementation environment of a routing method provided in an embodiment of the present application. Figure 1 As shown, the ICN network includes at least one routing node (or so-called computing network fusion node), and the routing node can also cache content and have computing power to respond to the interest packet of the terminal 101 as a server. Figure 1 Only two routing nodes (node 102 and node 103) connected via a network are shown as examples, and routing node 102 is connected to terminal 101 via the network.
[0061] The terminal 101 may be, but is not limited to, various personal computers, laptops, smartphones, tablet computers, IoT devices, and portable wearable devices. IoT devices may be smart speakers, smart TVs, smart air conditioners, smart car devices, etc. Portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc.
[0062] Information-Centric Networking (ICN) is a revolutionary new Internet architecture. Its concept is content-centric. It uses features such as separation of content and location and built-in network caching to better meet the needs of large-scale network content distribution, mobile content access, and network traffic balancing.
[0063] In the Information-Centric Network (ICN), taking the mainstream architecture of the ICN network, Named-Data Networking (NDN), as an example, the routing protocol of the NDN network is based on interest packets and data packets (rather than IP packets) to exchange routing information tables. Except for the different target identification method, its routing algorithm usually draws on the IP routing algorithm.
[0064] The NDN routing process is briefly described as follows:
[0065] 1) After receiving the interest packet sent by the terminal, the router first checks whether the corresponding content is cached in the router's CS (ContentStore):
[0066] a) Yes: The router directly replies to the data packet (Data packet);
[0067] b) No: Look in the PIT (Pending Interest Table) in the router to see if there is a corresponding entry:
[0068] i) Yes: The interface that records received Interest packets but does not forward them;
[0069] ii) No: Forward the received Interest packet according to the FIB (Forwarding Information Base) and forwarding policy, and add a corresponding PIT entry in the PIT; or discard the Interest packet.
[0070] 2) After the router receives the Data packet, it forwards the Data packet according to the information in the PIT entry and deletes the corresponding PIT entry.
[0071] Currently, in the NDN network, when a routing node needs to route an Interest packet, it routes the Interest packet based on the path loss, and generally selects the node with the smallest path loss for forwarding.
[0072] However, as applications evolve towards higher performance and are increasingly deployed in distributed edge environments, users are no longer satisfied with simply finding content; they now expect optimal service. Traditional routing methods, which only consider path loss and ignore the service performance within a node, can route Interest packets to suboptimal nodes, resulting in low routing efficiency.
[0073] Since the comprehensive service performance of a node is not only related to the network transmission capacity, but also closely related to the computing power of the node, in view of this, an embodiment of the present application provides a routing method. In the process of routing the interest packet, the node service performance parameters and path loss parameters corresponding to each candidate node are evaluated. For example, the routing node can select the node with the best performance in terms of service performance and path loss to respond to the interest packet, thereby avoiding routing the interest packet by only considering the path loss without considering the service performance within the node, which may result in the addressed node not being the optimal node; the embodiment of the present application combines the node service performance and path loss for comprehensive evaluation during the routing process, thereby improving the response effectiveness of the interest packet and facilitating the interest packet to obtain the optimal response.
[0074] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0075] In one embodiment, Figure 2 As shown, a routing method is provided, in which the method is used for a routing node (such as Figure 1 The routing node 102 in the example is used as an example, and the information center network ICN can be a named data network NDN. The method includes the following steps:
[0076] Step 201: A routing node receives an interest packet for target content.
[0077] This interest packet can be sent by a terminal. To request target content, the terminal initiates an application request, i.e., sends an interest packet. This interest packet contains the target content identifier, also known as the target content identifier. A routing node near the terminal receives this interest packet and, based on the target content identifier, determines the specific content requested by the terminal.
[0078] As an implementation method, the routing node may record the interface that receives the Interest packet, so that the routing node may return the target content requested by the Interest packet to the interface.
[0079] In step 202, the routing node determines multiple candidate nodes that can provide the target content from the information center network, and determines the target node with the largest performance quantization value based on the node service performance parameters and path loss parameters corresponding to each candidate node, so that the target node provides the target content in response to the interest packet.
[0080] In the embodiments of the present application, the routing node may or may not cache the target content. In either case, the routing node needs to comprehensively evaluate each node in the information center network that can provide the target content to address the optimal node to respond to the data packet. The following describes the process by which the routing node addresses the optimal node (i.e., the target node).
[0081] First, the routing node determines multiple candidate nodes that can provide the target content from the information center network. As an implementation method, the routing node is usually configured with a routing information table, and the routing node determines multiple nodes that can provide the target content from the routing information table.
[0082] It should be noted that if the target content is cached in the routing node, the routing node is also a candidate node that can provide the target content, that is, the routing node and the multiple nodes that can provide the target content determined by the routing node from the routing information table are collectively regarded as the multiple candidate nodes that can provide the target content mentioned in step 202.
[0083] It is understandable that if the routing node does not cache the target content, only the multiple nodes that can provide the target content determined by the routing node from the routing information table are used as the multiple candidate nodes that can provide the target content mentioned in step 202.
[0084] Next, the routing node needs to obtain the node service performance parameters and path loss parameters corresponding to each candidate node, where the node service performance parameters are used to characterize the service performance of the candidate node for the target content, and the path loss parameters are used to characterize the path loss in the routing path corresponding to the candidate node.
[0085] Differentiate whether each candidate node includes a routing node for explanation:
[0086] 1) If the candidate nodes do not include a routing node, the routing node may directly obtain the node service performance parameters and path loss parameters corresponding to each candidate node from the routing information table.
[0087] 2) If each candidate node includes a routing node, then for the multiple nodes that the routing node determines from the routing information table that can provide the target content, the routing node can directly obtain the node service performance parameters and path loss parameters corresponding to these multiple nodes from the above routing information table; and for the routing node itself, its path loss parameter is 0 (because there is no path loss if the target content is provided directly by the routing node), and only the node service performance parameters of the routing node need to be obtained.
[0088] The following describes the concept and acquisition method of node service performance parameters.
[0089] In an embodiment of the present application, the node service performance parameter is obtained by calculating, analyzing and processing at least one performance indicator value corresponding to the candidate node; wherein the performance indicator value includes a computing power indicator value, a memory power indicator value, a communication power indicator value, a storage power indicator value or a security power indicator value, and the performance indicator value includes a static indicator value and / or a dynamic power indicator value.
[0090] It can be seen that each capability indicator value is a different capability dimension, and each capability dimension can include different subdivision dimensions. For example, for the target content, the computing capability indicator value can be measured by integer computing rate, floating-point computing rate, hash computing rate, etc.; the memory capability indicator value can be measured by memory capacity, memory bandwidth, etc.; the communication capability indicator value can be measured by network bandwidth, and the storage capability indicator value can be measured by storage capacity, storage bandwidth, read and write speed, etc.; for indicators that are difficult to quantify directly, such as security capabilities, the security capability indicator value can be measured by dividing the security levels, and optionally, weights can be assigned to different security levels. Static indicator values refer to the initial values or configuration values of the above indicators for the target content, and dynamic capability indicator values refer to the current values of the above indicators, such as the current number of concurrency, utilization rate, etc.
[0091] The above-mentioned capability indicator values can be obtained from the equipment manufacturer, or through measurement, monitoring, subscription, etc. using the node network management. For example, dynamic capability indicators can be subscribed to the network management system, and the network management system triggers an event report when the capability change exceeds a threshold.
[0092] In an embodiment of the present application, the node service performance parameters of each node can be calculated by the node itself. For the target content, the target application corresponding to the target content has its application requirement model. The application requirement model includes the maximum latency requirement, data processing requirement, data storage requirement and resource characteristic requirement of the target application. For multiple candidate nodes that can provide the target content, the application requirement model can be obtained during the deployment process of the target application. The candidate node first determines whether the computing power resources corresponding to the routing node meet the requirements of the application requirement model. If so, the node service performance parameters of the candidate node are calculated in the above manner. The node service performance parameters are calculated and analyzed for multiple performance indicator values corresponding to the candidate node. Each performance indicator value can be normalized to obtain a normalized vector, and then each normalized vector is decorrelated to obtain an evaluation vector. Weights are set according to the application requirements corresponding to the application requirement model, and the node service performance parameters are weighted to calculate the evaluation vector. For example, the weight of the performance indicator value for the application requirement is set larger, and the weight of the application requirement not mentioned is set smaller.
[0093] Next, the candidate node publishes its calculated node service performance parameters, so that other nodes can obtain the node service performance parameters of the candidate node for the target content (ie, for the target application).
[0094] It is understandable that, for any node, as long as it has an application deployed, its node service performance parameters for the deployed application can be calculated and published in the above manner.
[0095] In this way, each node receives the information published by other nodes and conducts routing learning with each other, and can obtain the above-mentioned routing information table. Therefore, in the above process, for the multiple nodes that can provide target content determined by the routing node from the routing information table, the node service performance parameters and path loss parameters corresponding to these multiple nodes can be directly obtained by the routing node from the above-mentioned routing information table.
[0096] After obtaining the node service performance parameters and path loss parameters corresponding to each candidate node, the routing node can determine the target node with the largest performance quantization value based on the node service performance parameters and path loss parameters corresponding to each candidate node, so that the target node can provide the target content in response to the interest packet. The target node with the largest performance quantization value can refer to the node with the best performance in terms of service performance and path loss.
[0097] In the above-described embodiment, a routing node receives an interest packet for target content, then determines multiple candidate nodes that can provide the target content from the information center network. Based on the node service performance parameters and path loss parameters corresponding to each candidate node, a target node with the largest performance quantization value is determined, so that the target node provides the target content in response to the interest packet. The node service performance parameter is used to characterize the service performance of the candidate node for the target content, and the path loss parameter is used to characterize the path loss in the routing path corresponding to the candidate node. Thus, in the process of routing the interest packet, the embodiment of the present application combines the node service performance parameters and path loss parameters corresponding to each candidate node for evaluation. Exemplarily, the routing node can select the node with the best performance, taking into account both service performance and path loss, to respond to the interest packet, thereby avoiding routing the interest packet based solely on path loss without considering the service performance within the node, which may result in the addressed node being suboptimal. In the routing process, the embodiment of the present application combines node service performance and path loss for comprehensive evaluation, thereby improving the effectiveness of the interest packet response and facilitating the interest packet to receive the optimal response.
[0098] In one embodiment, based on Figure 2 The embodiment shown, see Figure 3 This embodiment involves a process in which a routing node determines a target node with the largest performance quantization value based on the node service performance parameters and path loss parameters corresponding to each candidate node. Figure 3 As shown, the process includes steps 301 and 302:
[0099] Step 301: For each candidate node, the routing node calculates and analyzes the node service performance parameter and path loss parameter of the candidate node to obtain a performance quantization value corresponding to the candidate node.
[0100] In an embodiment of the present application, the node service performance parameter of the candidate node can be obtained by weighted summing the above-mentioned performance indicator values of the candidate node. Therefore, the node service performance parameter is also a numerical value, and the path loss parameter is usually also a numerical value. Therefore, for each candidate node, the routing node calculates and analyzes the node service performance parameter and path loss parameter of the candidate node to obtain the performance quantification value corresponding to the candidate node.
[0101] As an implementation method, the larger the path loss parameter value, the greater the path loss, and the larger the node service performance parameter value, the better the node service performance. Therefore, the routing node can normalize the reciprocal of the path loss parameter value and the node service performance parameter value to the interval [0, 1] to obtain the normalized path loss parameter value and the normalized node service performance parameter value, and then: the routing node can calculate the reciprocal of the normalized path loss parameter value and the normalized node service performance parameter value and perform weighted summation to obtain the performance quantization value corresponding to the candidate node; or, the routing node can calculate the reciprocal of the normalized node service performance parameter value, and weight the obtained reciprocal and the normalized path loss parameter value (the sum of the weights is 1) to obtain the performance quantization value corresponding to the candidate node.
[0102] In step 302, the routing node selects the candidate node with the largest performance quantization value as the target node.
[0103] The performance quantization values corresponding to the above candidate nodes are sorted in descending order or in ascending order, so that the candidate node with the largest performance quantization value can be selected as the target node, that is, the target node with the best performance in terms of both service performance and path loss.
[0104] In this way, by performing simple calculation and analysis on the node service performance parameters and path loss parameters of the candidate nodes, the target node with the best combined service performance and path loss can be selected. The calculation process is simple, the amount of calculation is small, and it is conducive to improving routing efficiency.
[0105] In one embodiment, based on Figure 3 The embodiment shown, see Figure 4 This embodiment relates to a process in which a routing node determines multiple candidate nodes that can provide target content from an information center network. Figure 4 As shown, step 202 also includes Figure 4 Step 401 shown:
[0106] In step 401 , the routing node queries the routing information table according to the target content identifier of the target content carried in the interest packet, so as to determine a plurality of candidate nodes according to the query result.
[0107] In an embodiment of the present application, the routing information table may include a FIB (Forwarding Information Base), wherein the routing information table, i.e., the FIB, may include multiple routing entries, each routing entry including a set of mapping relationships between a content identifier, a node identifier of a node corresponding to the content identifier, node service performance parameters, and a path loss parameter.
[0108] For example, see Table 1, which shows an exemplary FIB in a routing node.
[0109] Name prefix Next-hop interface Path loss parameters Node service performance parameters tencent.com a 600 500 tencent.com b 1000 1000 3gpp.org b 500 2000 3gpp.org c 1000 1500 3gpp.org d 100 600 ...... ...... ...... ......
[0110] Table 1
[0111] The "name prefix" shown in Table 1 can be used as a content identifier. For a content identifier, different next-hop interfaces in the routing node correspond to different nodes that can provide the target content corresponding to the content identifier. A routing entry can be understood as a row of data in Table 1.
[0112] In this way, the routing node queries the routing information table according to the target content identifier of the target content carried in the interest packet, and can obtain the query result, and determine each candidate node according to the query result.
[0113] For example, see Figure 5 , step 401 may include Figure 5 Steps 501 and 502 are shown:
[0114] Step 501: The routing node searches for at least one target routing entry containing the target content identifier in the routing information table according to the target content identifier as a query result.
[0115] With reference to Table 1, a target routing entry includes not only the target content identifier but also the corresponding next hop node (ie, node identifier), the corresponding node service performance parameter, and the path loss parameter.
[0116] Step 502: The routing node determines candidate nodes based on the query result.
[0117] The process of step 502 is described below based on two situations: the routing node has the target content cached, and the routing node has not cached the target content.
[0118] 1) If the routing node has the target content cached, the routing node uses the destination node corresponding to the destination node identifier included in each target routing entry and the routing node as candidate nodes to implement the process of step 502, wherein the path loss parameter of the routing node is zero.
[0119] In this way, after receiving the interest packet, the routing node in the embodiment of the present application does not directly return the cached target content even if the routing node finds that it has a cache of the corresponding content. Instead, it evaluates the routing node and other nodes that can provide the target content together, addresses the optimal node, and determines whether to return directly or continue to forward according to the FIB based on the evaluation results.
[0120] It should be noted that in the embodiments of the present application, the so-called cached target content refers to the deployment of the target application corresponding to the target content, for example, it can be virtualized deployment, deployment in a container manner, etc. The speed at which nodes with different service performance respond to interest packets is different. Therefore, even if the routing node caches the target content and the path loss parameter is 0, it is possible that the overall performance of the path loss plus service performance of other nodes that can provide the target content is still lower than that of the routing node. For example, a target node with a large path loss may be selected as the final target node because of its superior service performance.
[0121] In this way, the embodiment of the present application comprehensively evaluates the service performance of the node based on content reachability and path loss, which can ensure that the optimal node is addressed, which is in line with the development trend of computing and network integration.
[0122] Furthermore, if the routing node determines that the optimal target node is the routing node based on the node service performance parameters and path loss parameters corresponding to each candidate node, the routing node responds to the interest packet through the target content cached in the routing node.
[0123] 2) If the routing node does not cache the target content, the routing node uses the destination nodes corresponding to the destination node identifiers included in each target routing entry as candidate nodes to implement the process of step 502.
[0124] In this way, the routing node determines the optimal target node according to the node service performance parameters and path loss parameters corresponding to each destination node, which must be one of the destination nodes corresponding to each target routing entry.
[0125] Furthermore, the routing node searches the pending interest table (PIT) for a PIT entry corresponding to the target content identifier. If the PIT entry does not exist in the PIT, the routing node sends an interest packet to the target node in each destination node according to the routing information table, and adds a PIT entry corresponding to the target content identifier in the PIT.
[0126] The PIT entry includes at least the target content identifier and the interface identifier of the corresponding interest packet request received after the PIT entry was added. That is, for a target content, when a terminal requests the target content for the first time, the routing node generates a PIT entry in the PIT, recording the target content identifier and the interface identifier that received the request. When the next interest packet requesting the target content is received, the routing node checks whether there is a PIT entry for the target content in the PIT. If so, it records the interface identifier of the received interest packet under the entry without forwarding it. In this way, when a data packet of the target content is received, the routing node forwards the data packet to each terminal under the PIT entry using the recorded interface identifier, and then deletes the PIT entry.
[0127] Therefore, in an embodiment of the present application, when the routing node does not cache the target content, the routing node searches the PIT for a PIT entry corresponding to the target content identifier. If the PIT entry does not exist in the PIT, the routing node sends an interest packet to the target node in each destination node and adds a new PIT entry corresponding to the target content identifier in the PIT.
[0128] It is understood that if a PIT entry exists, the interface identifier for receiving the interest packet is recorded in the PIT. In other possible implementations, if a PIT entry exists, the method described in the above embodiment can also be used to comprehensively evaluate each candidate node in combination with the path loss parameter and the node service performance parameter to select the optimal target node for forwarding.
[0129] Furthermore, after forwarding the interest packet, the routing node receives the target content sent by the target node, which is carried in the data packet. The routing node responds to the interest packet based on the target content and the PIT entry corresponding to the target content identifier, that is, according to the interface identifier for receiving the interest packet recorded in the PIT entry, the routing node forwards the target content to the terminal and deletes the PIT entry corresponding to the target content identifier in the PIT.
[0130] After the routing node determines each candidate node based on the query results and responds to the interest packet, the routing node needs to determine whether to cache the target content.
[0131] Exemplarily, the routing node can determine the application requirement model of the target application corresponding to the target content. As described above, the application requirement model can be published by the node that can provide the target content (if the routing node caches the target content, the application requirement model is obtained when the target application is deployed), or it can be obtained by obtaining the model identifier of the requirement model and then searching based on the model identifier. The application requirement model includes at least one of the maximum latency requirement, data processing requirement, and resource characteristic requirement.
[0132] A model identifier identifies an application requirement model, thereby reducing the amount of information transmission.
[0133] Among them, the maximum delay requirement refers to the maximum end-to-end delay limit. The data processing volume is a key indicator for applications such as image processing and AI. The calculation types include integer calculation, floating-point calculation, and hash calculation.
[0134] If the routing node determines that the computing power resources corresponding to the routing node meet the requirements of the application demand model, the routing node determines to cache the target content while satisfying the preset caching strategy. The preset caching strategy includes at least one of the frequency of the routing node transmitting the target content within a preset time period exceeding a preset frequency threshold and the node utilization of the routing node being lower than a preset node utilization threshold.
[0135] In this way, the node's caching strategy fully considers the node's service performance for the specified content, avoids invalid or inefficient caching, and ensures that the resource combination is optimized.
[0136] In one embodiment, the routing node can also receive application information (or reachability information) published by each node. The application information includes the node service performance parameters of the node. The application information also includes the application requirement model or the model identifier of the application requirement model; the routing node performs routing learning based on each application information to obtain a routing information table.
[0137] As an implementation method, in order to ensure the stability of routing learning, the notification of application information should be limited to an appropriate threshold. For example, for the target application, when the node publishes the application message, it can detect the difference between the current node service performance parameters and the previous node service performance parameters. If the difference is greater than the preset difference threshold, it will be published. This can avoid the problem of frequent routing learning of each node caused by frequent publication of application information.
[0138] In this way, in order to address the problem that the current ICN network simply establishes routes based on the accessibility and path loss of the content without considering the service performance within the node, and cannot guarantee addressing to the most suitable node when more and more applications require high-performance computing power, the routing method provided in the embodiment of the present application models the computing power requirements for the processing performance of the application. When publishing the application, the node deployed with the application carries the computing power requirement model or its identifier in the published message, as well as its own node service performance parameters for the content; the content accessibility and node service performance parameters are simultaneously used as learning parameters for routing learning to be used as the routing table established in the ICN router (routing node) for routing, thereby based on the cloud-network integrated infrastructure, based on the computing power requirement modeling of the application and the service performance evaluation of the node, the impact of computing power is considered in the entire process of ICN addressing routing learning, addressing, etc., to obtain better service performance and improve resource utilization efficiency.
[0139] In one embodiment, combined Figure 6 and Figure 7 The routing method of the embodiment of the present application is described with examples. Figure 6 FIG. 1 is a diagram illustrating an exemplary implementation environment of a routing method. Figure 7 For Figure 6 A flow chart of an exemplary routing method based on the illustrated implementation environment.
[0140] like Figure 6 As shown, the ICN network includes Figure 6 The four nodes shown are routing node 102, routing node 103, routing node 104, node (application server) 105, and node (application server) 106. Node 105 and node 106 include an API (Application Programming Interface) for using the NDN network.
[0141] Please continue to see Figure 6 Routing node 102 is connected to terminal 101 via a network, routing node 102 is connected to routing node 103 via a network, routing node 103 is connected to routing node 104 and node 106 via a network, and routing node 104 is also connected to node 105 via a network. It should be understood that the above embodiments are all described with routing node 102 as the execution entity.
[0142] See also Figure 7 , the routing method of this embodiment includes Figure 7 The following steps are shown:
[0143] Step 701: Node 106 (assuming application instance 1 has been deployed, or referred to as application 1) publishes application information of the application. The application information carries the application requirement model of application 1 and node service performance parameters of node 106.
[0144] In step 702 , the node 105 (assuming that the application instance 2 has been deployed, or referred to as application 2 ) publishes application information of the application. The application information carries the application requirement model of application 2 and the node service performance parameters of the node 105 .
[0145] Step 703: Each routing node receives the application information published by node 105 and node 106, performs routing learning based on the application information, and obtains the corresponding FIB.
[0146] Step 704: Routing node 102 receives the first interest packet from terminal 101 for the target content.
[0147] Step 705: Routing node 102 does not cache the target content, and routing node 102 searches the FIB for the target node with the largest performance quantization value.
[0148] The process of the routing node 102 searching the FIB for the target node with the largest performance quantization value can be referred to the description of the above embodiment and is not specifically limited here.
[0149] The target node is assumed to be node 106 .
[0150] Step 706: The routing node 102 searches the PIT for a PIT entry corresponding to the target content identifier.
[0151] Step 707 : If there is no PIT entry in the PIT, routing node 102 sends an interest packet through the interface with routing node 103 , and adds a PIT entry corresponding to the target content identifier in the PIT.
[0152] Optionally, if there is a PIT entry in the PIT, the routing node 102 may send an interest packet to the target node and record the interface identifier of the received interest packet in the PIT entry, or may not send the interest packet to the target node and directly record the identifier of the interface receiving the interest packet in the PIT entry.
[0153] Step 708 , the routing node 102 receives the target content returned by the target node (node 106 );
[0154] Step 709 , the routing node 102 responds to the interest packet based on the target content and the PIT entry corresponding to the target content identifier, and deletes the PIT entry corresponding to the target content identifier in the PIT;
[0155] Step 710: The routing node 102 determines the cache target content if the preset cache policy is satisfied.
[0156] Step 711: Routing node 102 receives a second interest packet from terminal 101 for target content.
[0157] Step 712: Routing node 102 has cached the target content, and routing node 102 searches for the target node with the largest performance quantization value in routing node 102 and the FIB.
[0158] Repeat steps 706 to 709 until the interest packet is responded to and the PIT entry corresponding to the target content identifier is deleted from the PIT.
[0159] It should be understood that, although the various steps in the above flow chart are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the above flow chart may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily to be performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0160] In one embodiment, Figure 8 As shown, a routing device is provided, which is set in a routing node in an information center network ICN including at least one node, and the device includes:
[0161] Receiving module 801, configured to receive an interest packet for target content;
[0162] a determination module 802 configured to determine, from the information center network, a plurality of candidate nodes that can provide the target content, and determine, based on the node service performance parameters and path loss parameters corresponding to the candidate nodes, a target node with the largest performance quantization value, so that the target node provides the target content in response to the interest packet;
[0163] The node service performance parameter is used to characterize the service performance of the candidate node for the target content, and the path loss parameter is used to characterize the path loss in the routing path corresponding to the candidate node.
[0164] In one embodiment, the determining module 802 includes:
[0165] A first calculation and analysis unit is configured to calculate and analyze the node service performance parameter and the path loss parameter of each candidate node to obtain a performance quantization value corresponding to the candidate node;
[0166] The judgment unit is configured to select the candidate node with the largest performance quantization value as the target node.
[0167] In one embodiment, the node service performance parameter is obtained by calculating and analyzing at least one performance indicator value corresponding to the candidate node;
[0168] The performance indicator values include computing capability indicator values, memory capability indicator values, communication capability indicator values, storage capability indicator values or security capability indicator values, and the performance indicator values include static indicator values and / or dynamic indicator values.
[0169] In one embodiment, the determining module 802 further includes:
[0170] a query unit, configured to query a routing information table according to the target content identifier of the target content carried in the interest packet, so as to determine the multiple candidate nodes according to the query result;
[0171] The routing information table includes a plurality of routing entries, each of which includes a set of mapping relationships between a content identifier, a node identifier of a node corresponding to the content identifier, a node service performance parameter, and a path loss parameter.
[0172] In one embodiment, the query unit is specifically configured to search the routing information table for at least one target routing entry containing the target content identifier as the query result according to the target content identifier; and determine each candidate node according to the query result.
[0173] In one embodiment, the query unit is specifically used to use the destination node corresponding to the destination node identifier included in each target routing entry and the routing node as each candidate node if the routing node caches the target content, wherein the path loss parameter of the routing node is zero.
[0174] In one embodiment, the apparatus further comprises:
[0175] The first response module is configured to respond to the interest packet through the target content cached in the routing node if the target node is the routing node.
[0176] In one embodiment, the query unit is specifically configured to use the destination node corresponding to the destination node identifier included in each target routing entry as each candidate node if the routing node does not cache the target content.
[0177] In one embodiment, the apparatus further comprises:
[0178] A search module is configured to search a pending interest table PIT for a PIT entry corresponding to the target content identifier, wherein the PIT entry includes at least the target content identifier and an interface identifier of a corresponding interest packet request received after the PIT entry is added;
[0179] The second response module is configured to send the interest packet to the target node according to the routing information table if the PIT entry does not exist in the PIT, and to add a PIT entry corresponding to the target content identifier in the PIT.
[0180] In one embodiment, the receiving module 801 is further configured to receive the target content sent by the target node;
[0181] The device further comprises:
[0182] A third responding module is configured to respond to the interest packet based on the target content and the PIT entry corresponding to the target content identifier, and delete the PIT entry corresponding to the target content identifier in the PIT.
[0183] In one embodiment, the determining module 802 is further configured to determine an application requirement model of a target application corresponding to the target content, wherein the application requirement model includes at least one of a maximum latency requirement, a data processing requirement, a data storage requirement, and a resource characteristic requirement;
[0184] The device further comprises:
[0185] The cache module is used to determine to cache the target content if the computing power resources corresponding to the routing node meet the requirements of the application demand model and the preset cache strategy is met.
[0186] In one embodiment, the preset cache strategy includes that the frequency of the routing node transmitting the target content within a preset time period exceeds a preset frequency threshold, or the node utilization of the routing node is lower than a preset node utilization threshold.
[0187] In one embodiment, the receiving module 801 is further configured to receive application information published by each node, the application information including the node service performance parameter of the node, and the application information also including the application requirement model or the model identifier of the application requirement model;
[0188] The device further comprises:
[0189] The routing learning module is used to perform routing learning according to each of the application information to form the routing information table.
[0190] For the specific definition of the routing device, please refer to the definition of the routing method above and will not be repeated here. Each module in the above-mentioned routing device can be implemented in whole or in part through software, hardware, or a combination thereof. Each of the above-mentioned modules can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each of the above modules.
[0191] In one embodiment, a communication device is provided. The communication device may be a server, and its internal structure diagram may be as follows: Figure 9As shown. The communication device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the communication device is used to provide computing and control capabilities. The memory of the communication device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the communication device is used to store data of the communication method. The input / output interface of the communication device is used to exchange information between the processor and an external device. The communication interface of the communication device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a communication method is implemented.
[0192] Those skilled in the art will understand that Figure 9 The structure shown in the figure is only a block diagram of a part of the structure related to the scheme of the present application, and does not constitute a limitation on the communication device to which the scheme of the present application is applied. The specific communication device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0193] In one embodiment, a communication device is provided, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0194] Receive interest packets for target content;
[0195] Determining multiple candidate nodes that can provide the target content from the information center network, and determining a target node with the largest performance quantization value based on the node service performance parameters and path loss parameters corresponding to each of the candidate nodes, so that the target node provides the target content in response to the interest packet;
[0196] The node service performance parameter is used to characterize the service performance of the candidate node for the target content, and the path loss parameter is used to characterize the path loss in the routing path corresponding to the candidate node.
[0197] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0198] For each candidate node, calculating and analyzing the node service performance parameter and the path loss parameter of the candidate node to obtain a performance quantization value corresponding to the candidate node;
[0199] The candidate node with the largest performance quantization value is used as the target node.
[0200] In one embodiment, the node service performance parameter is obtained by calculating and analyzing at least one performance indicator value corresponding to the candidate node;
[0201] The performance indicator values include computing capability indicator values, memory capability indicator values, communication capability indicator values, storage capability indicator values or security capability indicator values, and the performance indicator values include static indicator values and / or dynamic indicator values.
[0202] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0203] querying a routing information table according to the target content identifier of the target content carried in the interest packet, so as to determine the multiple candidate nodes according to the query result;
[0204] The routing information table includes a plurality of routing entries, each of which includes a set of mapping relationships between a content identifier, a node identifier of a node corresponding to the content identifier, a node service performance parameter, and a path loss parameter.
[0205] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0206] According to the target content identifier, searching the routing information table for at least one target routing entry containing the target content identifier as the query result;
[0207] The candidate nodes are determined according to the query result.
[0208] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0209] If the routing node has the target content cached, the destination node corresponding to the destination node identifier included in each target routing entry and the routing node are used as the candidate nodes, wherein the path loss parameter of the routing node is zero.
[0210] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0211] If the target node is the routing node, the interest packet is responded to through the target content cached in the routing node.
[0212] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0213] If the routing node does not cache the target content, the destination node corresponding to the destination node identifier included in each target routing entry is used as each candidate node.
[0214] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0215] Searching the pending interest table PIT for a PIT entry corresponding to the target content identifier, wherein the PIT entry includes at least the target content identifier and an interface identifier of a corresponding interest packet request received after the PIT entry is added;
[0216] If the PIT entry does not exist in the PIT, the interest packet is sent to the target node according to the routing information table, and a PIT entry corresponding to the target content identifier is added to the PIT.
[0217] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0218] receiving the target content sent by the target node;
[0219] The interest packet is responded to based on the target content and the PIT entry corresponding to the target content identifier, and the PIT entry corresponding to the target content identifier is deleted from the PIT.
[0220] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0221] Determining an application requirement model of a target application corresponding to the target content, the application requirement model including at least one of a maximum latency requirement, a data processing requirement, a data storage requirement, and a resource characteristic requirement;
[0222] If the computing power resources corresponding to the routing node meet the requirements of the application demand model, it is determined to cache the target content while satisfying a preset cache strategy.
[0223] In one embodiment, the preset cache strategy includes that the frequency of the routing node transmitting the target content within a preset time period exceeds a preset frequency threshold, or the node utilization of the routing node is lower than a preset node utilization threshold.
[0224] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0225] receiving application information published by each of the nodes, the application information including the node service performance parameter of the node, and the application requirement model or a model identifier of the application requirement model;
[0226] Routing learning is performed according to each of the application information to form the routing information table.
[0227] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0228] Receive interest packets for target content;
[0229] Determining multiple candidate nodes that can provide the target content from the information center network, and determining a target node with the largest performance quantization value based on the node service performance parameters and path loss parameters corresponding to each of the candidate nodes, so that the target node provides the target content in response to the interest packet;
[0230] The node service performance parameter is used to characterize the service performance of the candidate node for the target content, and the path loss parameter is used to characterize the path loss in the routing path corresponding to the candidate node.
[0231] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0232] For each candidate node, calculating and analyzing the node service performance parameter and the path loss parameter of the candidate node to obtain a performance quantization value corresponding to the candidate node;
[0233] The candidate node with the largest performance quantization value is used as the target node.
[0234] In one embodiment, the node service performance parameter is obtained by calculating and analyzing at least one performance indicator value corresponding to the candidate node;
[0235] The performance indicator values include computing capability indicator values, memory capability indicator values, communication capability indicator values, storage capability indicator values or security capability indicator values, and the performance indicator values include static indicator values and / or dynamic indicator values.
[0236] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0237] querying a routing information table according to the target content identifier of the target content carried in the interest packet, so as to determine the multiple candidate nodes according to the query result;
[0238] The routing information table includes a plurality of routing entries, each of which includes a set of mapping relationships between a content identifier, a node identifier of a node corresponding to the content identifier, a node service performance parameter, and a path loss parameter.
[0239] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0240] According to the target content identifier, searching the routing information table for at least one target routing entry containing the target content identifier as the query result;
[0241] The candidate nodes are determined according to the query result.
[0242] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0243] If the routing node has the target content cached, the destination node corresponding to the destination node identifier included in each target routing entry and the routing node are used as the candidate nodes, wherein the path loss parameter of the routing node is zero.
[0244] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0245] If the target node is the routing node, the interest packet is responded to through the target content cached in the routing node.
[0246] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0247] If the routing node does not cache the target content, the destination node corresponding to the destination node identifier included in each target routing entry is used as each candidate node.
[0248] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0249] Searching the pending interest table PIT for a PIT entry corresponding to the target content identifier, wherein the PIT entry includes at least the target content identifier and an interface identifier of a corresponding interest packet request received after the PIT entry is added;
[0250] If the PIT entry does not exist in the PIT, the interest packet is sent to the target node according to the routing information table, and a PIT entry corresponding to the target content identifier is added to the PIT.
[0251] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0252] receiving the target content sent by the target node;
[0253] The interest packet is responded to based on the target content and the PIT entry corresponding to the target content identifier, and the PIT entry corresponding to the target content identifier is deleted from the PIT.
[0254] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0255] Determining an application requirement model of a target application corresponding to the target content, the application requirement model including at least one of a maximum latency requirement, a data processing requirement, a data storage requirement, and a resource characteristic requirement;
[0256] If the computing power resources corresponding to the routing node meet the requirements of the application demand model, it is determined to cache the target content while satisfying a preset cache strategy.
[0257] In one embodiment, the preset cache strategy includes that the frequency of the routing node transmitting the target content within a preset time period exceeds a preset frequency threshold, or the node utilization of the routing node is lower than a preset node utilization threshold.
[0258] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0259] receiving application information published by each of the nodes, the application information including the node service performance parameter of the node, and the application requirement model or a model identifier of the application requirement model;
[0260] Routing learning is performed according to each of the application information to form the routing information table.
[0261] Figure 10 It is a schematic structural diagram of the chip of an embodiment of the present application. Figure 10 The chip 900 shown includes a processor 910, which can call and run a computer program from a memory to implement the method in the embodiment of the present application.
[0262] Alternatively, as Figure 10 As shown, the chip 900 may further include a memory 920. The processor 910 may call and execute a computer program from the memory 920 to implement the method in the embodiment of the present application.
[0263] The memory 920 may be a separate device independent of the processor 910 , or may be integrated into the processor 910 .
[0264] Optionally, the chip 900 may further include an input interface 930. The processor 910 may control the input interface 930 to communicate with other devices or chips, and specifically, may obtain information or data sent by other devices or chips.
[0265] Optionally, the chip 900 may further include an output interface 940. The processor 910 may control the output interface 940 to communicate with other devices or chips, and specifically, may output information or data to other devices or chips.
[0266] Optionally, the chip 900 can be applied to the communication device in the embodiment of the present application, and the chip 900 can implement the corresponding processes implemented in the various methods in the embodiment of the present application. For the sake of brevity, they will not be repeated here.
[0267] It should be understood that the chip 900 mentioned in the embodiment of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0268] The present application also provides a computer program product comprising instructions, which, when executed by a processor, implements the following steps:
[0269] Receive interest packets for target content;
[0270] Determining multiple candidate nodes that can provide the target content from the information center network, and determining a target node with the largest performance quantization value based on the node service performance parameters and path loss parameters corresponding to each of the candidate nodes, so that the target node provides the target content in response to the interest packet;
[0271] The node service performance parameter is used to characterize the service performance of the candidate node for the target content, and the path loss parameter is used to characterize the path loss in the routing path corresponding to the candidate node.
[0272] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0273] For each candidate node, calculating and analyzing the node service performance parameter and the path loss parameter of the candidate node to obtain a performance quantization value corresponding to the candidate node;
[0274] The candidate node with the largest performance quantization value is used as the target node.
[0275] In one embodiment, the node service performance parameter is obtained by calculating and analyzing at least one performance indicator value corresponding to the candidate node;
[0276] The performance indicator values include computing capability indicator values, memory capability indicator values, communication capability indicator values, storage capability indicator values or security capability indicator values, and the performance indicator values include static indicator values and / or dynamic indicator values.
[0277] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0278] querying a routing information table according to the target content identifier of the target content carried in the interest packet, so as to determine the multiple candidate nodes according to the query result;
[0279] The routing information table includes a plurality of routing entries, each of which includes a set of mapping relationships between a content identifier, a node identifier of a node corresponding to the content identifier, a node service performance parameter, and a path loss parameter.
[0280] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0281] According to the target content identifier, searching the routing information table for at least one target routing entry containing the target content identifier as the query result;
[0282] The candidate nodes are determined according to the query result.
[0283] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0284] If the routing node has the target content cached, the destination node corresponding to the destination node identifier included in each target routing entry and the routing node are used as the candidate nodes, wherein the path loss parameter of the routing node is zero.
[0285] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0286] If the target node is the routing node, the interest packet is responded to through the target content cached in the routing node.
[0287] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0288] If the routing node does not cache the target content, the destination node corresponding to the destination node identifier included in each target routing entry is used as each candidate node.
[0289] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0290] Searching the pending interest table PIT for a PIT entry corresponding to the target content identifier, wherein the PIT entry includes at least the target content identifier and an interface identifier of a corresponding interest packet request received after the PIT entry is added;
[0291] If the PIT entry does not exist in the PIT, the interest packet is sent to the target node according to the routing information table, and a PIT entry corresponding to the target content identifier is added to the PIT.
[0292] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0293] receiving the target content sent by the target node;
[0294] The interest packet is responded to based on the target content and the PIT entry corresponding to the target content identifier, and the PIT entry corresponding to the target content identifier is deleted from the PIT.
[0295] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0296] Determining an application requirement model of a target application corresponding to the target content, the application requirement model including at least one of a maximum latency requirement, a data processing requirement, a data storage requirement, and a resource characteristic requirement;
[0297] If the computing power resources corresponding to the routing node meet the requirements of the application demand model, it is determined to cache the target content while satisfying a preset cache strategy.
[0298] In one embodiment, the preset cache strategy includes that the frequency of the routing node transmitting the target content within a preset time period exceeds a preset frequency threshold, or the node utilization of the routing node is lower than a preset node utilization threshold.
[0299] In one embodiment, when the computer program is executed by the processor, the computer program further implements the following steps:
[0300] receiving application information published by each of the nodes, the application information including the node service performance parameter of the node, and the application requirement model or a model identifier of the application requirement model;
[0301] Routing learning is performed according to each of the application information to form the routing information table.
[0302] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0303] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0304] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make various modifications and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application. Therefore, the scope of protection of the present patent application shall be determined by the appended claims.
Claims
1. A routing method, characterized in that: Used in a routing node in an information-centric network (ICN) comprising at least one node, the method comprises: Receive interest packets for target content; Determining multiple candidate nodes that can provide the target content from the information center network, and determining a target node with the largest performance quantization value based on the node service performance parameters and path loss parameters corresponding to each of the candidate nodes, so that the target node provides the target content in response to the interest packet; Among them, the node service performance parameter is used to characterize the service performance of the candidate node for the target content, and the path loss parameter is used to characterize the path loss in the routing path corresponding to the candidate node; the target application corresponding to the target content has its application requirement model; the node service performance parameter is obtained by normalizing multiple performance indicator values corresponding to the candidate node to obtain a normalized vector, then decorrelating each of the normalized vectors to obtain an evaluation vector, setting weights according to the application requirements corresponding to the application requirement model, and weighted calculation of the evaluation vector. The application requirement model includes at least one of maximum delay requirements, data processing requirements, data storage requirements, and resource characteristic requirements. The performance indicator value includes a computing power indicator value, a memory capacity indicator value, a communication capacity indicator value, a storage capacity indicator value, or a security capacity indicator value. The performance indicator value includes a static indicator value and / or a dynamic capacity indicator value. The static indicator value refers to the initial value or configuration value of the performance indicator value for the target content, and the dynamic capacity indicator value refers to the current value of the performance indicator value, including concurrency and utilization.
2. The method according to claim 1, characterized in that The determining, based on the node service performance parameters and path loss parameters corresponding to each of the candidate nodes, a target node with a maximum performance quantization value, includes: For each candidate node, calculating and analyzing the node service performance parameter and the path loss parameter of the candidate node to obtain a performance quantization value corresponding to the candidate node; The candidate node with the largest performance quantization value is used as the target node.
3. The method according to any one of claims 1-2, characterized in that The determining of a plurality of candidate nodes that can provide the target content from the information center network includes: querying a routing information table according to the target content identifier of the target content carried in the interest packet, so as to determine the multiple candidate nodes according to the query result; The routing information includes multiple routing entries, and each routing entry includes a set of mapping relationships between a content identifier, a node identifier of a node corresponding to the content identifier, a node service performance parameter, and a path loss parameter.
4. The method according to claim 3, characterized in that The querying a routing information table according to the target content identifier of the target content carried in the interest packet to determine the multiple candidate nodes according to the query result includes: According to the target content identifier, searching the routing information table for at least one target routing entry containing the target content identifier as the query result; The candidate nodes are determined according to the query result.
5. The method according to claim 4, characterized in that The determining each candidate node according to the query result includes: If the routing node has the target content cached, the destination node corresponding to the destination node identifier included in each target routing entry and the routing node are used as the candidate nodes, wherein the path loss parameter of the routing node is zero.
6. The method according to claim 5, characterized in that The method further comprises: If the target node is the routing node, the interest packet is responded to through the target content cached in the routing node.
7. The method according to claim 4, characterized in that The determining each candidate node according to the query result includes: If the routing node does not cache the target content, the destination node corresponding to the destination node identifier included in each target routing entry is used as each candidate node.
8. The method according to claim 7, characterized in that The method further comprises: Searching the pending interest table PIT for a PIT entry corresponding to the target content identifier, wherein the PIT entry includes at least the target content identifier and an interface identifier of a corresponding interest packet request received after the PIT entry is added; If the PIT entry does not exist in the PIT, the interest packet is sent to the target node according to the routing information table, and a PIT entry corresponding to the target content identifier is added to the PIT.
9. The method according to claim 8, characterized in that The method further comprises: receiving the target content sent by the target node; The interest packet is responded to based on the target content and the PIT entry corresponding to the target content identifier, and the PIT entry corresponding to the target content identifier is deleted from the PIT.
10. The method according to claim 9, characterized in that The method further comprises: Determine an application requirement model of a target application corresponding to the target content; If the computing power resources corresponding to the routing node meet the requirements of the application demand model, the target content is cached while satisfying a preset cache strategy.
11. The method according to claim 10, characterized in that The preset cache strategy includes that the frequency of the routing node transmitting the target content within a preset time period exceeds a preset frequency threshold, or the node utilization rate of the routing node is lower than a preset node utilization rate threshold.
12. The method according to claim 10, characterized in that The method further comprises: receiving application information published by each of the nodes, the application information including the node service performance parameter of the node, and the application requirement model or a model identifier of the application requirement model; Routing learning is performed according to each of the application information to form the routing information table.
13. A routing device, characterized in that: The device is provided in a routing node in an information center network (ICN) including at least one node, and includes: A receiving module, configured to receive interest packets for target content; a determination module, configured to determine, from the information center network, a plurality of candidate nodes that can provide the target content, and determine, based on the node service performance parameters and path loss parameters corresponding to the candidate nodes, a target node with the largest performance quantization value, so that the target node provides the target content in response to the interest packet; Among them, the node service performance parameter is used to characterize the service performance of the candidate node for the target content, and the path loss parameter is used to characterize the path loss in the routing path corresponding to the candidate node; the target application corresponding to the target content has its application requirement model; the node service performance parameter is obtained by normalizing multiple performance indicator values corresponding to the candidate node to obtain a normalized vector, then decorrelating each of the normalized vectors to obtain an evaluation vector, setting weights according to the application requirements corresponding to the application requirement model, and weighted calculation of the evaluation vector. The application requirement model includes at least one of maximum delay requirements, data processing requirements, data storage requirements, and resource characteristic requirements. The performance indicator value includes a computing power indicator value, a memory capacity indicator value, a communication capacity indicator value, a storage capacity indicator value, or a security capacity indicator value. The performance indicator value includes a static indicator value and / or a dynamic capacity indicator value. The static indicator value refers to the initial value or configuration value of the performance indicator value for the target content, and the dynamic capacity indicator value refers to the current value of the performance indicator value, including concurrency and utilization.
14. A communication device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 12 are implemented.
15. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.
16. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.