A time slot allocation method and system suitable for underwater dynamic topology network
By classifying nodes and implementing a time slot expansion mechanism in the underwater acoustic communication network, the problem of fierce competition for channel resources in dynamic topology networks is solved, the access of new nodes and network expansion are achieved, and the uniform distribution of channel resources and network stability are ensured.
Patent Information
- Application Number
- CN202411596611.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-11-11
AI Technical Summary
In underwater acoustic communication networks, time slot allocation in dynamic topology networks suffers from problems such as unpredictable conditions, uneven time slot allocation, and insufficient time slots, which leads to fierce competition for channel resources and makes it difficult to achieve mobile node access and network expansion.
By classifying nodes that will not cause channel conflicts, a conflict-free set is created, and channel resources are allocated to new nodes through the time slot expansion and allocation mechanism of the mutually prime fixed access cycle. Combined with the time slot delay expansion mechanism, the channel resource information synchronization of the entire network is achieved.
It effectively solves the problems of mobile node access and network expansion, ensures the uniform utilization of channel resources and network stability, and realizes equal access of new nodes and full utilization of channel resources.
Smart Images

Figure CN119697771B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a time slot allocation method and system applicable to an underwater dynamic topology network, belonging to the technical field of underwater acoustic communication. Background Art
[0002] In underwater acoustic communication networks, communication latency is extended, channel bandwidth is narrow, and network topology is often dynamic, leading to intense competition for channel resources. On the one hand, node deployment cycles are long, with new nodes joining and leaving the network. On the other hand, underwater mobile nodes are often used to perform highly maneuverable tasks, requiring rapid network access. To cope with such complex and dynamic underwater acoustic network topologies, it is crucial to design an efficient MAC protocol to fully utilize channel resources.
[0003] There are the following difficulties in allocating time slots in dynamic topology networks:
[0004] (1) No foreseeable conditions
[0005] For dynamic topology networks, specific information in the network, such as the actual number of nodes and the network topology, is unknown, which makes it difficult to achieve uniformity and correctness with the overall network when initializing the time slot.
[0006] (2) Uneven time slot allocation
[0007] The traditional time slot allocation scheme allocates a time slot to each node in the network. However, when the number of time slots initially set is greater than the number of nodes, empty time slots will appear. At this time, how to allocate empty time slots to achieve the best performance of the entire network?
[0008] (3) Insufficient time slots
[0009] When there are too many nodes in the network and the number of time slots set during initialization can no longer meet the overall network needs, there will be a situation where there are not enough time slots. How to deal with this situation and allocate channel resources to newly added nodes without conflict? Summary of the Invention
[0010] Purpose of the invention: In order to solve the above-mentioned problems existing in the prior art, the purpose of the present invention is to propose a time slot allocation method and system suitable for underwater dynamic topology networks to achieve access of mobile nodes and network expansion.
[0011] Technical solution: To achieve the above purpose, the technical solution adopted by the present invention is:
[0012] A time slot allocation method applicable to an underwater dynamic topology network comprises the following steps:
[0013] Nodes that will not cause channel conflicts are classified and conflict-free sets consisting of multiple node subsets are created. Nodes in each node subset can occupy the same channel resources.
[0014] New nodes access the network using time slots reserved by mutually prime fixed access cycles. Channel resources are allocated to newly added nodes through time slot expansion and allocation mechanisms. When time slot expansion is performed when the total number of time slots is less than the total number of sets in the conflict-free list, the total number of time slots is increased to be mutually prime with the access cycle. If time slot expansion occurs, the expanded time slots are allocated to the new node. If time slot expansion does not occur, time slots are allocated based on the node subset.
[0015] When a time slot expansion occurs, a network-wide broadcast is triggered. The broadcast packet contains the latest time slot cycle information and the time slot information required by the new node. When sending the broadcast packet, the old cycle before the time slot expansion is used. When all nodes in the network receive the broadcast packet, the time slot expansion is performed.
[0016] Preferably, the location information is combined with the following two conditions to determine whether there is a channel conflict between the new node and other nodes in the network. If two nodes meet one of the conditions, it is determined that there is no channel conflict;
[0017] Condition 1: There is no conflict between the channels in their respective communication ranges;
[0018] Condition 2: There are no nodes within the communication range conflict area.
[0019] Preferably, when a new node requests to join, the step of classifying nodes that will not cause channel conflicts includes:
[0020] Update the Euclidean distance between nodes;
[0021] Determine whether there is a channel conflict between nodes in the network based on the distance array and node position;
[0022] Update the conflict-free list. When a new node is added, add the new node to the conflict-free list. If there is a node set that does not conflict with the new node, add it to that set. If not, create a separate node set containing only the new node and add it to the conflict-free list.
[0023] Preferably, when a new node accesses the network through a time slot number reserved in a fixed access period, it can directly communicate with neighboring nodes and obtain information through timely interaction.
[0024] Preferably, the fixed value set when the fixed access period is initialized is coprime with the number of time slots in the network, and the remainders obtained by dividing any multiple of the fixed access period by the number of time slots after expansion during initialization are different, thereby ensuring that the probability of a time slot in the actual network period being occupied by a time slot used for new node access in the fixed access period is equal.
[0025] Preferably, the step of allocating time slots to newly added nodes includes:
[0026] 1) Create the matrix end_result to copy the time slot allocation results of the original network and use it to store the final selected time slot allocation scheme. At the same time, initialize the empty matrix Vec to store the temporary time slot allocation results.
[0027] 2) Initialize the maximum number of time slots occupied by each node Minimum time slot uniformity variance S 2 min =INT_MAX; INT_MAX is the preset maximum integer;
[0028] 3) Determine whether time slot expansion has occurred. If so, assign the expanded time slot to the new node, modify the time slot allocation result in end_result, and jump to step 11). Otherwise, continue.
[0029] 4) Determine whether the newly added node is a separate set that only contains itself in the conflict-free list. If not, directly assign the new node the time slot occupied by the node set it joins, modify the time slot allocation result in end_result, and jump to step 11). If yes, continue;
[0030] 5) Take the node set V that occupies the largest number of time slots in the conflict-free list i and from the node set V i The corresponding time slot set L i In , randomly select the jth time slot and assign it to the new node;
[0031] 6) Put the current time slot allocation scheme into Vec and calculate the average number of time slots occupied by each node in Vec and the time slot uniformity variance S 2 ;
[0032] 7) Judgment Is it greater than If yes, it means that the average number of time slots occupied by the nodes in the time slot allocation scheme in Vec is greater than the time slot allocation scheme in end_result, otherwise jump to step 9);
[0033] 8) Update the solution in end_result and set S 2 mim =S 2 , return to step 5);
[0034] 9) Judgment Is it equal to Otherwise, stop the time slot allocation, indicating that the time slot allocation scheme in Vec is inferior to the time slot allocation scheme in end_result, and jump to step 11). If yes, continue;
[0035] 10) Determine S 2 Is it less than S? 2 min If yes, it means that the time slot allocation uniformity of the time slot allocation scheme in Vec is better than the time slot allocation scheme in end_result, and return to step 8), otherwise continue;
[0036] 11) Allocation ends.
[0037] Preferably, the time for delayed expansion in the broadcast packet is calculated by simulating the situation of sending the broadcast packet, starting from the central node, simulating the forwarding of the broadcast packet according to the time slot, and marking each point where the broadcast packet is received until all nodes in the network are covered. At this time, the entire network is updated, the time point is recorded, and it is placed in the broadcast packet.
[0038] A time slot allocation system suitable for underwater dynamic topology networks, comprising:
[0039] The node classification module is used to classify nodes that will not cause channel conflicts and create a conflict-free set consisting of multiple node subsets. The nodes in each node subset can occupy the same channel resources.
[0040] The dynamic access and time slot allocation module is used to allow new nodes to access the network through time slot numbers reserved by the mutually prime fixed access cycle. Channel resources are allocated to newly added nodes in the network through time slot expansion and time slot allocation mechanisms. When time slot expansion is performed when the total number of time slots is less than the total number of sets in the conflict-free list, the total number of time slots is increased to be mutually prime with the access cycle. If time slot expansion occurs, the expanded time slots are allocated to the new node. If time slot expansion does not occur, time slots are allocated according to the node subset.
[0041] And the delayed expansion module is used to trigger a network-wide broadcast when the time slot expansion occurs. The broadcast packet contains the latest time slot cycle information and the time slot information required by the new node. When sending the broadcast packet, the old cycle before the time slot expansion is used. When all nodes in the network receive the broadcast packet, the time slot expansion is performed.
[0042] A computer system includes a memory, a processor, and a computer program / instruction stored in the memory and executable on the processor. When the computer program / instruction is executed by the processor, the steps of a time slot allocation method applicable to an underwater dynamic topology network are implemented.
[0043] A computer program product includes a computer program / instruction, which, when executed by a processor, implements the steps of a time slot allocation method applicable to an underwater dynamic topology network.
[0044] Beneficial effects: The present invention provides a time slot allocation method and system suitable for underwater dynamic topology networks. First, nodes are classified through a node independent set classification method based on the time and space non-interference of underwater acoustic channels. Then, time slots are expanded and allocated for accessed nodes through a node dynamic access time slot allocation mechanism based on mutually prime fixed access cycles. Finally, a time slot delay expansion mechanism is used to synchronize channel resource information across the entire network and update channel resource information across the entire network. The present invention can effectively solve the problems of mobile node access and network expansion, and can allocate channel resources to newly added nodes. It can ensure that the probability of a time slot in the actual network cycle being occupied by a time slot used for new node access in the fixed access cycle is equal, thereby fully utilizing channel resources and ensuring network stability. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 It is a flowchart of the present invention;
[0046] Figure 2 This is a schematic diagram of the modules in the topology information update phase;
[0047] Figure 3 Schematic diagram of the module for the time slot allocation result generation phase;
[0048] Figure 4 This is a schematic diagram of the modules in the time slot information synchronization phase;
[0049] Figure 5 This is a schematic diagram of the access of 16 fixed nodes in the example;
[0050] Figure 6 Schematic diagram of mobile node access in the example;
[0051] Figure 7 This is a diagram showing the final time slot allocation results in the example. DETAILED DESCRIPTION
[0052] The embodiments of the present invention are further described below with reference to the accompanying drawings:
[0053] like Figure 1As shown, an embodiment of the present invention discloses a time slot allocation method suitable for underwater dynamic topology networks, which mainly includes the following steps: first, nodes are classified by a node independent set classification method based on the time and space non-interference of underwater acoustic channels, specifically, nodes that will not cause channel conflicts are classified, and a conflict-free set composed of multiple node subsets is created, and the nodes in each node subset can occupy the same channel resources; then, time slots are expanded and allocated for the accessed nodes by a node dynamic access time slot allocation mechanism through a mutually prime fixed access period, specifically, the new node accesses the network through the time slot number reserved by the mutually prime fixed access period, and the time slot expansion and time slot allocation mechanism is used for New nodes added to the network are allocated channel resources; when the total number of time slots is less than the total number of sets in the conflict-free list, the total number of time slots is increased to be coprime with the access period; if time slot expansion occurs, the expanded time slots are given to the new node; if time slot expansion does not occur, time slots are allocated according to the node subset; finally, a time slot delay expansion mechanism is used to synchronize the channel resource information of the entire network and update the channel resource information of the entire network. Specifically, when time slot expansion occurs, a network-wide broadcast is triggered. The broadcast packet contains the latest time slot cycle information and the time slot information required by the new node. The old cycle before the time slot expansion is used when sending the broadcast packet. When all nodes in the network receive the broadcast packet, the time slot expansion is performed. The relevant access mechanism and processing flow involved in the embodiment of the present invention are described in detail below.
[0054] In the embodiment of the present invention, underwater fixed nodes and mobile nodes access the original network through a fixed access mechanism;
[0055] The fixed access mechanism designs a fixed access cycle specifically for new node access. The fixed access cycle is a fixed value set during initialization (init_cycle). The time slot number used for new node access in the cycle is res_timeslot. The time slot number (now_timeslot) of the current time (now_time) can be calculated through the fixed value set for the fixed access cycle. When the calculated time slot number of the current time is equal to the time slot number used for new node access, the node in the network will be in an unsendable state.
[0056] The fixed value set during initialization of the fixed access period and the number of time slots in the network (timeslotNums) must be coprime to ensure that the probability of a time slot in the actual network period being occupied by a time slot used for new node access in the fixed access period is equal. Assuming that the fixed access period and the number of time slots in the network at initialization are coprime, the remainder (remainder) obtained by dividing any multiple of the fixed access period at initialization by the number of time slots after expansion is different. For any positive integer k, the remainder obtained by taking the remainder of the multiple of the fixed access period at initialization and the number of time slots in the network is set as remainder. The set of these remainders is equivalent to {0, 1, 2, ..., timeslotNums-1}, and 0 ≤ remainder ≤ timeslotNums-1. Remainder can be expressed as:
[0057] remainder=k*init_cycle%timeslotNums#
[0058] After receiving the request packet for the new node to join, the central node will classify the nodes that will not cause channel conflicts according to the channel conflict avoidance mechanism. The data packet obtained by the central node contains the location information of the new node. The location information combined with the following two conditions can be used to determine whether there is a channel conflict problem between the new node and other nodes in the network. Condition one: There is no conflict in the channels within the respective communication ranges; Condition two: There are no nodes within the conflict area within the communication range. In order to solve the channel conflict problem caused by hidden terminals, the channel conflict relationship between nodes is detected, and a conflict-free set consisting of multiple node subsets is created. The nodes in each node subset can occupy the same channel resources. Exemplarily, its contents include: updating the node Euclidean distance module, judging the node conflict module, updating the conflict-free list module, and the overall structure is as follows. Figure 2 shown.
[0059] In this example, the Update Node Euclidean Distance module is used to update the Euclidean distance between nodes. Euclidean distance refers to the distance between two points in geometric space. For two points (x1, y1) and (x2, y2) on a two-dimensional plane, the Euclidean distance d can be expressed as:
[0060]
[0061] When a new node joins or leaves, the topology needs to be updated to help allocate time slots using the latest topology. The steps are as follows:
[0062] 1) First, determine whether the topology has changed. If not, the module will not start;
[0063] 2) Secondly, create a new distance array based on the latest topological situation;
[0064] 3) If a new node is added, the original distance array is directly copied to the new distance array, and then the Euclidean distance between the new node and other nodes is calculated according to the distance formula;
[0065] 4) If the node exits, the distance array information of the exiting node is cleared;
[0066] 5) Update the distance array and store it.
[0067] In this example, the node conflict determination module is mainly used to determine whether there is a channel conflict between nodes in the network. The input is the node numbers of any two nodes, the updated distance array, and the node positions corresponding to the node numbers. The output is conflict or no conflict. The steps are as follows:
[0068] 1) Input any two nodes i and j;
[0069] 2) Determine whether the communication distances of the two input nodes coincide. Here, the judgment is based on the distance array. If they do not coincide, it returns no conflict, otherwise it continues to the next step.
[0070] 3) Determine whether there is a node in the communication overlap area of two nodes. There are two main steps. First, based on the node location information, select all nodes that exist in the communication range of node i and mark them as set S;
[0071] 4) Secondly, calculate the distance between the nodes in the set S and node j. If there is a node k that is also within the communication range of node j, it is considered that there will be a channel conflict between node i and node j, and a conflict is returned. Otherwise, no conflict is returned.
[0072] In this example, the conflict-free list update module is mainly used to update the conflict-free list. It is activated when the network topology information changes. When a new node joins, the new node can be added to the conflict-free list. If a node set that does not conflict with the new node exists, it is added to the set. If not, a separate node set containing only the new node is created and added to the conflict-free list. This module plays an auxiliary role in spatial multiplexing for subsequent time slot allocation. The steps are as follows:
[0073] 1) Determine whether there is a node that has not been added to the conflict-free list. If so, select a node i from the nodes that have not been added to the conflict-free list. Otherwise, jump to step 6).
[0074] 2) Determine whether node i has joined a set. If yes, return to step 1), otherwise continue to determine;
[0075] 3) Determine whether all node sets have been selected. If not, select an unselected node set v from the shared time slot list. If yes, jump to step 5);
[0076] 4) Determine whether node i conflicts with the nodes in set v. If so, return to step 3 to continue selecting the next shared set. Otherwise, add the set and return to step 2).
[0077] 5) Create a node set containing only node i and add it to the conflict-free list;
[0078] 6) End.
[0079] Channel resources are allocated to newly added nodes in the network through time slot expansion and flexible time slot allocation mechanisms. In this embodiment, a fixed access period specifically for new node access is designed. When a mobile node accesses the network through the time slot number reserved by the fixed access period, it can directly communicate with neighboring nodes and obtain information through timely interaction. After a new node accesses the network through a fixed access period, in order to ensure that all nodes joining the network have channel resources available, the central node will combine the independent set of nodes based on the underwater acoustic channel that does not interfere with each other in time and space to perform time slot expansion and time slot allocation. Exemplarily, its contents include: a time slot expansion module, a time slot allocation module, and the overall structure is as follows: Figure 3 shown.
[0080] In this example, the timeslot expansion module is used to determine whether the network needs timeslot expansion and complete the expansion. It mainly determines the total number of timeslots in the network timeslotNums and the total number of sets m in the conflict-free list. <m时会触发时隙扩容,其步骤如下:
[0081] 1) Determine whether the total number of time slots timeslotNums is less than m. If so, time slot expansion is triggered; otherwise, expansion is not triggered.
[0082] 2) If timeslot expansion is triggered, the total number of timeslots timeslotNums increases continuously until the total number of timeslots timeslotNums is coprime with the access cycle init_cycle, and then timeslotNums stops increasing.
[0083] In this example, the time slot allocation module is used to allocate time slots to newly added nodes, thereby generating new time slot allocation results.
[0084] First, it determines whether the time slot expansion has occurred. If so, the expanded time slot is assigned to the new node.
[0085] Secondly, if the time slot expansion does not occur, it will be determined whether the newly added node is a separate set that only contains itself in the conflict-free list. If so, on the one hand, in order to ensure the fairness of channel resource use, each node will be allocated at least one time slot. On the other hand, in order to improve the utilization of channel resources, the time slot allocation method of existing nodes in the network will be changed to allocate time slot resources to the new node. If not, it means that the new node has joined the old node set. At this time, the new node is directly allocated the time slot set in the time slot list corresponding to the node set it has joined. The steps are as follows:
[0086] 1) Create the matrix end_result and copy the time slot allocation results of the original network, and use it to store the final selected time slot allocation scheme. At the same time, initialize the empty matrix Vec to store the temporary time slot allocation results;
[0087] 2) Initialize the maximum number of time slots occupied by each node on average Minimum time slot uniformity variance S 2 min =INT_MAX;
[0088] 3) Determine whether time slot expansion has occurred. If so, assign the expanded time slot to the new node, modify the time slot allocation result in end_result and jump to step 11). Otherwise, continue;
[0089] 4) Determine whether the newly added node is a separate set containing only itself in the conflict-free list. If not, directly assign the new node the time slot occupied by the node set it joins, modify the time slot allocation result in end_result, and jump to step 11). If yes, continue;
[0090] 5) Take the node set V that occupies the largest number of time slots in the conflict-free list i and from the node set v i The corresponding time slot set L i In , randomly select the jth time slot and assign it to the new node;
[0091] 6) Put the current time slot allocation scheme into Vec and calculate the average number of time slots occupied by each node in Vec and the time slot uniformity variance S 2 , which can be expressed as follows:
[0092]
[0093] Among them, X i is the number of time slots occupied by each node, there are N nodes in total, X i >0,S 2 is the variance of the uniformity of time slot allocation in the entire network, variance S 2 The smaller the value, the more evenly the time slots are distributed.
[0094] 7) Judgment Is it greater than If yes, it means that the average number of time slots occupied by the nodes in the time slot allocation scheme in Vec is greater than the time slot allocation scheme in end_result, otherwise jump to step 9);
[0095] 8) Update the solution in end_result and set S 2 min =S 2 , return to step 5);
[0096] 9) Judgment Is it equal to Otherwise, stop the time slot allocation, which means that the time slot allocation scheme in Vec is inferior to the time slot allocation scheme in end_result. Jump to step 11). If yes, continue.
[0097] 10) Determine S 2 Is it less than S 2 min If yes, it means that the time slot allocation uniformity of the time slot allocation scheme in Vec is better than the time slot allocation scheme in end_result, and return to step 8), otherwise continue;
[0098] 11) Allocation ends.
[0099] Through the mechanism of time slot delay expansion, the whole network channel resource information is synchronized and updated. For example, its contents include: whole network broadcast module, point-to-point sending module, and the overall structure is as follows: Figure 4 shown.
[0100] In this example, when the time slot expansion occurs, the network-wide broadcast module will be triggered. The module will generate a broadcast packet with the highest priority, which contains the latest time slot cycle information and the time slot information required by the new node.
[0101] When sending the broadcast packet, the old cycle before the time slot expansion is still used. The time slot expansion can only be performed when all nodes in the network have received the broadcast packet. Therefore, the delayed expansion method is adopted here to give the entire network a unified delayed expansion time so that all nodes in the network can complete the synchronization of the time slot cycle before switching the time slot.
[0102] The delay expansion time is calculated by simulating the sending of broadcast packets. The transmission starts from the central node, and the forwarding of broadcast packets is simulated according to the time slot. Each point where the broadcast packet is received is marked until all nodes in the network are covered. At this time, the entire network is updated, the time point is recorded, and it is placed in the broadcast packet.
[0103] The steps are as follows:
[0104] 1) Receive the request packet from the new node to join, and perform time slot allocation to expand the time slot capacity;
[0105] 2) Generate a broadcast packet, initialize the delayed expansion time t=0, and initialize the simulated sending time send_t to the time when the central node sends the data packet;
[0106] 3) Mark the central node, indicating that the central node can send the broadcast packet;
[0107] 4) Determine whether all nodes have received the broadcast packet. If yes, jump to step 9), otherwise continue;
[0108] 5) Update the delayed expansion time t = t + slotsize, where slotsize is the time slot size;
[0109] 6) Update the simulated sending time send_t = send_t + slotsize and calculate the current time slot i;
[0110] 7) Determine whether node k has received the broadcast packet in time slot i, that is, it is marked, otherwise return to step 5), if yes, continue;
[0111] 8) Mark the nodes within the communication range of node k and return to step 4).
[0112] 9) Write the time t into the broadcast packet, write the new time slot period, and write the new node time slot and routing related information.
[0113] 10) Send broadcast packet;
[0114] 11) End.
[0115] In this example, when the point-to-point transmission module does not expand the time slot, it enters the point-to-point transmission module and generates a unicast packet for point-to-point communication. This module generates a response packet containing the time slot information of the new node, and sends it to the new node based on the time slot information and routing information in the original network. It then determines whether the time slot allocation of any nodes in the original network has changed. If so, a time slot adjustment packet is generated and sent to these nodes. The time slot adjustment packet contains the latest time slot allocation results for these nodes. The steps are as follows:
[0116] 1) After receiving the request packet from the new node, time slot allocation is performed without time slot expansion;
[0117] 2) Generate a response packet, write the time slot and routing information of the new node, and send the response packet;
[0118] 3) judge whether all nodes in the network time slots are traversed, if yes, go to step 7, otherwise continue;
[0119] 4) select a node i which has not been traversed;
[0120] 5) whether the time slot allocation of node i has changed;
[0121] 6) generate a time slot adjustment package, fill in the latest time slot allocation result of node i, send the time slot adjustment package, and return to step 3;
[0122] 7) end.
[0123] The execution process and effect of the present application will be illustrated below in combination with examples:
[0124] Figure 5 The figure is a schematic diagram of 16 fixed nodes accessing in turn, in which the arrows represent the order of node access in turn, starting from node 0 to node 15. Figure 6 The figure is a scene of mobile nodes accessing in the network, in which the red dots represent mobile nodes moving in the direction of the black arrows in the figure.
[0125] In order to simulate the unknown situation of the overall network, the number of time slots is set to 5 which is less than the total number of nodes in the network, and the time slot number reserved for new node access is set to 12, and the access period is set to 13.
[0126] The time slot allocation result calculated in this example is shown in Figure 7 , in which a square represents a node, the pattern represents the allocated time slot, and the same pattern indicates the same allocated time slot.
[0127] The example result shows that the node independent set classification method based on the time-space mutual non-interference of the underwater acoustic channel, the node through mutual prime fixed access period dynamic access time slot allocation mechanism in the underwater acoustic complex environment and the time slot delay expansion mechanism all achieve the ideal expected effect, and the protocol has good performance in the case of network topology change and network stability.
[0128] Based on the same inventive concept, an embodiment of the present invention discloses a time slot allocation system suitable for an underwater dynamic topology network, including: a node classification module, used to classify nodes that will not generate channel conflicts, create a conflict-free set consisting of multiple node subsets, and the nodes in each node subset can occupy the same channel resources; a dynamic access and time slot allocation module, used for new nodes to access the network through time slot numbers reserved by mutually prime fixed access cycles, and allocate channel resources to newly added nodes in the network through time slot expansion and time slot allocation mechanisms; when time slot expansion is performed when the total number of time slots is less than the total number of sets in the conflict-free list, the total number of time slots is increased to be mutually prime with the access cycle; if time slot expansion occurs, the expanded time slots are given to the new node; if time slot expansion does not occur, the time slots are allocated according to the node subsets; and a delayed expansion module, used to trigger a network-wide broadcast when time slot expansion occurs, the broadcast packet containing the latest time slot cycle information and the time slot information required by the new node, the old cycle before the time slot expansion is used when sending the broadcast packet, and the time slot expansion is performed after all nodes in the network receive the broadcast packet.
[0129] Based on the same inventive concept, an embodiment of the present invention discloses a computer system, including a memory, a processor, and a computer program / instruction stored in the memory and executable on the processor. When the computer program / instruction is executed by the processor, the steps of the time slot allocation method applicable to an underwater dynamic topology network are implemented.
[0130] Based on the same inventive concept, an embodiment of the present invention discloses a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the time slot allocation method applicable to an underwater dynamic topology network.
[0131] The above is a detailed introduction to the embodiments of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core concept. At the same time, for those skilled in the art, according to the concept of the present invention, there may be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as limiting the present invention.
Claims
1. A time slot allocation method suitable for underwater dynamic topology networks, characterized in that: The following steps are involved: Nodes that will not cause channel conflicts are classified and conflict-free sets consisting of multiple node subsets are created. Nodes in each node subset can occupy the same channel resources. New nodes access the network using time slots reserved by mutually prime fixed access cycles. Channel resources are allocated to newly added nodes through time slot expansion and allocation mechanisms. When time slot expansion is performed when the total number of time slots is less than the total number of sets in the conflict-free list, the total number of time slots is increased to be mutually prime with the access cycle. If time slot expansion occurs, the expanded time slots are allocated to the new node. If time slot expansion does not occur, time slots are allocated based on the node subset. When a time slot expansion occurs, a network-wide broadcast is triggered. The broadcast packet contains the latest time slot cycle information and the time slot information required by the new node. The old cycle before the time slot expansion is used when sending the broadcast packet. The time slot expansion is performed after all nodes in the network receive the broadcast packet. The steps to allocate time slots to newly joined nodes include: 1) Create the matrix end_result to copy the time slot allocation results of the original network and use it to store the final selected time slot allocation scheme. At the same time, initialize the empty matrix Vec to store the temporary time slot allocation results. 2) Initialize the maximum number of time slots occupied by each node , the minimum time slot uniformity variance ;INT_MAX is the preset maximum integer; 3) Determine whether time slot expansion has occurred. If so, assign the expanded time slot to the new node, modify the time slot allocation result in end_result, and jump to step 11). Otherwise, continue; 4) Determine whether the newly added node is a separate set that only contains itself in the conflict-free list. If not, directly assign the new node the time slot occupied by the node set it joins, modify the time slot allocation result in end_result, and jump to step 11). If yes, continue; 5) Take the node set with the largest number of time slots in the conflict-free list and from the node collection Corresponding time slot set In , randomly select the jth time slot and assign it to the new node; 6) Put the current time slot allocation plan into Vec and calculate the average number of time slots occupied by each node in Vec and time slot uniformity variance ; 7) Judgment Is it greater than If yes, it means that the average number of time slots occupied by the nodes in the time slot allocation scheme in Vec is greater than the time slot allocation scheme in end_result, otherwise jump to step 9); 8) Update the solution in end_result and set , , return to step 5); 9) Judgment Is it equal to Otherwise, stop the time slot allocation, indicating that the time slot allocation scheme in Vec is inferior to the time slot allocation scheme in end_result, and jump to step 11). If yes, continue; 10) Judgment Is it less than If yes, it means that the time slot allocation uniformity of the time slot allocation scheme in Vec is better than the time slot allocation scheme in end_result, and return to step 8), otherwise continue; 11) Allocation ends.
2. A time slot allocation method applicable to an underwater dynamic topology network according to claim 1, characterized in that: The location information is combined with the following two conditions to determine whether there is a channel conflict between the new node and other nodes in the network. If two nodes meet one of the conditions, it is determined that there is no channel conflict; Condition 1: There is no conflict between the channels in their respective communication ranges; Condition 2: There are no nodes within the communication range conflict area.
3. The time slot allocation method applicable to underwater dynamic topology network according to claim 2, characterized in that: When a new node requests to join, the steps for classifying nodes that will not cause channel conflicts include: Update the Euclidean distance between nodes; Determine whether there is a channel conflict between nodes in the network based on the distance array and node position; Update the conflict-free list. When a new node is added, add the new node to the conflict-free list. If there is a node set that does not conflict with the new node, add it to that set. If not, create a separate node set containing only the new node and add it to the conflict-free list.
4. The time slot allocation method applicable to underwater dynamic topology network according to claim 1, characterized in that: When a new node accesses the network through the time slot number reserved in the fixed access cycle, it can directly communicate with neighboring nodes and obtain information in a timely manner.
5. The time slot allocation method applicable to underwater dynamic topology network according to claim 1, characterized in that: The fixed value set during initialization of the fixed access period is coprime with the number of time slots in the network. The remainders obtained by dividing any multiple of the fixed access period during initialization by the number of time slots after expansion are different. This ensures that the probability of a time slot in the actual network period being occupied by a time slot used for new node access in the fixed access period is equal.
6. The time slot allocation method applicable to underwater dynamic topology network according to claim 1, characterized in that: The delay expansion time in the broadcast packet is calculated by simulating the situation of broadcast packet sending. It starts from the central node and simulates the forwarding of the broadcast packet according to the time slot. Each point where the broadcast packet is received is marked until all nodes in the network are covered. At this time, the entire network is updated, the time point is recorded, and it is placed in the broadcast packet.
7. A time slot allocation system suitable for underwater dynamic topology networks, characterized in that: include: The node classification module is used to classify nodes that will not cause channel conflicts and create a conflict-free set consisting of multiple node subsets. The nodes in each node subset can occupy the same channel resources. The dynamic access and time slot allocation module is used to allow new nodes to access the network through time slot numbers reserved by the mutually prime fixed access cycle. Channel resources are allocated to newly added nodes in the network through time slot expansion and time slot allocation mechanisms. When time slot expansion is performed when the total number of time slots is less than the total number of sets in the conflict-free list, the total number of time slots is increased to be mutually prime with the access cycle. If time slot expansion occurs, the expanded time slots are allocated to the new node. If time slot expansion does not occur, time slots are allocated according to the node subset. And the delayed expansion module is used to trigger a network-wide broadcast when a time slot expansion occurs. The broadcast packet contains the latest time slot cycle information and the time slot information required by the new node. When sending the broadcast packet, the old cycle before the time slot expansion is used. When all nodes in the network receive the broadcast packet, the time slot expansion is performed; The steps to allocate time slots to newly joined nodes include: 1) Create the matrix end_result to copy the time slot allocation results of the original network and use it to store the final selected time slot allocation scheme. At the same time, initialize the empty matrix Vec to store the temporary time slot allocation results. 2) Initialize the maximum number of time slots occupied by each node , the minimum time slot uniformity variance ;INT_MAX is the preset maximum integer; 3) Determine whether time slot expansion has occurred. If so, assign the expanded time slot to the new node, modify the time slot allocation result in end_result, and jump to step 11). Otherwise, continue; 4) Determine whether the newly added node is a separate set that only contains itself in the conflict-free list. If not, directly assign the new node the time slot occupied by the node set it joins, modify the time slot allocation result in end_result, and jump to step 11). If yes, continue; 5) Take the node set with the largest number of time slots in the conflict-free list and from the node collection Corresponding time slot set In , randomly select the jth time slot and assign it to the new node; 6) Put the current time slot allocation plan into Vec and calculate the average number of time slots occupied by each node in Vec and time slot uniformity variance ; 7) Judgment Is it greater than If yes, it means that the average number of time slots occupied by the nodes in the time slot allocation scheme in Vec is greater than the time slot allocation scheme in end_result, otherwise jump to step 9); 8) Update the solution in end_result and set , , return to step 5); 9) Judgment Is it equal to Otherwise, stop the time slot allocation, indicating that the time slot allocation scheme in Vec is inferior to the time slot allocation scheme in end_result, and jump to step 11). If yes, continue; 10) Judgment Is it less than If yes, it means that the time slot allocation uniformity of the time slot allocation scheme in Vec is better than the time slot allocation scheme in end_result, and return to step 8), otherwise continue; 11) Allocation ends.
8. A computer system comprising a memory, a processor, and a computer program / instruction stored in the memory and executable on the processor, wherein: When the computer program / instructions are executed by a processor, the steps of a time slot allocation method applicable to an underwater dynamic topology network according to any one of claims 1 to 6 are implemented.
9. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of a time slot allocation method applicable to an underwater dynamic topology network according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Rapid adaptive control method based on channel state run
CN104994593A
Network time slot division method and device
CN110536454A