Multi-Subsystem Nested Coding Caching Method and System for Heterogeneous User Cache Capacities
By introducing multi-subsystem nested coding cache method in a multi-relay wireless communication system with heterogeneous user cache capacity, dynamically adjusting the subsystem weights, the problem that traditional cache strategies are difficult to reduce global link load, and more efficient link load reduction and system reliability improvement are achieved.
Patent Information
- Application Number
- CN202111611741.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-27
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2041-12-27
AI Technical Summary
In existing networks with multi-relay heterogeneous user cache capacity, traditional caching strategies can only bring local cache gain, making it difficult to effectively reduce global link load.
A multi-subsystem nested coding cache method with heterogeneous user cache capacity is proposed. The subsystem weight is dynamically adjusted to reduce link load through the steps of Gemini system division, partial subfile cache, remaining partial subfile cache, full file transmission, joint design grouping and zero-bit filling, decentralized coding cache and user node receiving file information.
By perceiving system status information, dynamically adjusting subsystem weights, reducing the link load of the overall system, improving the effectiveness and reliability of the system, and realizing hidden coded multicast gains between users.
Smart Images

Figure CN114268993B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of digital communication, and particularly relates to a multi-subsystem nested coding cache method and system for heterogeneous user cache capacities. Background Art
[0002] In recent years, with the rapid growth of data traffic, which brings huge pressure to the link, since the coding cache technology was proposed in 2014, the global cache gain that can be obtained by coding cache has received extensive attention in the industry.
[0003] Coding cache is divided into a placement phase and a delivery phase. In the placement phase, which usually occurs during the link idle time period (such as early morning), each user stores a part of the content of the file in its own cache space. In the delivery phase, which usually occurs during the link busy phase, each user independently and randomly accesses a file. After receiving the request, the server sends an encoded multicast file according to the content cached by the user, and the user obtains the requested file based on the received file and the content cached by itself. Therefore, compared with the traditional cache technology, coding cache can greatly reduce the link rate. Coding cache is divided into a placement phase and a delivery phase, which are carried out in the off-peak phase and the peak phase respectively. By jointly designing the network layer cache placement and the physical layer signal transmission, the global cache gain is maximized to reduce the network load.
[0004] In the existing network with multi-relay heterogeneous user cache capacities, the traditional cache strategy can only bring local cache gain, which is related to the cache capacity of a single user. By combining the coding cache technology with a multi-relay server, a global cache gain can be obtained among users. In a communication system with heterogeneous user cache capacities, the link load of the source server can be greatly reduced. Summary of the Invention
[0005] Aiming at the defects existing in the prior art, the present invention discloses a multi-subsystem nested coding cache method and system for heterogeneous user cache capacities. Compared with the traditional cache and orthogonal unicast transmission strategies, the present invention can obtain the hidden coded multicast gain among users, thereby reducing the global link load.
[0006] To achieve the above object, the present invention is realized through the following technical solutions:
[0007] A multi-subsystem nested coding cache method for heterogeneous user cache capacities is completed according to the following steps:
[0008] Step S1, the source node performs a two-subsystem division to obtain the subsystem division ratio;
[0009] Step S2, the relay node and the user randomly cache some sub-files;
[0010] Step S3, ignoring the cache capacity of the relay node, the user randomly caches the remaining sub-files;
[0011] Step S4, the source node performs full file transmission: The source node indexes according to the user request, encodes and modulates the sub-files to be transmitted and sends them into free space, and the relay node recovers all the requested sub-files.
[0012] Step S5, the relay node performs jointly designed packetization and zero-bit padding: Different encoding transmission methods are respectively performed according to the relationship between the number of users and the number of files.
[0013] Step S6, the source node performs decentralized coded caching: The relay node forwards the coded information transmitted by the source node to all users.
[0014] Step S7, the user node receives file information: After the sub-files received by the user are demodulated and decoded, they are XOR-processed with the sub-files cached by the user in Step S2 and Step S3 and then combined to recover the requested file.
[0015] Preferably, in Step S1, the number of users, the user cache capacity, the number of relay nodes, and the cache capacity are used as input parameters, and the source node performs a two-subsystem partitioning method to obtain the partitioning ratio values of the first system I and the second system II.
[0016] Preferably, in Step S2, taking the partitioning ratio value obtained in Step S1 as an input parameter, the relay node and the user cache are completed according to the following sub-steps:
[0017] Step S2.1, taking the partitioning ratio value obtained in Step S1, and sequentially partitioning all individual files through a file partitioning method to obtain sub-files.
[0018] Step S2.2, taking the partitioning ratio value obtained in Step S1 and the sub-files obtained in Step S2.1 as input parameters, performing a cached file partitioning method in System I, and the relay node and the user arbitrarily cache some sub-files according to the partitioning ratio and the partitioned sub-files to obtain the cached sub-files.
[0019] Preferably, in Step S3, taking the partitioning ratio value of Step S1 and the sub-files of Step S2.1 as input parameters, performing a cached file partitioning method in System II, and the user arbitrarily caches some of the remaining sub-files according to the partitioning ratio and the partitioned sub-files to obtain the stored sub-files.
[0020] Preferably, in Step S4, taking the file sequence number index requested by the user as an input parameter, the source node transmits the requested sub-files, which is completed according to the following steps:
[0021] Step S4.1, the source node takes the file sequence number index requested by the user as an input parameter, performs a full file transmission method to obtain the XOR-processed sub-files.
[0022] Step S4.2: The source node further processes the sub-files obtained in Step S4.1 through channel coding, decoding, modulation, and demodulation methods and then sends them into free space. Further, after receiving the sub-file sequence, the relay node obtains all the requested sub-files through decoding and demodulation.
[0023] Preferably, in Step S5, using all the requested files and user indexes obtained in Step S4 as input parameters, the relay node performs joint design grouping and zero-bit padding methods to obtain sub-files after XOR processing. After further processing through channel coding, decoding, modulation, and demodulation methods, a bit sequence to be transmitted is obtained. Then, it is sent into free space by the transmitting antenna, and all the encoded and modulated transmitted files requested by the user are obtained at the user node.
[0024] Preferably, in Step S6, using the sub-files cached in Steps S2 and S3 and the user request file indexes as input parameters, the source node performs decentralized coded caching to transmit the remaining requested sub-files, obtains sub-files after network coding, and then processes the requested sub-files through channel coding, decoding, modulation, and demodulation methods and sends them into free space. After being received by the relay node, they are forwarded to the user node, and all the encoded and modulated files are received by the user node through the receiving antenna in free space.
[0025] Preferably, in Step S7, for the files sent in Steps S5 and S6, the relay node sequentially performs channel coding, decoding, modulation, and demodulation methods to obtain sub-files after network coding. Then, through bit-by-bit XOR and combination with the cached sub-files, the finally requested file is obtained, and this requested file is the final result of the present invention.
[0026] Preferably, in Step S1, the two-subsystem partitioning method is completed by the following steps:
[0027] Step S1.1: The multi-relay heterogeneous user caching capacity system includes 1 source node. There are a total of N files in the file library of the source node, and the files are represented by W i , where i is a positive integer, 1 ≤ i ≤ N, and N is a positive integer representing the number of files; the size of each file is F bits and is represented as: |W i | = F. Among them, F ≥ 0, which is a real number greater than or equal to 0. The source node can access all the files in the file library. There are K1 relay nodes connected to the source node, and S i represents the i-th relay node, i ∈ {1, 2,..., K1}. Among them, K1 is a positive integer and i is a positive integer. Each relay node can store M1 files, M1 ≤ N. Among them, M1 is a positive integer. The caching capacity is M1·F bits. The file content cached in S i is denoted as Z 1,i . Each relay node serves K2 users. Among them, K2 is a positive integer. Therefore, the system has a total of K1·K2 users, and U(i,j) Denoted as the j-th user under the i-th relay node, U (i,j) The cached file content is denoted as Z 2,(i,j) . Using the following formula (1), all files are divided into proportional values of α and 1 - α, and the user cache capacity is divided into proportional values of β and 1 - β. Among them, α and β are real numbers in the range of 0 to 1.
[0028]
[0029] Among them, I, II, and III are 1, 2, and 3 in Roman numerals, and here they respectively represent the division regions under different values of the number of files, the number of relay nodes, the relay node cache capacity, and the user cache capacity in the following formulas (2)-(4):
[0030] M1 + M max K2 ≥ N, 0 ≤ M1 ≤ N / 4 (2)
[0031] M1 + M max K2 ≤ N (3)
[0032] M1 + M max K2 ≥ N, N / 4 < M1 ≤ N (4)
[0033] Step 2.2, after obtaining the subsystem division ratio in Step 2.1, the system is divided into two subsystems. System I and System II are respectively the α and (1 - α) parts of the transmitted requested files.
[0034] Preferably, in Step S4.1, the full file transmission method is completed by the following steps:
[0035] Step S4.1.1: Each user requests a file and represents the file requested by user U (i,j) The decentralized coding delivery strategy method is as follows: If there are K1 users and the file index requested by each user is d k , in the delivery phase, the source node sends:
[0036]
[0037] Among them, ∪(·) means sending the sub-files in (·) and then sending the remaining sub-files again. K is a temporary variable, represents the sub-files requested by the users in the set S\k, and S\k means the set S does not contain k, [K1] = {1, 2,..., K1}, represents the exclusive OR operation. After the above sending process, all users can obtain the requested sub-files.
[0038] Step S4.1.2: Arbitrarily select K1 files from all files, and the source node uses the decentralized transmission in formula (6) below. Each transmission ensures that the files sent to S are different. Therefore, the source node sends k are different files. Thus, the source node sends
[0039]
[0040] where means that set T is a subset of set [N], and |T| = K1 means that the number of elements in set T is equal to K1. means user U (i,j) 's request index does not belong to d′ 1,k , and d′ 1,k represents the set of file index requests by S k before this decentralized delivery. d′ 1,k = {d 1,1 , d 1,2 ,..., d 1,K1}, where d 1,1 represents the request index of user U (i,j) and is a positive integer. [N] = {1, 2,..., N}, and k ∈ S means that k belongs to set S. K is a positive integer and represents a temporary variable.
[0041] Preferably, in step S5, the joint design based on the grouping and zero-bit padding method is completed by the following steps:
[0042] Step S5.1: Assume that there are k1 users under S i requesting W1, denoted as d (i,j) = 1, 1 ≤ j ≤ k1. These users are divided into a group, denoted as G1; there are k2 users under S i requesting W2 and are divided into group G2, and the same applies to the rest. Define to represent the number of users in the k-th group. Therefore, the number of users in G k is H k - H k-1 , and the user request is
[0043] d (i,j) = k, k = 1, 2,..., N, H k-1 + 1 ≤ j ≤ H k (7)
[0044] where H0 = 0.
[0045] The delivery phase is divided into three stages.
[0046] In the first stage, S k delivers the files not cached by all users, that is, S k sends
[0047]
[0048] Indicates a requested sub - file that is not cached by any user. Indicates an empty set, containing nothing.
[0049] In the second stage, each user obtains all sub - files cached only in one user. In this stage, first, S k broadcasts
[0050]
[0051] where W i,{k} represents the sub - file of W cached only by user k. For user U i ∈G (i,j) when the requested file index d k =k, after receiving the file of equation (9), U in this group (i,j) can obtain all sub - files of W cached by other users in G (i,j) , that is, W k , l ∈ {H k +1, H k,{l} +2,..., H k-1} k-1} k}
[0052] After sending equation (9), S k broadcasts
[0053]
[0054] The main purpose of equation (10) is to enable users in G k to obtain sub - files cached by users in other groups T\k means that the set T does not contain the element k.
[0055] In the third stage, transmit sub - files of the requested file cached by two or more users. S k sends
[0056]
[0057] where |T| represents the number of elements contained in the set T, represents that the set T is a subset of the set [K2], [K2] = {1, 2,..., K2}.
[0058] After the above three stages, users with heterogeneous cache capacities can obtain all sub - files cached only in one user.
[0059] Step S5.2: When the number of users is less than the number of files, S k Create coded multicast opportunities among different user sets in turn. For each user set, zero-bit pad the smaller sub-files to make their sizes the same as the largest sub-file size, and then, via S k After coding, broadcast to all users. S k The content broadcast is
[0060]
[0061] Among them, is the zero-bit padded sub-file, and T\k means that element k is not included in set T. The size of the zero bits padded for each sub-file is denotes the maximum bit value that can be taken.
[0062] The present invention also discloses a coded caching system with nested multi-subsystems for heterogeneous user caching capacities, including the following modules:
[0063] Subsystem partitioning module: The source node performs dual-subsystem partitioning to obtain the subsystem partitioning ratio;
[0064] Partial sub-file caching module: The relay node and users randomly cache partial sub-files;
[0065] Remaining partial sub-file caching module: Ignoring the caching capacity of the relay node, users randomly cache the remaining partial sub-files;
[0066] Full-file transmission module executed by the source node: According to the user request index, the source node encodes and modulates the sub-files to be transmitted and sends them into free space, and the relay node recovers all the requested sub-files;
[0067] Jointly designed grouping and zero-bit padding module: According to the relationship between the number of users and files, different coded transmission methods are executed respectively;
[0068] Decentralized coded caching module of the source node: The relay node forwards the coded information transmitted by the source node to all users;
[0069] User node file information receiving module: After the users demodulate and decode the received sub-files, they perform exclusive OR processing with the sub-files cached by the users in the partial sub-file caching module and the remaining partial sub-file caching module and then combine them to recover the requested files.
[0070] The technical effects of the present invention are as follows:
[0071] The present invention applies coded caching to a multi-relay wireless communication system with heterogeneous user caches, and proposes a coded caching strategy with multi-subsystem nesting. Compared with the coded placement and delivery of the overall system, by sensing the state information of the system, the weights of the two subsystems are dynamically adjusted to reduce the link load of the overall system. According to the relationship between the number of users and the number of files, a grouping-based and zero-bit padding strategy is jointly designed to reduce the transmission load and complexity. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] Figure 1 It is a system model diagram of Embodiment 1 of the present invention.
[0073] Figure 2 It is a subsystem division model diagram of Embodiment 1 of the present invention.
[0074] Figure 3 It is a flowchart of Embodiment 1 of the present invention.
[0075] Figure 4 It is a diagram of the normalized cache capacity of users under different parameters in Embodiment 1 of the present invention.
[0076] Figure 5 It is a comparison diagram of the packet-based link rate in Embodiment 1 of the present invention.
[0077] Figure 6 It is a comparison diagram of the link rate of zero-bit padding in Embodiment 1 of the present invention.
[0078] Figure 7 It is a diagram of the region division parameters in Embodiment 1 of the present invention.
[0079] Figure 8 It is a block diagram of a coded caching system with multi-subsystem nesting for the heterogeneous user cache capacity in Embodiment 2. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0080] In order to more clearly illustrate the embodiments of the present invention, the specific embodiments of the present invention will be described below with reference to the accompanying drawings.
[0081] A technical solution of coded caching with multi-subsystem nesting in a heterogeneous wireless communication network provided by the present invention can be used in the field of information and communication engineering technology, and is not limited to the communication field detailed in the following embodiments. The following selects typical fields to illustrate the specific embodiments of the present invention.
[0082] Some background technologies related to the present invention are introduced as follows:
[0083] 1. Hierarchical coded caching method
[0084] The system is divided into two subsystems, and all file and user cache capacities are partitioned. The first subsystem utilizes the coded multicast gain between adjacent nodes to transmit a part of the subfiles. The second subsystem delivers the remaining files, ignoring the cache capacity of the relay nodes, and directly performs coded delivery between the source node and the users, with the relay nodes only acting as forwarders. By optimizing the proportion of the two subsystems, the link rate of the overall system is reduced.
[0085] In the placement phase, the relay nodes and the users adopt decentralized cache placement to cache part of the subfiles in different subsystems.
[0086] In the delivery phase, according to the partitioned subsystems, decentralized transmission is adopted. Compared with the HPF strategy, the group-based coded caching can greatly reduce the link load in the delivery phase. See specifically "Karamchandani N, Niesen U, Maddah-Ali M A, et al. Hierarchical Coded Caching[J]. IEEE Transactions on Information Theory, 2016, 62(6): 3212 - 3229."
[0087] 2. Decentralized Coded Caching Method
[0088] In the placement phase, each user randomly caches M l F / N l bits of each file in the corresponding file library in different groups, without affecting each other among different users.
[0089] In the delivery phase, each user requests a file. After receiving the requests, the server transmits each time to satisfy the requests of the users in the same group. Using decentralized coded caching, the content requested by all users is delivered through L transmissions. See specifically "Maddah-Ali M A, Niesen U. Decentralized Coded Caching Attains Order-Optimal Memory-Rate Tradeoff[J]. IEEE / ACM Transactions on Networking, 2015, 23(4): 1029 - 1040."
[0090] 3. Group-Based Coded Caching Method
[0091] In a single-layer wireless communication system with heterogeneous user cache capacities, based on decentralized coded caching, in the placement phase, each user divides the files into partial sub-files according to its own cache capacity and stores them in the cache using decentralized placement. In the delivery phase, the source node sequentially transmits the sub-files that are not cached by any user, the requested sub-files cached by only one user, and the requested sub-files cached by two or more users. For details, see "[1] Amiri M M, Yang Q D Gunduz. Decentralized Caching and Coded Delivery with Distinct Cache Capacities[J]. IEEE Transactions on Communications, 2017, 65(11): 4657-4669."
[0092] 4. Channel coding and decoding, and modulation and demodulation methods
[0093] Channel coding and decoding are theories and methods used to improve channel reliability. Due to interference and fading in mobile communication, errors will occur during signal transmission. Therefore, error correction and detection techniques, that is, error correction and detection coding techniques, must be used for digital signals to enhance the ability of data to resist various interferences during transmission in the channel and improve the reliability of the system. The error correction and detection coding performed on the digital signals to be transmitted in the channel is channel coding. Common channel coding includes linear block codes, convolutional codes, Turbo codes, LDPC, and Polar codes, etc.
[0094] Modulation and demodulation refer to the process of loading the baseband signal (the effective signal containing the transmission information) onto a certain carrier (usually a high-frequency sine or cosine wave) at the transmitting end, which is called modulation, and the obtained signal is called the modulated signal. Modulation usually includes amplitude modulation (AM), frequency modulation (FM), and phase modulation (PM). Demodulation usually includes sine wave amplitude demodulation, sine wave angle demodulation, and resonance demodulation. Demodulation is the inverse process of modulation, that is, at the receiving end, the baseband signal is obtained from the modulated signal through a certain signal processing means. For details, see "Fan Changxin, Cao Lina. Principles of Communications (7th Edition)[M]. National Defense Industry Press, 2018".
[0095] Embodiment 1
[0096] See Figure 1-3 , a coded caching method with multi-subsystem nesting for heterogeneous user cache capacities in this embodiment is as follows:
[0097] Step S1, taking the number of users, user cache capacities, the number of relay nodes, and cache capacities as input parameters, the source node executes the two-subsystem division method to obtain the division ratio values of System I and System II.
[0098] Step S2: Using the partitioning ratio value obtained in Step S1 as an input parameter, the relay node and user caching steps are completed according to the following sub-steps:
[0099] Step S2.1: Using the ratio value obtained in Step S1, perform the file partitioning method introduced in the foregoing background technology on all individual files in sequence to obtain sub-files.
[0100] Step S2.2: Using the partitioning ratio value obtained in Step S1 and the sub-files obtained in Step S2.1 as input parameters, execute the cached file partitioning method introduced in the foregoing background technology in System I. The relay node and the user arbitrarily cache some of the sub-files according to the partitioning ratio and the partitioned sub-files to obtain the cached sub-files.
[0101] Step S3: Using the partitioning ratio value in Step S1 and the sub-files in Step S2.1 as input parameters, execute the cached file partitioning method introduced in the foregoing background technology in System II. The user arbitrarily caches some of the remaining sub-files according to the partitioning ratio and the partitioned sub-files to obtain the stored sub-files.
[0102] Step S4: Using the user's request for a certain file sequence number index as an input parameter, the source node transmits the requested sub-files, which are completed according to the following steps:
[0103] Step S4.1: The source node uses the user's request for a certain file sequence number index as an input parameter and executes the full file transmission method to obtain the sub-files after XOR processing.
[0104] Step S4.2: After the sub-files obtained in Step S4.1 are further processed by the channel coding, decoding, and modulation and demodulation methods introduced in the foregoing background technology, they are sent into free space. Further, after the relay node receives the sub-file sequence and performs decoding and demodulation according to the foregoing background technology, all the requested sub-files are obtained.
[0105] Step S5: Using all the requested files and the user index obtained in Step S4 as input parameters, the relay node executes the joint design grouping and zero-bit padding method to obtain the sub-files after XOR processing. Then, after being further processed by the channel coding, decoding, and modulation and demodulation methods introduced in the foregoing background technology, the bit sequence to be transmitted is obtained. Then, it is sent into free space by the transmitting antenna, and all the encoded and modulated transmitted files requested by the user are obtained at the user node.
[0106] Step S6: Using the sub-files cached in Step S2 and Step S3 and the user-requested file index as input parameters, the source node performs the remaining part of the decentralized coded caching transmission introduced in the foregoing background art to obtain the network-coded sub-files. Then, the requested sub-files are processed by the channel coding / decoding and modulation / demodulation methods introduced in the foregoing background art and sent to free space. After being received by the relay node, they are forwarded to the user node, and the user node receives all the encoded and modulated files in free space through the receiving antenna.
[0107] Step S7: For the files sent in Step S5 and Step S6, the relay node sequentially performs the channel coding / decoding and modulation / demodulation methods introduced in the foregoing background art to obtain the network-coded sub-files. Then, by performing bitwise XOR and combination with the cached sub-files, the finally requested file is obtained, and this requested file is the final result of the present invention.
[0108] In Step S1 of this embodiment, the dual-subsystem partitioning method is completed by the following steps:
[0109] Step S1.1: The multi-relay heterogeneous user caching capacity system includes 1 source node. There are a total of N files in the file library of the source node, and the files are represented by W i , where i is a positive integer, 1 ≤ i ≤ N, and N is a positive integer representing the number of files; the size of each file is F bits and is represented as: |W i | = F. Among them, F ≥ 0, which is a real number greater than or equal to 0. The source node can access all the files in the file library. There are K1 relay nodes connected to the source node, and S i represents the i-th relay node, i ∈ {1, 2,..., K1}. Among them, K1 is a positive integer and i is a positive integer. Each relay node can store M1 files, M1 ≤ N. Among them, M1 is a positive integer. The caching capacity is M1·F bits. The file content cached in S i is denoted as Z 1,i . Each relay node serves K2 users. Among them, K2 is a positive integer. Therefore, the system has a total of K1·K2 users, and U (i,j) is denoted as the j-th user under the i-th relay node, and the file content cached in U (i,j) is denoted as Z 2,(i,j) . Using the following formula (1), all the files are divided into proportional values of α and 1 - α, and the user caching capacity is divided into proportional values of β and 1 - β. Among them, α and β are real numbers in the range of 0 to 1.
[0110]
[0111] Among them, I, II, and III are 1, 2, and 3 in Roman numerals, which are respectively represented as the divided regions under different values of the number of different files, the number of relay nodes, the relay node cache capacity, and the user cache capacity in the following formulas (2)-(4):
[0112] M1 + M max K2 ≥ N, 0 ≤ M1 ≤ N / 4 (2)
[0113] M1 + M max K2 ≤ N (3)
[0114] M1 + M max K2 ≥ N, N / 4 < M1 ≤ N (4)
[0115] Step S1.2, after obtaining the subsystem division ratio in step 2.1, divide the system into two subsystems. System I and System II are respectively α and (1 - α) parts of the transmitted requested files.
[0116] In step S4.1 of this embodiment, the full-file transmission method is completed by the following steps:
[0117] Step S4.1.1: Each user requests a file And represents the file requested by user U (i,j) The decentralized coding delivery strategy method is as follows: If there are K1 users and the file index requested by each user is d k , in the delivery phase, the source node sends:
[0118]
[0119] Among them, ∪(·) means sending the sub-files in (·) and then sending the remaining sub-files again. K is a temporary variable, represents the sub-files requested by the users in the set S\k. S\k means the set S does not contain k, [K1] = {1, 2,..., K1}, represents the exclusive OR operation. After the above sending process, all users can obtain the requested sub-files.
[0120] Step S4.2.2: Select any K1 files from all the files. The source node uses the decentralized transmission in the following formula (6), and each transmission ensures that the files sent to S k are different. Therefore, the source node sends
[0121]
[0122] Among them, represents that the set T belongs to the subset of the set [N], and |T| = K1 means the number of elements in the set T is equal to K1, Denote user U (i,j) whose request index does not belong to d′ 1,k , where d′ 1,k denotes the set of file index requests before this decentralized delivery in S k , and d′ 1,k ={d 1,1 , d 1,2 ,..., d 1,K1}, where d 1,1 denotes the request index of user U (i,j) , which is a positive integer. [N]={1, 2,..., N}, and k∈S means k belongs to set S. K is a positive integer representing a temporary variable.
[0123] In step S5 of this embodiment, the joint design based on grouping and zero-bit padding method is completed by the following steps:
[0124] Step S5.1: Assume that there are k1 users under S i requesting W1, denoted as d (i,j) =1, 1≤j≤k1. These users are divided into a group, denoted as G1; there are k2 users under S i requesting W2 and are divided into group G2, and so on. Define to represent the number of users in the k-th group. Therefore, the number of users in G k is H k -H k-1 , and the user request is
[0125] d (i,j) =k, k = 1, 2,..., N, H k-1 +1≤j≤H k (7)
[0126] where H0 = 0.
[0127] The delivery phase is divided into three stages.
[0128] In the first stage, S k delivers the files not cached by all users, that is, S k sends
[0129]
[0130] which represents the requested sub-files not cached by any user, and ∅ represents the empty set, containing nothing.
[0131] In the second stage, each user obtains all the sub-files cached only in one user. In this stage, first, S k broadcasts
[0132]
[0133] Among them, W i,{k} represents the sub-file of W that is only cached by user k. For user U i ∈ G (i,j) , when the requested file index d k = k, after receiving the file of formula (9), U (i,j) in this group can obtain all the sub-files of W cached by other users in G (i,j) , that is, W k , l ∈ {H k +1, H k,{l} +2,..., H k-1} k-1} k .
[0134] After sending formula (9), S k broadcasts
[0135]
[0136] The main purpose of formula (10) is to enable the users in G k to obtain the sub-files cached by the users in other groups T\k means that the set T does not contain the element k.
[0137] In the third stage, transmit the sub-files of the files cached by two or more users. S k sends
[0138]
[0139] Among them, |T| represents the number of elements contained in the set T, represents that the set T belongs to the subset of the set [K2], and [K2] = {1, 2,..., K2}
[0140] After the above three stages, the users with heterogeneous cache capacities can obtain all the sub-files that are only cached by one user.
[0141] Step S5.2: When the number of users is less than the number of files, S k creates coded multicast opportunities among different user sets in turn. For each user set, zero-bit padding is performed on the smaller sub-files to make their sizes the same as the largest sub-file, and then S k broadcasts them to all users after encoding. The content broadcast by S k is
[0142]
[0143] Among them, It is the sub-file after zero-bit padding. \(T\setminus k\) represents that the set \(T\) does not contain the element \(k\). The size of the zero bits filled in each sub-file is denote the maximum bit value that can be taken.
[0144] Embodiment 2
[0145] As Figure 8 shown, the coded caching system with multi-subsystem nesting of heterogeneous user cache capacities includes the following modules:
[0146] Subsystem division module: The source node performs dual-subsystem division to obtain the subsystem division ratio;
[0147] Partial sub-file caching module: The relay node and the user randomly cache partial sub-files;
[0148] Remaining partial sub-file caching module: Ignoring the cache capacity of the relay node, the user randomly caches the remaining partial sub-files;
[0149] Full-file transmission module executed by the source node: According to the user request index, the source node encodes and modulates the sub-files to be transmitted and sends them to the free space, and the relay node recovers all the requested sub-files;
[0150] Jointly designed grouping and zero-bit padding module: According to the relationship between the number of users and files, different coding transmission methods are respectively executed;
[0151] Decentralized coding caching module of the source node: The relay node forwards the coded information transmitted by the source node to all users;
[0152] User node receiving file information module: After demodulating and decoding the received sub-files, the user performs XOR processing with the sub-files cached by the partial sub-file caching module and the remaining partial sub-file caching module and then combines them to recover the requested file.
[0153] A more specific introduction of this embodiment is as follows:
[0154] In the subsystem division module, the number of users, the user cache capacity, the number of relay nodes, and the cache capacity are used as input parameters, and the source node executes the dual-subsystem division method to obtain the division ratio values of System I and System II.
[0155] The partial sub-file caching module takes the division ratio value obtained by the subsystem division module as an input parameter, and the relay node and the user cache steps are completed according to the following sub-steps:
[0156] Step S2.1, taking the ratio value obtained by the subsystem division module, performing the file division method introduced in the foregoing background technology on all individual files in sequence to obtain sub-files.
[0157] Step S2.2: Using the partitioning ratio values obtained by the subsystem partitioning module and the sub-files obtained in Step S2.1 as input parameters, execute the cache file partitioning method introduced in the background art in System I. The relay node and the user arbitrarily cache some of the sub-files according to the partitioning ratio and the partitioned sub-files to obtain the cached sub-files.
[0158] The remaining sub-file caching module: Using the partitioning ratio value of the subsystem partitioning module and the sub-files in Step S2.1 as input parameters, execute the cache file partitioning method introduced in the background art in System II. The user arbitrarily caches some of the remaining sub-files according to the partitioning ratio and the partitioned sub-files to obtain the stored sub-files.
[0159] The source node executes the full-file transmission module: Using the file sequence number index requested by the user as an input parameter, the source node transmits the requested sub-files, which is completed according to the following steps:
[0160] Step S4.1: The source node uses the file sequence number index requested by the user as an input parameter, executes the full-file transmission method, and obtains the sub-files after XOR processing.
[0161] Step S4.2: The source node further processes the sub-files obtained in Step S4.1 through the channel coding, decoding, modulation, and demodulation methods introduced in the background art and then sends them into free space. Further, after the relay node receives the sub-file sequence, it performs decoding and demodulation through the methods introduced in the background art to obtain all the requested sub-files.
[0162] The jointly designed grouping and zero-bit padding module: Using all the requested files obtained by the source node executing the full-file transmission module and the user index as input parameters, the relay node executes the jointly designed grouping and zero-bit padding method to obtain the sub-files after XOR processing. After further processing through the channel coding, decoding, modulation, and demodulation methods introduced in the background art, the bit sequence to be transmitted is obtained. Then, it is sent into free space by the transmitting antenna, and all the encoded and modulated transmitted files requested by the user are obtained at the user node.
[0163] The source node decentralized coding cache module: Using the sub-files cached by the partial sub-file caching module and the remaining sub-file caching module and the user-requested file index as input parameters, the source node executes the decentralized transmission method introduced in the background art to obtain the sub-files after network coding. Then, the requested sub-files are further processed through the channel coding, decoding, modulation, and demodulation methods introduced in the background art and sent into free space. After being received by the relay node, they are forwarded to the user node, and all the encoded and modulated files are received by the user node through the receiving antenna in free space.
[0164] The user node receives the file information module, and for the file sent by the jointly designed grouping and zero-bit padding module and the source node decentralized encoding cache module, the relay node sequentially executes the channel encoding / decoding and modulation / demodulation methods introduced in the foregoing background technology to obtain the sub-files after network coding, and then performs bit-by-bit exclusive OR and combination with the cached sub-files to obtain the finally requested file, and this requested file is the final result of the present invention.
[0165] In the subsystem partitioning module of this embodiment, the dual-subsystem partitioning method is completed by the following steps:
[0166] Step S1.1, the multi-relay heterogeneous user caching capacity system includes 1 source node. There are a total of N files in the file library of the source node, and the files are represented by W i , where i is a positive integer, 1 ≤ i ≤ N, and N is a positive integer representing the number of files; the size of each file is F bits and is represented as: |W i | = F. Among them, F ≥ 0, which is a real number greater than or equal to 0. The source node can access all files in the file library. There are K1 relay nodes connected to the source node, and S i represents the i-th relay node, i ∈ {1, 2,..., K1}. Among them, K1 is a positive integer and i is a positive integer. Each relay node can store M1 files, M1 ≤ N. Among them, M1 is a positive integer. The caching capacity is M1·F bits. The file content cached by S i is denoted as Z 1,i . Each relay node serves K2 users. Among them, K2 is a positive integer. Therefore, the system has a total of K1·K2 users, and U (i,j) is denoted as the j-th user under the i-th relay node, and the file content cached by U (i,j) is denoted as Z 2,(i,j) . Using the following formula (1), all files are divided into proportional values of α and 1 - α, and the user caching capacity is divided into proportional values of β and 1 - β. Among them, α and β are real numbers in the range of 0 to 1.
[0167]
[0168] Among them, I, II, III are 1, 2, 3 in Roman numerals, and here they respectively represent the partitioning regions under different values of the number of files, the number of relay nodes, the relay node caching capacity, and the user caching capacity in the following formulas (2)-(4):
[0169] M1 + M max K2 ≥ N, 0 ≤ M1 ≤ N / 4 (2)
[0170] M1 + M max K2 ≤ N (3)
[0171] M1 + M maxK2≥N, N / 4<M1≤N (4)
[0172] Step S1.2, after obtaining the subsystem division ratio in Step 2.1, divide the system into two subsystems. System I and System II are respectively the α and (1 - α) parts for transmitting the request files.
[0173] In Step S4.1 of this embodiment, the full - file transmission method is completed by the following steps:
[0174] Step S4.1.1: Each user requests a file and denotes the file requested by user U (i,j) . The decentralized coded delivery strategy is as follows: If there are K1 users and the file index requested by each user is d k , in the delivery phase, the source node sends:
[0175]
[0176] where ∪(·) means sending the sub - files in (·) and then sending the remaining sub - files again. K is a temporary variable, denotes the sub - files requested by the users in the set S\k, and S\k means the set S does not contain k, [K1] = {1, 2,..., K1}, denotes the exclusive - or operation. After the above - mentioned sending process, all users can obtain the requested sub - files.
[0177] Step S4.2.2: Arbitrarily select K1 files from all the files. The source node uses the decentralized transmission in formula (6) below. Each transmission ensures that different files are sent to S k , so the source node sends
[0178]
[0179] where, denotes that the set T is a subset of the set [N], and |T| = K1 means the number of elements in the set T is equal to K1, denotes that the request index of user U (i,j) does not belong to d′ 1,k , d′ 1,k denotes the set of file indexes requested by S k before this decentralized delivery, d′ 1,k = {d 1,1 , d 1,2 ,..., d 1,K1}, d 1,1 denotes the file requested by user U (i,j)The request index is a positive integer. [N] = {1, 2,..., N}, and k ∈ S means that k belongs to set S. K is a positive integer representing a temporary variable.
[0180] In the grouping and zero-bit padding module of the joint design in this embodiment, the joint design is completed based on the grouping and zero-bit padding method by the following steps:
[0181] Step S5.1: Assume that there are k1 user requests W1 under S, denoted as d i = 1, 1 ≤ j ≤ k1, and these users are divided into a group, denoted as G1; there are k2 user requests W2 under S, which are divided into group G2, and so on. Define (i,j) to represent the number of users in the k-th group. Therefore, the number of users in G i is H - H k , k where H0 = 0. k-1 The user request is
[0182] d (i,j) = k, k = 1, 2,..., N, H k-1 + 1 ≤ j ≤ H k (7)
[0183]
[0184] The delivery phase is divided into three stages.
[0185] In the first stage, S k delivers the files that are not cached under all users, that is, S k sends
[0186]
[0187] represents the requested sub-files that are not cached by any user, represents the empty set, which contains nothing.
[0188] In the second stage, each user obtains all the sub-files that are cached only in one user. In this stage, first, S k broadcasts
[0189]
[0190] where W i,{k} represents the sub-file of W that is cached only by user k. For user U i ∈ G (i,j) , the requested file index d k = k. When receiving the file in formula (9), U in this group (i,j) (i,j) G can be obtained k The cache in W among other users k All sub-files of, that is, W k,{l} , l ∈ {H k-1 +1, H k-1 +2,..., H k}.
[0191] After sending formula (9), S k Broadcast
[0192]
[0193] The main purpose of formula (10) is to enable the users in G k To obtain the sub-files cached by users in other groups T\k means that the set T does not contain the element k.
[0194] In the third stage, transmit the sub-files cached by two or more users' requested files, S k Send
[0195]
[0196] Among them, |T| represents the number of elements contained in the set T, Indicates that the set T belongs to the subset of the set [K2], [K2] = {1, 2,..., K2}
[0197] After the above three stages, users with heterogeneous cache capacities can obtain all sub-files cached only in one user.
[0198] Step S5.2: When the number of users is less than the number of files, S k Create coded multicast opportunities among different user sets in turn. For each user set, pad the smaller sub-files with zero bits to make their sizes the same as the largest sub-file size, and then, through S k After coding, broadcast to all users. S k The content broadcast is
[0199]
[0200] Among them, Is the sub-file after zero-bit padding, T\k means that the set T does not contain the element k. The size of the zero bits padded for each sub-file is Indicates The maximum bit value that can be taken.
[0201] The present invention applies coded caching to a multi-relay wireless communication system with heterogeneous user caches, and proposes a coded caching strategy with multi-subsystem nesting. Compared with the coded placement and delivery of the overall system, by sensing the state information of the system, the weights of the two subsystems are dynamically adjusted to reduce the link load of the overall system. According to the relationship between the number of users and the number of files, a grouping and zero-bit padding strategy is jointly designed to reduce the transmission load and complexity. In addition, the present invention also proposes a full-file transmission strategy based on decentralized coded caching, enabling all relay nodes to recover all files at the lowest link rate. By introducing relay nodes and coded caching methods, the link load of the source server is reduced, effectively improving the effectiveness and reliability of the system, and having high application value.
[0202] Although embodiments of the present invention have been described, for those skilled in the art, various changes, modifications, substitutions, and variations can be made to these embodiments without departing from the principles and spirit of the method of the present invention. The scope of the present invention is defined by the appended claims and their equivalents. Without departing from the concept of the present invention, more other equivalent embodiments can also be included, and the scope of the present invention is determined by the scope of the appended claims.
Claims
1. A multi - subsystem nested coded caching method for heterogeneous user cache capacities, characterized in that According to the following steps: Step S1: The source node performs a two - subsystem partition to obtain the subsystem partition ratio. Specifically, as follows: Taking the number of users, the user cache capacity, the number of relay nodes, and the cache capacity as input parameters, the source node performs a two - subsystem partition to obtain the partition ratio values of the first system I and the second system II. Step S2: The relay nodes and users randomly cache some sub - files. Specifically, as follows: Taking the partition ratio value obtained in step S1 as the input parameter, the relay nodes and users complete the caching according to the following sub - steps: Step S2.1: According to the partition ratio value obtained in step S1, all individual files are sequentially partitioned to obtain sub - files. Step S2.2: Taking the partition ratio value obtained in step S1 and the sub - files obtained in step S2.1 as input parameters, perform a cached file partition in the first system I. The relay nodes and users cache some sub - files according to the partition ratio and the partitioned sub - files to obtain the cached sub - files. Step S3: Ignoring the relay node cache capacity, the users randomly cache the remaining sub - files. Specifically, as follows: Taking the partition ratio value in step S1 and the sub - files in step S2.1 as input parameters, perform a cached file partition in the second system II. The users randomly cache the remaining sub - files according to the partition ratio value and the partitioned sub - files to obtain the stored sub - files. Step S4: Taking the file sequence number index requested by the user as the input parameter, the source node transmits the requested sub - files. Specifically, according to the following steps: Step S4.1: The source node takes the file sequence number index requested by the user as the input parameter and performs a full - file transmission to obtain the XOR - processed sub - files. Step S4.2: After channel encoding, decoding, modulation, and demodulation of the sub - files obtained in step S4.1, the source node sends them into free space. Further, after receiving the sub - file sequence, the relay nodes perform decoding and demodulation to obtain all the requested sub - files. Step S5: Taking all the requested sub - files obtained in step S4 and the file sequence number index requested by the user as input parameters, the relay nodes perform joint design grouping and zero - bit padding to obtain the XOR - processed sub - files. After channel encoding, decoding, modulation, and demodulation, the obtained bit sequence to be sent is sent into free space by the transmitting antenna, and all the encoded and modulated transmitted files requested by the user are obtained at the user node. Step S6: Taking the sub - files in steps S2 and S3 and the file sequence number index requested by the user as input parameters, the source node performs decentralized encoding to cache the remaining sub - files to obtain the network - coded sub - files. Then, after channel encoding, decoding, modulation, and demodulation of the sub - files, they are sent into free space. The user node receives all the files that have undergone channel encoding, decoding, modulation, and demodulation in free space through the receiving antenna. Step S7: The user node receives the file information: The user demodulates and decodes the received sub - files, and then performs an XOR operation with the sub - files cached by the user in steps S2 and S3 to combine and recover the requested file.
2. The multi - subsystem nested coded caching method for heterogeneous user cache capacities according to claim 1, characterized in that, In step S1, the two - subsystem partition takes the following steps: Step S1.1, the multi-relay heterogeneous user caching capacity system includes 1 source node. There are a total of N files in the file library of the source node. The files are represented by W i , where i is a positive integer, 1 ≤ i ≤ N, and N is a positive integer representing the number of files; the size of each file is F bits and is represented as: |W i | = F; where F ≥ 0, a real number greater than or equal to 0; the source node can access all files in the file library; there are K1 relay nodes connected to the source node, and S i represents the i-th relay node, i ∈ {1, 2,..., K1}; where K1 is a positive integer and i is a positive integer; each relay node can store M1 files, M1 ≤ N; where M1 is a positive integer; the caching capacity is M1·F bits; the file content cached in S i is denoted as Z 1,i ; each relay node serves K2 users; where K2 is a positive integer; so there are a total of K1·K2 users in the system, and U (i,j) is denoted as the j-th user under the i-th relay node, and the file content cached in U (i,j) is denoted as Z 2,(i,j) ; Using the following formula (1), all files are divided into parts with proportion values of α and 1 - α, and the user cache capacity is divided into parts with proportion values of β and 1 - β; where α and β are real numbers in the range of 0 to 1. Among them, I, II, and III are 1, 2, and 3 in Roman numerals, respectively representing the divided regions under different values of the number of files, the number of relay nodes, the relay node cache capacity, and the user cache capacity in the following formulas (2)-(4): M1+M max K2≥N, 0≤M1≤N / 4 (2) M1+M max K2≤N (3) M1+M max K2≥N, N / 4 < M1 ≤ N (4) Step S1.2, after obtaining the subsystem division ratio in step S1.1, the system is divided into two subsystems. The first system I and the second system II are respectively the α and (1 - α) parts of the transmission request files.
3. The multi - subsystem nested coded caching method for heterogeneous user cache capacities according to claim 1, characterized in that, In step S4.1, the full file transmission takes the following steps: Step S4.1.1, each user requests a file and represents the file requested by user U (i,j) ; The decentralized coding delivery strategy is as follows: If there are K1 users, the file sequence number index requested by each user is d k , in the delivery phase, the source node sends: Among them, ∪(·) means to resend the remaining sub-files after sending the sub-files in (·), K represents a temporary variable, represents the sub-files requested by the users in the set S\k, S\k means the set S does not contain k, [K1] = {1, 2,..., K1}, represents the exclusive OR operation; after the above sending process, all users can obtain the requested sub-files; Step S4.1.2: Arbitrarily select K1 files from all files, and the source node performs decentralized transmission using the following formula (6). Each transmission ensures that different files are sent to S k Therefore, the source node sends: Among them, It means that the set T belongs to the subset of the set [N], and |T| = K1 means that the number of elements in the set T is equal to K1. It represents the user U (i,j) whose request index does not belong to d′ 1,k , where d′ 1,k represents S k the set of file index requests before this decentralized delivery. d 1,1 represents the file sequence number index requested by the user U (i,j) , which is a positive integer; [N] = {1, 2,..., N}, k ∈ S means that k belongs to the set S; K is a positive integer, representing a temporary variable.
4. The multi - subsystem nested coded caching method for heterogeneous user cache capacities according to claim 1, characterized in that, In step S5, the joint design of grouping and zero-bit padding takes the following steps: Step S5.1, set S i There are k1 user requests W1 under it, denoted as d (i,j) = 1, 1 ≤ j ≤ k1, and these users are divided into a group, denoted as G1; S i There are k2 user requests W2 under it, which are divided into group G2, and the same applies to the rest; Definition represents the number of users in the k-th group, so G k the number of users in is H k -H k-1 , The user request is: d( i,j ) = k, k = 1, 2, ..., N, H k-1 +1 ≤ j ≤ H k (7) Among them, H0 = 0; The delivery phase is divided into three stages: The first stage, S k Deliver files that are not cached under all users, i.e., S k Send: Indicates a requested sub-file that is not cached by any user, Indicates an empty set that contains nothing; In the second stage, each user obtains all the sub-files cached only in one user. First, S k Broadcast: Among them, W i,{k} represents the sub-file of W i only cached by user k; for user U (i,j) ∈G k the file sequence number index d (i,j) requested = k, when the file of formula (9) is received, U (i,j) in this group obtains all sub-files of W k cached in other users in G k , that is, W k,{l} , l ∈ {H k-1 +1, H k-1 +2,..., H k}; After transmission (9), S k Broadcast: Equation (10) enables the users in G k to obtain the sub-files cached by the users in other groups T\k means that the element k is not included in the set T; In the third stage, the transmission cache stores sub-files of files requested by two or more users, S k Send: where |T| represents the number of elements contained in set T, indicating that set T is a subset of set [K2], and [K2] = {1, 2,..., K2}; After the above three stages, users with heterogeneous cache capacities can obtain all sub-files cached only in one user. Step S5.2: When the number of users is less than the number of files, S k Encoding multicast opportunities are successively created among different user sets. For each user set, the sub-files smaller than the threshold are padded with zero bits to make their sizes the same as the largest sub-file size, and then they are broadcast to all users after S k encoding; S k The content broadcast is: Among them, is the sub-file after zero-bit padding, and \(T\setminus\{k\}\) represents that the set \(T\) does not contain the element \(k\); the size of the zero bits filled in each sub-file is represents the maximum bit value that can be taken.
Citation Information
Patent Citations
File size heterogeneous distributed coding cache placement method and system
CN107295070A
Method for designing high-energy-efficiency coding cache content placement scheme in heterogeneous network
CN111741495A