Method for content caching in information-centric network virtualization

11502956 · 2022-11-15

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for content caching in information centric network virtualization includes receiving, by a first node, a first data packet; in response to a cache distance identifier hop of the first data packet being less than a preset maximum cache distance, setting hop=hop+1 and sending the first data packet to a next node by the first node; in response to the hop being not less than the preset maximum cache distance and there being available cache space in the first node, setting hop=0, storing the first data packet, and sending the first data packet to the next node by the first node. The node determines whether to cache a data packet based on the cache distance identifier of the data packet, which comprehensively considers the cache energy consumption caused by caching the data packet in the node and the transmission energy consumption caused by transmission of the data packet in the link, thereby effectively reducing the total energy consumption of the network.

Claims

1. A method for content caching in information-centric network virtualization, comprising: receiving, by a first node, a first data packet; in response to a cache distance identifier hop of the first data packet being less than a preset maximum cache distance, setting hop=hop+1 and sending the first data packet to a next node by the first node; and in response to the hop being not less than the preset maximum cache distance and there being available cache space in the first node, setting hop=0, storing the first data packet, and sending the first data packet, to the next node by the first node; in response to the hop being not less than the preset maximum cache distance and there being no available cache space in the first node, and in response to a request frequency weight of the first data packet being less than that of a second data packet, setting hop=hop+1 and sending the first data packet to the next node by the first node; wherein, the second data packet is a data packet with the smallest request frequency weight stored in the cache space of the first node; wherein the request frequency weight is: coun t m _ = .Math. n = 1 N θ n c o u n t m ( T n ) ; wherein, count.sub.m is the request frequency weight of the data packet c.sub.m; count.sub.m (T.sub.m) is a frequency at which the requested data packet c.sub.m is received by the first node within a time period T.sub.n; θ.sub.n is a weight of the preset time period T.sub.n, θ.sub.1> . . . θ.sub.n . . . > . . . >θ.sub.N>0; and n is a sequence number of the time period, n=1, 2, . . . N, in which the greater n the greater a temporal distance between the time period T.sub.n and the current time T.

2. The method of claim 1, further comprising: in response to the request frequency weight of the first data packet being not less than that of the second data packet, discarding the second data packet, storing the first data packet, setting hop=0, and sending the first data packet to the next node by the first node.

3. The method of claim 1, wherein the request frequency weight is a frequency at which a requested data packet c.sub.m is received by the first node within a time period T before a current time, wherein, m is a sequence number of the data packet, m=1, 2, . . . K.

4. The method of claim 1, further comprising: in response to the hop being not less than the preset maximum cache distance and there being no available cache space in the first node, calculating a total energy consumption E.sub.total_k in the network caused by discarding the second data packet stored in the cache space of the first node and storing the first data packet; and in response to E.sub.total_k being greater than a current total energy consumption E.sub.total in the network, setting hop=hop+1 and sending the first data packet to the next node by the first node; wherein, the second data packet is a data packet with the smallest request frequency weight stored in the cache space of the first node.

5. The method of claim 4, further comprising: in response to E.sub.total_k being not greater than the current total energy consumption E.sub.total in the network and a request frequency weight of the first data packet being less than that of the second data packet, setting hop=hop+1 and sending the first data packet to the next node by the first node.

6. The method of claim 5, further comprising: in response to E.sub.total_k being not greater than the current total energy consumption E.sub.total in the network and the request frequency weight of the first data packet being not less than that of the second data packet, setting hop=0, discarding the second data packet, storing the first data packet, setting E.sub.total=E.sub.total_k, and sending the first data packet to the next node by the first node.

7. The method of claim 5, wherein the request frequency weight is a frequency at which a requested data packet c.sub.m is received by the first node within a time period T before a current time, wherein, m is a sequence number of the data packet, m=1, 2, . . . K.

Description

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

(1) FIG. 1 is a flowchart of a method according to Embodiment 1 of the present disclosure;

(2) FIG. 2 is a flowchart of a method according to Embodiment 2 of the present disclosure.

DETAILED DESCRIPTION

(3) In order to better illustrate the technical solutions of the present disclosure, detailed description of the embodiments of the disclosure will be made below with reference to the accompanying drawings.

(4) In an ICWNV network, the network is not concerned with the storage location of content, but only with the content itself. Content in the network use its names rather than IP addresses as the identification of the content. There are two types of packets in the ICWNV network: interest packet and data packet. When virtual network requests (VNRs) arrive, the ICWNV network will first provide enough CPU and bandwidth resources for node mapping and link mapping of the VNRs. Next, the mapping node will retrieve, by routing, a neighboring node or data center containing corresponding data according to the user's interest packet. The data packet is then transmitted to the mapping node along a path opposite to the interest packet.

(5) The specific process for a user to request a data packet and access a data packet includes the steps as follows: (1) The network first complete node mapping and link mapping according to the request of the user, while the mapping node will send out an interest packet according to the request of the user; (2) A node will check whether there is a data packet corresponding to the request in its cache space, and if yes, transmitting the data packet back to the mapping node; (3) Otherwise, the node will query whether a pending request table contains an entry corresponding to the request: if yes, an interface number with which the interest packet enters is added to an interface list of the corresponding entry, which indicates that other users have made a request for the same data packet and passed through the node; and otherwise, a new entry is created in the pending request table and a forwarding information base of the node is queried, and then the request is forwarded to a next hop node; and (4) When the data packet arrives, the node will query the pending request table, and if there is a request entry corresponding to the data packet in the pending request table, the data packet is forwarded from an interface in the interface list corresponding to the entry and stored in cache space (CS) of an appropriate node according to a corresponding storage strategy.

(6) In embodiments of the present disclosure, a cache distance identifier hop is added in the data packet. When the data packet is cached in the current node, the node sets the hop of the data packet to 0; otherwise, the node sets hop=hop+1 for the data packet.

Embodiment 1

(7) This embodiment is a preferred implementation of a method for caching content in ICWNV according to the present disclosure. FIG. 1 shows the process of this embodiment, including the steps as follows: At step S101, a first node receives a first data packet. At step S102, the first node determines whether a cache distance identifier hop of the first data packet is less than a preset maximum cache distance hop.sub.max, and if yes, proceeds to step S103, otherwise, proceeds to step S104, wherein, the hop is used to indicate the number of hops from the node in which the first data packet is cached to the first node.

(8) The hop.sub.max is a cache distance preset, through experimental data or simulation results according to parameters of the specific network scale, node cache power density, node energy density and link energy density, to realize the lowest estimated average energy consumption of the network under the premise of meeting network transmission efficiency requirements.

(9) In this embodiment, the hop is stored in the first data packet.

(10) At step S103, the first node sets hop=hop+1, and proceeds to step S108.

(11) At step S104, the first node determines whether there is available cache space, and if yes, proceeds to step S105, otherwise, proceeds to step S106.

(12) At step S105, the first node sets hop=0 and stores the first data packet, then proceeds to step S108.

(13) At step S106, the first node determines whether a request frequency weight of the first data packet is not less than that of a second data packet, and if yes, proceeds to step S107, otherwise, proceeds to step S103.

(14) As a preferred implementation of this embodiment, in this step, the request frequency weight count.sub.m is obtained by calculating a frequency at which the requested data packet c.sub.m is received by the first node within a time period T before a current time, wherein m is a sequence number of the data packet, m=1, 2, . . . K.

(15) As another preferred implementation of this embodiment, in this step, the request frequency weight count.sub.m is obtained by:

(16) coun t m _ = .Math. n = 1 N θ n c o u n t m ( T n ) ;
wherein, count.sub.m(T.sub.n) is a frequency at which the requested data packet c.sub.m is received by the first node within a time period T.sub.n; θ.sub.n is a weight for accessing c.sub.m within the preset time period T.sub.n, θ.sub.1> . . . >θ.sub.n . . . > . . . >θ.sub.N>0; and n is a sequence number of the time period, n=1, 2, . . . N, in which the greater n is, the greater a temporal distance between the time period T.sub.n and the current time T.

(17) At step S107, the first node discards the second data packet, stores the first data packet, and sets hop=0.

(18) At step S108, the first node forwards the first data packet to a next node.

(19) In this embodiment, the network sets an identifier in the data packet to indicate a number of hops from the current node to a node in which the data packet is cached: cache distance identifier. When the current node receives a data packet, it first determines whether the cache distance identifier of the data packet is less than a preset maximum cache distance. If yes, the current node does not cache the data packet, otherwise, the current node further determines whether there is available cache space. If yes, the current node stores the data packet, otherwise, the current node discards the one that has the lowest request frequency weight among the data packet and those already cached in the current node. In this embodiment, the node determines whether to cache a data packet based on the cache distance identifier of the data packet, which comprehensively considers the cache energy consumption caused by caching the data packet in the node and the transmission energy consumption caused by transmission of the data packet in the link, thereby effectively reducing the energy consumption of data packet distribution across nodes. Meanwhile, when the cache space is full, a data packet to be discarded is determined based on the request frequency weight of the data packet, which ensures that the data cached by the node is the data with a high request frequency, thereby improving the efficiency for a user to access data.

(20) In the preferred implementation of this embodiment, the time period for calculating the request frequency of a data packet is further subdivided, and the request frequency weight for each time period is set according to the distance between the time period and the current time, which effectively avoids a relatively high total request frequency due to the fact that the request frequency is high within an early time period and is low within a recent time period, thereby further improving the efficiency for a user to access data.

Embodiment 2

(21) This embodiment is another preferred implementation of a method for caching content in ICWNV according to the present disclosure. FIG. 2 shows the process of this embodiment, including the steps as follows:

(22) At step S201, a first node receives a first data packet.

(23) At step S202, the first node determines whether a cache distance identifier hop of the first data packet is less than a preset maximum cache distance hop.sub.max, and if yes, proceeds to step S203, otherwise, proceeds to step S204, wherein, the hop is used to indicate the number of hops from the node in which the first data packet is cached to the first node.

(24) The hop.sub.max is a cache distance preset, through experimental data or simulation results according to parameters of the specific network scale, node cache power density, node energy density and link energy density, to realize the lowest estimated average energy consumption of the network under the premise of meeting network transmission efficiency requirements.

(25) In this embodiment, the hop is stored in the first data packet.

(26) At step S203, the first node sets hop=hop+1, and proceeds to step S210.

(27) At step S204, the first node determines whether there is available cache space, and if yes, proceeds to step S205, otherwise, proceeds to step S206.

(28) At step S205, the first node calculates and stores the total energy consumption after caching the first data packet, sets hop=0 and stores the first data packet, then proceeds to step S210.

(29) At step S206, calculating the total energy consumption E.sub.total_k of the network after the first node discards the second data packet stored in its cache space and stores the first data packet:

(30) E total_k = .Math. i = 1 I { x ij , k { R i , k s i z e k { d ij , k ( P n o d e + P link ) + P n o d e } } + y i , k { P cache s i z e k t } } + .Math. l k , l = 1 K { .Math. i = 1 I { R i , l x ij , k { s i z e l { d ij , l ( P n o d e + P link ) + P n o d e } } + y i , l { P cache s i z e l t } } } ;
wherein, i, j are sequence numbers of a node respectively, i, j=1, 2, . . . I, i≠j,

(31) k is a sequence number of the first data packet, and l is a sequence number of the data packet, l=1, 2, . . . K, l≠k, and

(32) wherein, the second data packet is a data packet with the smallest request frequency weight stored in the cache space of the first node.

(33) At step S207, the first node determines whether E.sub.total_k is greater than a current total energy consumption E.sub.total in the network, and if yes, proceeds to step S203, otherwise, proceeds to step S208.

(34) At step S208, the first node determines whether a request frequency weight of the first data packet is not less than that of a second data packet, and if yes, proceeds to step S209, otherwise, proceeds to step S203.

(35) As a preferred implementation of this embodiment, in this step, the request frequency weight count.sub.m is obtained by calculating a frequency at which the requested data packet c.sub.m is received by the first node within a time period T before a current time, wherein m is a sequence number of the data packet, m=1, 2, . . . K.

(36) As another preferred implementation of this embodiment, in this step, the request frequency weight count.sub.m is obtained by:

(37) coun t m _ = .Math. n = 1 N θ n c o u n t m ( T n ) ;
wherein, count.sub.m(T.sub.n) is a frequency at which the requested data packet c.sub.m is received by the first node within a time period T.sub.n; θ.sub.n is a weight for accessing c.sub.m within the preset time period T.sub.n, θ.sub.1> . . . >θ.sub.n . . . > . . . >θ.sub.N>0; and n is a sequence number of the time period, n=1, 2, . . . N, in which the greater n is, the greater a temporal distance between the time period T.sub.n and the current time T.

(38) At step S209, the first node sets hop=0, discards the second data packet, stores the first data packet, and sets E.sub.total=E.sub.total_k.

(39) At step S210, the first node forwards the first data packet to a next node.

(40) On the basis of Embodiment 1, this embodiment further reduces the total energy consumption of the network by determining the data packet to be discarded based on determination of the total energy consumption after caching data packet when the cache space is full.

(41) In the preferred implementation of this embodiment, the time period for calculating the request frequency of a data packet is further subdivided, and the request frequency weight for each time period is set according to the distance between the time period and the current time, which effectively avoids a relatively high total request frequency due to the fact that the request frequency is high within an early time period and is low within a recent time period, thereby further improving the efficiency for a user to access data.

(42) It should be noted that the above-mentioned embodiments are only used for illustrating, but not for limiting, the technical solutions of the present disclosure. Though the disclosure is described in detail with reference to the preferred embodiments, it should be understood by those skilled in the art that the technical solutions of the disclosure can be modified or substituted with equivalents without departing from the purpose and scope of the technical solutions of the present disclosure, which should fall within the scope defined by the following claims.