A distributed time slot allocation method suitable for three-array parallel transmission and reception

By generating a three-array parallel transmit/receive time slot table through distributed signaling interaction and local negotiation, the problem of interference between adjacent arrays in ad hoc networks is solved, thereby improving network capacity and transmission reliability, and making it suitable for complex network scenarios.

CN122179843APending Publication Date: 2026-06-09CNGC INST NO 206 OF CHINA ARMS IND GRP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610217097.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-02-14
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

Existing technologies are unable to effectively solve the problem of time slot allocation among nodes in an ad hoc network equipped with three arrays, especially the mutual interference between adjacent arrays and interference between peer nodes, resulting in insufficient network capacity and transmission reliability.

Method used

A distributed time slot allocation method suitable for parallel transmission and reception of three arrays is adopted. Through distributed signaling interaction and local negotiation, a time slot table for parallel transmission and reception of three arrays is generated to avoid interference between adjacent arrays and optimize the allocation of time slot resources.

Benefits of technology

It achieves parallel transmission and reception of three arrays, improves network capacity and transmission reliability, adapts to complex network scenarios, reduces packet loss rate and resource waste, and enhances network robustness and fault resistance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122179843A_ABST
    Figure CN122179843A_ABST
Patent Text Reader

Abstract

This invention specifically relates to a distributed time slot allocation method suitable for parallel transmission and reception of three-sided arrays, belonging to the field of wireless communication technology. The method includes: a resource negotiation initiating node sending a negotiation initiation packet to neighboring nodes during a resource negotiation time slot, including the number of time slots required for transmitting data packets in the next time frame and a time slot working status table; a resource negotiation responding node, upon receiving the negotiation initiation packet, generating a receive data transmission time slot table and sending it to the resource negotiation initiating node via a negotiation response packet; at the end of the last resource negotiation time slot of each time frame, each node generates a three-sided array parallel transmission and reception time slot table for the next time frame based on the number of time slots required for transmitting data packets in the next time frame, the received and transmitted receive data transmission time slot tables, and so on. This method is simple and easy to implement, enables parallel transmission and reception of three-sided arrays, and avoids mutual interference between corresponding links of adjacent arrays.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of wireless communication technology, and more specifically to a distributed time slot allocation method suitable for parallel transmission and reception of a three-sided array. Background Technology

[0002] Directional antennas have been widely used in ad hoc networks due to their advantages such as high gain, anti-interference, and anti-eavesdropping. Directional transmission and reception allow ad hoc networks to accommodate more transmission links simultaneously, resulting in greater network capacity compared to omnidirectional antenna ad hoc networks.

[0003] Channel access methods for directional antenna ad hoc networks are divided into contention-based channel access and non-contention-based channel access. Contention-based channel access is similar to the IEEE 802.11 protocol using omnidirectional antennas, acquiring channels through directional interactive Time Slots (RTS) and Time Slots (CTS), requiring no time synchronization, but it suffers from issues such as hidden terminals, exposed terminals, and deaf nodes. Non-contention-based channel access allocates time slot resources to each node in a conflict-free manner based on Time Division Multiplexing (TDMA), requiring time synchronization among all nodes. Non-contention-based channel access fully utilizes the multi-link parallel transmission advantages of directional antennas, can operate stably and reliably under high load conditions, and avoids wasting channel resources, making it the primary channel access method used in directional antenna ad hoc networks.

[0004] Non-competitive channel access in directional antenna ad hoc networks can be divided into centralized and distributed types. Centralized channel access involves a central node allocating time slots for links within the network, suitable for small-scale networks with minimal topology changes. Distributed channel access involves time slot negotiation through local interaction of time slot tables between adjacent nodes, suitable for large-scale networks with dynamically changing topologies. Distributed channel access has broader applicability.

[0005] To further enhance the network capacity of directional antenna ad hoc networks, nodes can be equipped with multiple arrays for parallel transmission and reception, rendering traditional single-link channel access methods inapplicable. If a single array has an azimuth scanning angle of ±60°, then a node equipped with three arrays can achieve 360° horizontal omnidirectional coverage. This invention discloses a distributed time slot allocation method suitable for parallel transmission and reception of three arrays, considering the mutual interference when adjacent arrays operate simultaneously and the interference generated at the peer node when adjacent arrays operate simultaneously.

[0006] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of the present invention, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0007] To address the time slot allocation problem among nodes in an ad hoc network equipped with three arrays, this invention discloses a distributed time slot allocation method suitable for parallel transmission and reception of three arrays. This method achieves parallel transmission and reception of the three arrays through distributed signaling interaction.

[0008] Other features and advantages of the invention will become apparent from the following detailed description, or may be learned in part by practice of the invention.

[0009] According to a first aspect of the present invention, a distributed time slot allocation method suitable for parallel transmission and reception of a three-sided array is provided, the method comprising: Step 1: Initialize the array working status table and the time slot working status table to all zeros; Step 2: Determine if the current time slot is a resource negotiation time slot. If it is and the time slot is allocated to this node, proceed to Step 3; otherwise, proceed to the next time slot. Step 3: If this node is the resource negotiation initiating node, then send a negotiation initiation packet to the peer node, which includes the number of time slots to be sent in the next time frame and the time slot working status table; Step 4: If this node is a resource negotiation response node, it receives the negotiation initiation packet, generates a data transmission time slot table, and replies with a negotiation response packet; Step 5: Update the slot status table and array status table; Step 6: After the last resource negotiation time slot of the current time frame ends, generate the three-sided array parallel transceiver time slot table for the next time frame based on the transmission requirements of the next time frame and the received and transmitted data transmission time slot tables.

[0010] In some exemplary embodiments, the area array operating state table is: A two-dimensional array, where, This represents the number of data transmission time slots contained in a time frame. The array elements indicate the working status of the node on the time slot, with values ​​of 0, 1, and 2 representing idle, sending, or receiving, respectively.

[0011] In some exemplary embodiments, the time slot working status table is a one-dimensional array with a value of 0 or 1. The array length is the number of data transmission time slots in a time frame. An array element with a value of 0 indicates that it is in a non-receiving state in the corresponding data transmission time slot, and a value of 1 indicates that it is in a receiving state in the corresponding data transmission time slot.

[0012] In some exemplary embodiments, the data transmission time slot table is a one-dimensional array with a value of 0 or 1. The array length is the number of data transmission time slots in a time frame. An array element with a value of 0 indicates that a data packet from the peer node cannot be received through the corresponding array in the corresponding data transmission time slot, and an array element with a value of 1 indicates that a data packet from the peer node can be received through the corresponding array in the corresponding data transmission time slot.

[0013] In some exemplary embodiments, the three-sided array parallel transmit / receive time slot table is as follows: A two-dimensional array, where each element is a tuple representing the working status of a node in the corresponding time slot and array, as well as the communication object.

[0014] In some exemplary embodiments, the resource negotiation response node generates a received data transmission time slot table, which specifically includes the following sub-steps: Sub-step 1: Initialize the receive data transmission time slot table to all 0s and initialize the number of allocated receive data transmission time slots to 0; Sub-step 2: Calculate the union of all received data transmission time slot tables sent up to the present time frame. For each data transmission time slot, if there is a neighboring node that has completed time slot allocation interaction, making the time slot a receiving time slot, then mark the time slot as occupied; otherwise, mark it as unoccupied. The neighboring node that has completed time slot allocation interaction is the set of neighboring nodes that this node has completed time slot allocation interaction as a resource negotiation response node up to the present time frame. Sub-step 3: Initialize the data transmission time slot number to 1; Sub-step 4: For the current data transmission time slot, if the four preset conditions are met and there are no interfering nodes within the angular range of the location of the time slot, proceed to sub-step 5; otherwise, proceed to sub-step 7. Sub-step 5: Mark the current data transmission time slot as 1 in the received data transmission time slot table, and increment the number of allocated received data transmission time slots by 1; Sub-step 6: Determine whether the number of allocated data transmission time slots has reached the number of time slots required by the resource negotiation initiating node. If yes, the data transmission time slot table construction process ends; otherwise, proceed to sub-step 7. Sub-step 7: Increment the data transmission time slot number by 1; Sub-step 8: Determine if the data transmission time slot number is greater than N. If yes, proceed to sub-step 9; otherwise, proceed to sub-step 4. Sub-step 9: Reinitialize the data transmission time slot sequence number to 1; Sub-step 10: For the current data transmission time slot, if four preset conditions are met and there are no interfering nodes within the angular range of the location of the time slot, proceed to sub-step 11; otherwise, proceed to sub-step 13. Sub-step 11: Mark the current data transmission time slot as 1 in the received data transmission time slot table, and increment the number of allocated received data transmission time slots by 1; Sub-step 12: Determine whether the number of allocated data transmission time slots has reached the number of time slots required by the resource negotiation initiating node. If yes, the construction process of the data transmission time slot table ends; otherwise, proceed to sub-step 13. Sub-step 13: Increment the data transmission time slot number by 1; Sub-step 14: Determine if the data transmission time slot number is greater than N. If yes, the construction process of the receiving data transmission time slot table ends; otherwise, proceed to sub-step 10.

[0015] In some exemplary embodiments, the rule for updating the slot working status table is as follows: ,in, This is a table showing the working status of time slots. For receiving data transmission time slot tables.

[0016] In some exemplary embodiments, updating the array working state table specifically includes the following sub-steps: Sub-step 1: Determine whether the current node is the initiating node in this time slot. If yes, proceed to sub-step 2; otherwise, proceed to sub-step 3. Sub-step 2: For the data transmission time slot marked as 1 in the received data transmission time slot table, update the corresponding data transmission time slot and the corresponding array element in the array working status table to the receiving status; Sub-step 3: For the data transmission time slot marked as 1 in the received data transmission time slot table, update the corresponding data transmission time slot and the corresponding array element in the array working status table to the transmission status.

[0017] In some exemplary embodiments, the step of generating a three-sided array parallel transmit / receive time slot table includes: Sub-step 1: Initialize the neighbor node traversal identifier and construct a list containing... The receive time slot flag array of each element is initialized to all 0, the number of allocated receive data transmission time slots is initialized to 0, and the number of time slots required for this node to send data packets to each neighboring node in the next time frame is set. Sub-step 2: Initialize the index of the neighbor node to be assigned to 1; Sub-step 3: Determine whether the neighbor node index to be assigned exceeds the total number of neighbor nodes. If yes, proceed to sub-step 12; otherwise, proceed to sub-step 4. Sub-step 4: Select the current node to be allocated from the set of neighboring nodes, and set the number of receive time slots required for this node; Sub-step 5: Initialize the data transmission time slot number to 1; Sub-step 6: For the current data transmission time slot, if the time slot is not marked as an allocated reception time slot, proceed to sub-step 7; otherwise, proceed to sub-step 10. Sub-step 7: If the time slot meets the requirements for the array's working state, proceed to sub-step 8; otherwise, proceed to sub-step 9. Sub-step 8: Mark the time slot as an allocated receive time slot and increment the number of allocated receive data transmission time slots by 1; Sub-step 9: Mark the time slot as receiving status in the corresponding position of the three-sided array parallel transmit / receive time slot table and associate it with the ID of the currently to be allocated node; Sub-step 10: Increment the data transmission time slot number by 1; Sub-step 11: Determine whether the number of allocated receive data transmission time slots has reached the number of receive time slots required by the current node to be allocated. If yes, the receive data transmission time slot allocation process for the neighbor node ends and proceeds to sub-step 3; otherwise, proceed to sub-step 6. Sub-step 12: Determine whether the number of allocated receive data transmission time slots meets the receiving needs of all neighboring nodes. If yes, the construction process of the three-sided array parallel transmit and receive time slot table ends; otherwise, proceed to sub-step 13. Sub-step 13: Initialize the neighbor node index for the transmission time slot allocation to 1; Sub-step 14: Determine whether the neighbor node index allocated for the transmission time slot exceeds the total number of neighbor nodes. If yes, the construction process of the three-sided array parallel transmit and receive time slot table ends; otherwise, proceed to sub-step 15. Sub-step 15: Select the node with the largest number of required transmission time slots from the set of neighboring nodes as the current transmission allocation node, and set the number of transmission time slots required for this node; Sub-step 16: Determine whether the transmission time slot of the current transmission allocation node has been allocated. If yes, proceed to sub-step 17; otherwise, proceed to sub-step 14. Sub-step 17: Initialize the allocated transmission time slot number to 0, and reinitialize the data transmission time slot sequence number to 1; Sub-step 18: For the current data transmission time slot, if four preset conditions are met and there are no neighboring nodes corresponding to the transmission time slots on other arrays within the angular range of the location of the time slot, proceed to sub-step 19; otherwise, proceed to sub-step 24. Sub-step 19: Mark the corresponding position of the time slot in the three-sided array parallel transmit / receive time slot table as the transmission status and associate it with the current transmission allocation node ID; Sub-step 20: Determine whether the number of allocated transmission time slots has reached the number of transmission time slots required by the current transmission allocation node. If yes, proceed to sub-step 21; otherwise, proceed to sub-step 22. Sub-step 21: The data transmission time slot allocation process for this neighbor node ends, proceed to sub-step 14; Sub-step 22: Increment the number of allocated transmission time slots by 1; Sub-step 23: Determine whether the number of allocated transmission time slots has reached the number of transmission time slots required by the current transmission allocation node. If yes, proceed to sub-step 14; otherwise, proceed to sub-step 24. Sub-step 24: Increment the data transmission time slot number by 1; Sub-step 25: Determine if the data transmission time slot sequence number is greater than 1. If yes, the data transmission time slot allocation process for that neighboring node ends, and proceeds to sub-step 14; otherwise, proceeds to sub-step 18.

[0018] The distributed time slot allocation method for parallel transmission and reception of three-sided arrays provided in the embodiments of the present invention, through interaction with neighboring nodes regarding time slot quantity requirements and received data transmission time slot tables, enables each node to locally generate a parallel transmission and reception time slot table for the three-sided arrays, thereby achieving parallel transmission and reception of the three-sided arrays and avoiding mutual interference between corresponding links of adjacent arrays. Compared with the prior art, it has the following beneficial effects: 1. Achieving parallel transmission and reception of three arrays, significantly improving network capacity. This invention breaks through the limitations of traditional single-link channel access methods, supports simultaneous transmission and reception operations of three arrays on a node, and fully utilizes the hardware advantages of ±60° of a single array and 360° horizontal omnidirectional coverage of three arrays. This allows multiple parallel transmission links to be accommodated simultaneously within the self-organizing network. Compared with single-link methods and omnidirectional antenna self-organizing networks, this significantly improves the overall network transmission capacity and data throughput efficiency.

[0019] 2. Accurately avoid interference from multiple arrays and ensure transmission reliability. The design fully considers and solves the mutual interference between links when adjacent arrays work simultaneously, as well as the cross interference caused by adjacent arrays working simultaneously at the peer node. Through the fine allocation of time slots and the interference isolation design of azimuth angle, the interference risks of multiple arrays working in parallel are eliminated from the time slot resource allocation level, ensuring the accuracy and stability of data transmission and reducing packet loss rate.

[0020] 3. By adopting a distributed negotiation mechanism, it adapts to complex network scenarios and abandons the dependence on the central node in centralized time slot allocation. Time slot negotiation is completed through local signaling interaction between adjacent nodes. Each node independently generates a three-sided array parallel transmit and receive time slot table locally, without the need for global unified control. It is more suitable for directional antenna self-organizing network scenarios with large network scale and dynamic topology changes, thus improving the scenario adaptability and network scalability of the method.

[0021] 4. Improve network performance under high load by using TDMA-based non-contention access. Relying on the non-contention channel access method of Time Division Multiplexing (TDMA), time slot resources are allocated to each node link without conflict, avoiding problems such as hidden terminals, exposed terminals, and deaf nodes in contention access. It can still operate stably and reliably under high network load, make full use of channel resources, avoid resource waste, and ensure continuous and efficient network transmission.

[0022] 5. Refined time slot allocation logic improves resource utilization efficiency. The design prioritizes the allocation of receive time slots and allocates transmit time slots according to the demand quantity from largest to smallest. Combined with the dynamic updating and verification of the array working status table and the time slot working status table, the on-demand allocation and refined management of time slot resources are realized. Furthermore, through the parallel receiving design, different arrays can simultaneously receive data packets from different nodes in the same time slot, maximizing the utilization potential of time slot resources and reducing resource idleness.

[0023] 6. The signaling interaction and table structure design are simple and easy to implement in engineering. The simple signaling interaction mode of negotiation initiation packet and negotiation response packet is adopted. The data structure of the array working status table, time slot working status table, and received data transmission time slot table is standardized and logically clear. The time slot judgment, allocation and update steps of each node are streamlined. There is no need for complex hardware modification and algorithm calculation. The method is simple and easy to implement, and it is easy to implement in actual directional antenna self-organizing network equipment.

[0024] 7. Nodes autonomously generate time slots, improving network robustness. Each node independently generates the three-sided array parallel transmit and receive time slot table for the next time frame based on its own interaction information with neighboring nodes. Local changes of a single node in the network will not have a large-scale impact on the global time slot allocation. Even if some nodes experience temporary interaction anomalies, they can be renegotiated through time slot polling and timeout judgment mechanisms, thus improving the robustness and fault resistance of the entire ad hoc network.

[0025] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit the invention. Attached Figure Description

[0026] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention. It is obvious that the drawings described below are merely some embodiments of the invention, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0027] Figure 1 Flowchart for distributed time slot allocation for parallel transmission and reception of a three-sided array; Figure 2 A flowchart for generating a received data transmission time slot table; Figure 3 A flowchart for generating a three-sided array parallel transmit / receive time slot table; Figure 4 This is a diagram of the network topology; Figure 5 This is a time slot table for the received and sent data transmissions of node 1. Detailed Implementation

[0028] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that the invention will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0029] Furthermore, the accompanying drawings are merely illustrative of the invention and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0030] To address the shortcomings and deficiencies of existing technologies, this example implementation provides a distributed time slot allocation method suitable for parallel transmission and reception of a three-sided array. (Reference) Figure 1 As shown, the specific steps may include: Step 1: Set the array working status table All elements are initialized to 0; Step 2: Configure the time slot working status table All elements are initialized to 0; Step 3: Determine if the current time slot is a resource negotiation time slot. If it is, proceed to step 4; otherwise, proceed to step 5. Step 4: Determine whether the resource negotiation time slot has been allocated to this node. If yes, proceed to step 6; otherwise, proceed to step 5. Step 5: Proceed to the next time slot, then proceed to Step 3; Step 6: Determine whether the current node is the initiating node in this time slot. If yes, proceed to step 7; otherwise, proceed to step 10. Step 7: Send to the peer node Send a negotiation initiation packet, which includes the message to be sent in the next time frame. Number of time slots required to send data packets and time slot working status table ; Step 8: Determine whether the message was received from the peer node within the timeout period. If the negotiation response package is received, proceed to step 9; otherwise, proceed to step 5. Step 9: Record the received data transmission timeslot table in the negotiation response packet. Proceed to step 13; Step 10: Determine whether the message was received from the peer node within the timeout period. If a negotiation initiation packet is sent, proceed to step 11; otherwise, proceed to step 5. Step 11: Based on the negotiation initiation packet and Locally maintained The received data transmission time slot table for the current time frame, including both sent and received data, is used to generate a reply. Data transmission time slot table Fill it into the negotiation response package and send it to ; Step 12: Update the time slot working status table ; Step 13: Update the array working status table ; Step 14: Determine whether the current time slot is the last resource negotiation time slot in this time frame. If yes, proceed to step 15; otherwise, proceed to step 5. Step 15: Based on , , Generate the three-sided array parallel transmit / receive time slot table for the next time frame ; Furthermore, the phase array working status table in step 1 The form is A two-dimensional array, The number of data transmission time slots contained in a time frame, where the element ( , ), , , They represent In data transmission time slots In the array It is in the idle, send, and receive states.

[0031] Furthermore, the time slot working status table in step 2 The form is a one-dimensional array with values ​​of 0 or 1, and the length is the number of data transmission time slots in a time frame. , express In data transmission time slots In non-receiving state express In data transmission time slots Currently in receiving mode.

[0032] Further, step 11 involves receiving the data transmission time slot table. The form is a one-dimensional array with values ​​of 0 or 1, and the length is the number of data transmission time slots in a time frame. , express In data transmission time slots Cannot be passed by area array Receive from data packets, express In data transmission time slots can be achieved through an array Receive from Data packets.

[0033] Furthermore, step 15 involves a three-sided array parallel transmit / receive time slot table. The form is A two-dimensional array, where each element They are all a pair ( , ), , , They represent In data transmission time slots In the array The device is in idle, send, and receive states. express In data transmission time slots In the array The ID of the communication object on the network, when hour, This indicates that the communication object is empty. express The set of neighboring nodes.

[0034] Furthermore, step 11, the resource negotiation response node Construct a node to initiate resource negotiation Sending and receiving data transmission time slot table The steps are as follows: Step 1: Initialization Set all values ​​to 0 to initialize the number of allocated receive data transmission time slots. ; Step 2: Calculate the current frame up to now Sending received data transmission time slot table union ,for If it exists satisfy So, let's set Otherwise set , Indicates the current time frame up to now This is the set of neighboring nodes that have completed the time slot allocation interaction as the resource negotiation response node; Step 3: Initialize data transmission time slot sequence number ; Step 4: For data transmission time slots If four conditions ① , ② , ③ , ④ Location Not within the angular range satisfy If all conditions are met, proceed to step 5; otherwise, proceed to step 7. Step 5: Settings , Increment by 1; Step 6: Determine Is it true? If so, construct... The process ends here; otherwise, proceed to step 7. Step 7: Data transmission time slot sequence number Increment by 1; Step 8: Determine Is it true? If yes, go to step 9; otherwise, go to step 4. Step 9: Initialize data transmission time slot sequence number ; Step 10: For data transmission time slots If four conditions ① , ② , ③ , ④ Location Not within the angular range satisfy If all conditions are met, proceed to step 11; otherwise, proceed to step 13. Step 11: Settings , Increment by 1; Step 12: Determine Is it true? If so, construct... The process ends here; otherwise, proceed to step 13. Step 13: Data transmission time slot sequence number Increment by 1; Step 14: Determine Is it true? If so, construct... The process ends here; otherwise, proceed to step 10.

[0035] Furthermore, step 12 updates the time slot working status table. The rules are .

[0036] Furthermore, step 13 updates the array working status table. The steps are as follows: Step 1: Determine whether the current node is the initiating node in this time slot. If yes, proceed to Step 2; otherwise, proceed to Step 3. Step 2: For ,if Then set ; Step 3: For ,if Then set .

[0037] Furthermore, in step 15 Generate a three-sided array parallel transmit / receive time slot table The steps are as follows: Step 1: Initialization , construct containing A one-dimensional array of elements Initialize to all zeros, and initialize the number of allocated receive data transmission time slots. ,set up In the next time frame, send to each neighboring node Number of time slots required to send data packets ; Step 2, Initialization ; Step 3: Judgment Is it true? If yes, go to step 12; otherwise, go to step 4. Step 4: From Select node ,set up ; Step 5: Initialize data transmission time slot sequence number ; Step 6: For data transmission time slots ,if If the condition is met, proceed to step 7; otherwise, proceed to step 10. Step 7: If If the condition is met, proceed to step 8; otherwise, proceed to step 9. Step 8: Settings , Increment by 1; Step 9: Settings ; Step 10: Data transmission time slot sequence number Increment by 1; Step 11: Determine Is it true? If so, for neighboring nodes. The process of allocating data transmission time slots ends; proceed to step 3 otherwise. Step 12: Determine Is it true? If so, construct... The process ends here; otherwise, proceed to step 13. Step 13: Initialization ; Step 14: Determine Is it true? If so, construct... The process ends here; otherwise, proceed to step 15. Step 15: From choose Largest node ,set up ; Step 16: Determine Is it true? If yes, go to step 17; otherwise, go to step 14. Step 17: Settings Initialize data transmission time slot sequence number ; Step 18: For data transmission time slots If four conditions ① , ② , ③ , ④ Location Not within the angular range If all neighboring nodes corresponding to the transmission time slots on other arrays meet the requirements, proceed to step 19; otherwise, proceed to step 24. Step 19: Settings ; Step 20: Determine Is it true? If yes, go to step 21; otherwise, go to step 22. Step 21: Settings ; Step 22: Increment by 1; Step 23: Determine Is it true? If yes, go to step 14; otherwise, go to step 24. Step 24: Data transmission time slot sequence number Increment by 1; Step 25: Determine Is it true? If so, for neighboring nodes. The process of allocating and sending data transmission time slots ends, proceed to step 14; otherwise, proceed to step 18.

[0038] Example 1 like Figure 4 As shown, the network contains five nodes, each equipped with three arrays, each array covering a 120° azimuth angle. Taking node 1 as an example, nodes 2 and 3 are located within the coverage area of ​​array 1 of node 1, node 4 is located within the coverage area of ​​array 3 of node 1, and node 5 is located within the coverage area of ​​array 2 of node 1. , , Interference isolation angle .

[0039] Assuming the number of data transmission time slots in a time frame After one time frame, Node 1 receives the received data transmission time slot table. ( ) and the received data transmission time slot table sent by node 1 ( )like Figure 5 As shown, and arranged in chronological order of occurrence. The number of time slots required for Node 1 to send data packets to other nodes in the next time frame are respectively , , , The number of time slots required for other nodes to send data packets to node 1 in the next time frame are respectively , , , The interaction process between node 1 and its neighboring nodes is as follows: Timing: Node 1 sends a negotiation initiation packet to Node 2, which includes... and After running the algorithm to generate the data transmission time slot table, Node 2 replies to Node 1 with a negotiation response packet, which includes... .

[0040] Timing: Node 1 receives the negotiation initiation packet sent by Node 3, which contains... and Node 1 runs the algorithm to generate the received data transmission time slot table. The data is then filled into the negotiation response packet and sent to node 3. Since time slots 1 and 2 are already occupied, node 1 determines time slots 3-5 as the time slots for receiving data packets from node 3.

[0041] Timing: Node 1 receives the negotiation initiation packet sent by Node 4, which contains... and Node 1 runs the algorithm to generate the received data transmission time slot table. The data is then filled into a negotiation response packet and sent to node 4. Node 1 determines time slots 3-5 as the time slots for receiving data packets from node 4, making full use of the parallel receiving capability of the multi-array, and receiving data packets from nodes 3 and 4 simultaneously without interference.

[0042] Timing: Node 1 receives the negotiation initiation packet sent by Node 2, which contains... and Node 1 runs the algorithm to generate the received data transmission time slot table. The data is then filled into the negotiation response packet and sent to node 2. Since time slots 3-5 on array 1 are already occupied, node 1 determines time slots 6-9 as the time slots for receiving data packets from node 2.

[0043] Timing: Node 1 sends a negotiation initiation packet to Node 3, which includes... and After running the algorithm to generate the data transmission time slot table, node 3 replies to node 1 with a negotiation response packet, which includes... .

[0044] Timing: Node 1 receives the negotiation initiation packet sent by Node 5, which contains... and Node 1 runs the algorithm to generate the received data transmission time slot table. The data is then incorporated into the negotiation response packet and sent to Node 5. Time slots 1-2 and 9-11 have been designated as transmission time slots and cannot be allocated as reception time slots. Node 1 designates time slots 3-5 as the time slots for receiving data packets from Node 5, making full use of the parallel reception capability of the multi-array array. Node 1 has designated time slots 6-8 to receive data packets from Node 2 and cannot simultaneously receive data packets from Node 5 on array 2 because the azimuth angle interval between Node 2 and Node 5 relative to Node 1 is less than the interference isolation angle. Time slots 12-13 are designated for receiving data packets from Node 5.

[0045] Timing: Node 1 sends a negotiation initiation packet to Node 4, which includes... and After running the algorithm to generate the data transmission time slot table, node 4 replies to node 1 with a negotiation response packet, which includes... .

[0046] Timing: Node 1 sends a negotiation initiation packet to Node 5, which includes... and After running the algorithm to generate the data transmission time slot table, node 5 replies to node 1 with a negotiation response packet, which includes... .

[0047] In the last resource negotiation slot of the current time frame, Node 1 generates the three-sided array parallel transmit / receive time slot table for the next time frame based on the received and transmitted data transmission time slot table in this time frame. As shown in the table below.

[0048] Table 1. Example of parallel transmit / receive time slot representation for a three-sided array.

[0049] Node 1 first allocates a receive time slot. It iterates through the receive data transmission time slot table sent within the current time frame. ( ), and the corresponding time slots in The internal slots are designated as receive slots, such as slots 3-9 and slots 12-13. After the receive slots are allocated, if there are still remaining slots, the allocation of transmit slots begins, proceeding in descending order of the required number of slots. Slots 1-2 and slots 10-11 are allocated as transmit slots.

[0050] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of the present invention, and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0051] Other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention herein. This application is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of the invention are indicated by the claims.

[0052] It should be understood that the present invention is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is defined only by the appended claims.

Claims

1. A distributed time slot allocation method suitable for parallel transmission and reception of a three-sided array, characterized in that, The method includes: Step 1: Initialize the array working status table and the time slot working status table to all zeros; Step 2: Determine if the current time slot is a resource negotiation time slot. If it is and the time slot is allocated to this node, proceed to Step 3; otherwise, proceed to the next time slot. Step 3: If this node is the resource negotiation initiating node, then send a negotiation initiation packet to the peer node, which includes the number of time slots to be sent in the next time frame and the time slot working status table; Step 4: If this node is a resource negotiation response node, it receives the negotiation initiation packet, generates a data transmission time slot table, and replies with a negotiation response packet; Step 5: Update the slot status table and array status table; Step 6: After the last resource negotiation time slot of the current time frame ends, generate the three-sided array parallel transceiver time slot table for the next time frame based on the transmission requirements of the next time frame and the received and transmitted data transmission time slot tables.

2. The method according to claim 1, characterized in that, The array working status table is as follows: A two-dimensional array, where, This represents the number of data transmission time slots contained in a time frame. The array elements indicate the working status of the node on the time slot, with values ​​of 0, 1, and 2 representing idle, sending, or receiving, respectively.

3. The method according to claim 1, characterized in that, The time slot working status table is a one-dimensional array with a value of 0 or 1. The array length is the number of data transmission time slots in a time frame. An array element with a value of 0 indicates that it is in a non-receiving state in the corresponding data transmission time slot, and a value of 1 indicates that it is in a receiving state in the corresponding data transmission time slot.

4. The method according to claim 1, characterized in that, The received data transmission time slot table is a one-dimensional array with values ​​of 0 or 1. The array length is the number of data transmission time slots in a time frame. An array element with a value of 0 indicates that a data packet from the peer node cannot be received through the corresponding array in the corresponding data transmission time slot, while an array element with a value of 1 indicates that a data packet from the peer node can be received through the corresponding array in the corresponding data transmission time slot.

5. The method according to claim 1, characterized in that, The three-sided array parallel transmit / receive time slot table is as follows: A two-dimensional array, where each element is a tuple representing the working status of a node in the corresponding time slot and array, as well as the communication object.

6. The method according to claim 1, characterized in that, The resource negotiation response node generates a received data transmission timeslot table, which specifically includes the following sub-steps: Sub-step 1: Initialize the receive data transmission time slot table to all 0s and initialize the number of allocated receive data transmission time slots to 0; Sub-step 2: Calculate the union of all received data transmission time slot tables sent up to the present time frame. For each data transmission time slot, if there is a neighboring node that has completed time slot allocation interaction, making the time slot a receiving time slot, then mark the time slot as occupied; otherwise, mark it as unoccupied. The neighboring node that has completed time slot allocation interaction is the set of neighboring nodes that this node has completed time slot allocation interaction as a resource negotiation response node up to the present time frame. Sub-step 3: Initialize the data transmission time slot number to 1; Sub-step 4: For the current data transmission time slot, if the four preset conditions are met and there are no interfering nodes within the angular range of the location of the time slot, proceed to sub-step 5; otherwise, proceed to sub-step 7. Sub-step 5: Mark the current data transmission time slot as 1 in the received data transmission time slot table, and increment the number of allocated received data transmission time slots by 1; Sub-step 6: Determine whether the number of allocated data transmission time slots has reached the number of time slots required by the resource negotiation initiating node. If yes, the data transmission time slot table construction process ends; otherwise, proceed to sub-step 7. Sub-step 7: Increment the data transmission time slot number by 1; Sub-step 8: Determine if the data transmission time slot number is greater than N. If yes, proceed to sub-step 9; otherwise, proceed to sub-step 4. Sub-step 9: Reinitialize the data transmission time slot sequence number to 1; Sub-step 10: For the current data transmission time slot, if four preset conditions are met and there are no interfering nodes within the angular range of the location of the time slot, proceed to sub-step 11; otherwise, proceed to sub-step 13. Sub-step 11: Mark the current data transmission time slot as 1 in the received data transmission time slot table, and increment the number of allocated received data transmission time slots by 1; Sub-step 12: Determine whether the number of allocated data transmission time slots has reached the number of time slots required by the resource negotiation initiating node. If yes, the construction process of the data transmission time slot table ends; otherwise, proceed to sub-step 13. Sub-step 13: Increment the data transmission time slot number by 1; Sub-step 14: Determine if the data transmission time slot number is greater than N. If yes, the construction process of the receiving data transmission time slot table ends; otherwise, proceed to sub-step 10.

7. The method according to claim 1, characterized in that, The rules for updating the slot working status table are as follows: ,in, This is a table showing the working status of time slots. For receiving data transmission time slot tables.

8. The method according to claim 1, characterized in that, The update of the array working status table specifically includes the following sub-steps: Sub-step 1: Determine whether the current node is the initiating node in this time slot. If yes, proceed to sub-step 2; otherwise, proceed to sub-step 3. Sub-step 2: For the data transmission time slot marked as 1 in the received data transmission time slot table, update the corresponding data transmission time slot and the corresponding array element in the array working status table to the receiving status; Sub-step 3: For the data transmission time slot marked as 1 in the received data transmission time slot table, update the corresponding data transmission time slot and the corresponding array element in the array working status table to the transmission status.

9. The method according to claim 1, characterized in that, The step of generating the three-sided array parallel transmit / receive time slot table includes: Sub-step 1: Initialize the neighbor node traversal identifier and construct a list containing... The receive time slot flag array of each element is initialized to all 0, the number of allocated receive data transmission time slots is initialized to 0, and the number of time slots required for this node to send data packets to each neighboring node in the next time frame is set. Sub-step 2: Initialize the index of the neighbor node to be assigned to 1; Sub-step 3: Determine whether the neighbor node index to be assigned exceeds the total number of neighbor nodes. If yes, proceed to sub-step 12; otherwise, proceed to sub-step 4. Sub-step 4: Select the current node to be allocated from the set of neighboring nodes, and set the number of receive time slots required for this node; Sub-step 5: Initialize the data transmission time slot number to 1; Sub-step 6: For the current data transmission time slot, if the time slot is not marked as an allocated reception time slot, proceed to sub-step 7; otherwise, proceed to sub-step 10. Sub-step 7: If the time slot meets the requirements for the array's working state, proceed to sub-step 8; otherwise, proceed to sub-step 9. Sub-step 8: Mark the time slot as an allocated receive time slot and increment the number of allocated receive data transmission time slots by 1; Sub-step 9: Mark the time slot as receiving status in the corresponding position of the three-sided array parallel transmit / receive time slot table and associate it with the ID of the currently to be allocated node; Sub-step 10: Increment the data transmission time slot number by 1; Sub-step 11: Determine whether the number of allocated receive data transmission time slots has reached the number of receive time slots required by the current node to be allocated. If yes, the receive data transmission time slot allocation process for the neighbor node ends and proceeds to sub-step 3; otherwise, proceed to sub-step 6. Sub-step 12: Determine whether the number of allocated receive data transmission time slots meets the receiving needs of all neighboring nodes. If yes, the construction process of the three-sided array parallel transmit and receive time slot table ends; otherwise, proceed to sub-step 13. Sub-step 13: Initialize the neighbor node index for the transmission time slot allocation to 1; Sub-step 14: Determine whether the neighbor node index allocated for the transmission time slot exceeds the total number of neighbor nodes. If yes, the construction process of the three-sided array parallel transmit and receive time slot table ends; otherwise, proceed to sub-step 15. Sub-step 15: Select the node with the largest number of required transmission time slots from the set of neighboring nodes as the current transmission allocation node, and set the number of transmission time slots required for this node; Sub-step 16: Determine whether the transmission time slot of the current transmission allocation node has been allocated. If yes, proceed to sub-step 17; otherwise, proceed to sub-step 14. Sub-step 17: Initialize the allocated transmission time slot number to 0, and reinitialize the data transmission time slot sequence number to 1; Sub-step 18: For the current data transmission time slot, if four preset conditions are met and there are no neighboring nodes corresponding to the transmission time slots on other arrays within the angular range of the location of the time slot, proceed to sub-step 19; otherwise, proceed to sub-step 24. Sub-step 19: Mark the corresponding position of the time slot in the three-sided array parallel transmit / receive time slot table as the transmission status and associate it with the current transmission allocation node ID; Sub-step 20: Determine whether the number of allocated transmission time slots has reached the number of transmission time slots required by the current transmission allocation node. If yes, proceed to sub-step 21; otherwise, proceed to sub-step 22. Sub-step 21: The data transmission time slot allocation process for this neighbor node ends, proceed to sub-step 14; Sub-step 22: Increment the number of allocated transmission time slots by 1; Sub-step 23: Determine whether the number of allocated transmission time slots has reached the number of transmission time slots required by the current transmission allocation node. If yes, proceed to sub-step 14; otherwise, proceed to sub-step 24. Sub-step 24: Increment the data transmission time slot number by 1; Sub-step 25: Determine if the data transmission time slot sequence number is greater than 1. If yes, the data transmission time slot allocation process for that neighboring node ends, and proceeds to sub-step 14; otherwise, proceeds to sub-step 18.