Dynamic resource negotiation scheduling method in wireless ad hoc network

By adopting the dynamic resource negotiation and scheduling method in wireless ad hoc network, the problem of uneven channel allocation when multiple node devices share wireless channels is solved, fair and balanced allocation of resources is achieved, and resource utilization and system stability are improved.

CN119893687APending Publication Date: 2025-04-25BEIJING INST OF REMOTE SENSING EQUIP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411931994.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In wireless ad hoc network, when multiple node devices share wireless channels, the channel resource allocation is uneven, resulting in low resource utilization and frequent resource conflicts.

Method used

Using the dynamic resource negotiation scheduling method, each node maintains the local dynamic resource status table, updates the status table by receiving the resource announcement message of the neighbor node, determines the time slot resources that can be applied, and generates a resource announcement message to send it to the neighbor node.

Benefits of technology

It is realized that in a finite channel resource environment, resources are allocated to each node fairly and balancedly, which improves resource utilization, reduces the occurrence of resource conflicts, and ensures the stability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119893687A_ABST
    Figure CN119893687A_ABST
Patent Text Reader

Abstract

The invention discloses a dynamic resource negotiation scheduling method in a wireless ad hoc network, which belongs to the technical field of wireless ad hoc network resource scheduling, and comprises the following steps: in an initial state, each node initializes an air interface state of a time slot resource block in a local dynamic resource state table into an idle state; before the sending time of the resource notification message of the node arrives, receiving the resource notification message of the neighbor node and updating the local dynamic resource state table of the node; based on the to-be-sent service volume of each neighbor node and the updated local dynamic resource state table, time slot resources which can be applied by the node are determined and recorded in the updated local resource state table, and a final local dynamic resource state table is obtained; and when the sending time of the resource notification message of the node arrives, generating the resource notification message of the node based on the final local dynamic resource state table and sending the resource notification message to the neighbor node, so as to solve the problem of non-uniform channel resource allocation when the multi-node equipment shares the wireless channel.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of wireless ad hoc network resource scheduling, and in particular relates to a method for dynamic resource negotiation scheduling in a wireless ad hoc network. Background Art

[0002] At present, domestic and foreign scholars have conducted relevant research on the scheduling algorithm of wireless ad hoc network resources. The use of dynamic resources adopts two scheduling methods. The first is "application at each level, first come first served", and the second is "optimal fair scheduling". In this scheduling method, each node broadcasts the number of competitive resources that it needs to apply for. The first scheduling method is relatively simple, and the resource utilization is very insufficient. The second scheduling method is better than the first method.

[0003] At present, the second scheduling method needs to know the number of competitive resource time slots that each neighbor node needs to apply for, and through a fair scheduling algorithm, evenly distribute or allocate to the local node in a certain proportion when the resource time slot is insufficient. During the resource negotiation process, first determine whether there is a conflict with other neighbors in the application event, then confirm whether there is currently a competitive resource to apply for, and then broadcast the competitive resources to be applied for this time. After a delay, confirm that there is no interference conflict, set the resources and end this application process.

[0004] In a wireless network environment, channel resources are very important. Reasonable allocation of resources can improve resource utilization and reduce the probability of resource conflicts among various communication devices, thereby ensuring resource utilization and the rationality of resource utilization of each communication device. How to reasonably allocate channel resources under the constraints of limited channel resources and solve the problem of uneven channel resource allocation when multiple node devices share wireless channels is an urgent task. Summary of the invention

[0005] The purpose of the present invention is to provide a method for dynamically adjusting access backhaul time slots in a wireless ad hoc network to solve the problem of uneven channel resource allocation when multi-node devices share a wireless channel.

[0006] To achieve the above object, the present invention adopts the following technical solution:

[0007] On the one hand, this specification provides a method for dynamic resource negotiation scheduling in a wireless ad hoc network, including:

[0008] Step 102, in the initial state, each node initializes the air interface state of the time slot resource block in the local dynamic resource state table maintained by itself to an idle state;

[0009] Step 104, before the time for sending the resource announcement message of the node arrives, receiving the resource announcement message of the neighboring node and updating the air interface state of the time slot resource block in the local dynamic resource state table of the node to obtain an updated local dynamic resource state table;

[0010] Step 106, based on the traffic volume to be sent by each neighbor node and the updated local dynamic resource status table, determine the time slot resources that the node can apply for and record them in the updated local resource status table to obtain a final local dynamic resource status table;

[0011] Step 108: When the time for sending the resource announcement message of the node arrives, the resource announcement message of the node is generated based on the final local dynamic resource status table and sent to the neighboring nodes in the static time slot of the node.

[0012] On the other hand, the present specification provides a device for dynamic resource negotiation and scheduling in a wireless ad hoc network, including:

[0013] The dynamic resource initialization module is used for initializing each node to initialize the air interface state of the time slot resource block in the local dynamic resource state table maintained by itself to an idle state in the initial state;

[0014] The dynamic resource table maintenance module is used to receive the resource notification message of the neighbor node before the time for sending the resource notification message of the node arrives and update the air interface status of the time slot resource block in the local dynamic resource status table of the node to obtain the updated local dynamic resource status table;

[0015] A dynamic resource application module is used to determine the time slot resources that the node can apply for based on the traffic volume to be sent by each neighbor node and the updated local dynamic resource status table, and record them in the updated local resource status table to obtain the final local dynamic resource status table;

[0016] The resource announcement sending module is used to generate the resource announcement message of the node based on the final local dynamic resource status table and send it to the neighboring node in the static time slot of the node when the resource announcement message sending time of the node arrives.

[0017] Based on the above technical solution, this specification can achieve the following technical effects:

[0018] In this method, each node does not need to know the application status of all nodes. Each node maintains its own independent resource notification table within the range of two superframes, and then adopts a suitable allocation algorithm to fairly and evenly allocate resources to each node in a limited channel resource environment. The process is simple and less time-consuming, and the coupling degree between each node is low, thereby improving the resource utilization rate and the rationality of resource utilization of individual communication equipment, providing a strong guarantee for the stability of the entire system, thereby solving the problem of uneven channel resource allocation when multiple node devices share wireless channels. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 The present invention is a flowchart of a method for dynamic resource negotiation and scheduling in a wireless ad hoc network according to an embodiment of the present invention.

[0020] Figure 2 Schematic diagram of the overall architecture of the data link layer in one embodiment of the present invention.

[0021] Figure 3 Schematic diagram of the overall architecture of the RRC layer in one embodiment of the present invention.

[0022] Figure 4 The figure is a schematic diagram of connecting adjacent nodes in one embodiment of the present invention.

[0023] Figure 5 This is a schematic diagram of a node in which the sending and receiving states exist simultaneously in an embodiment of the present invention.

[0024] Figure 6 This is a schematic diagram of three base stations horizontally connected in one embodiment of the present invention.

[0025] Figure 7 The present invention is a schematic diagram of the structure of a device for dynamic resource negotiation and scheduling in a wireless ad hoc network according to an embodiment of the present invention.

[0026] Figure 8 The figure is a schematic diagram of an electronic device according to the present invention. DETAILED DESCRIPTION

[0027] The present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. The advantages and features of the present invention will become more apparent from the following description and claims. It should be noted that the drawings are all in very simplified form and are not in precise proportions, and are only used to conveniently and clearly assist in explaining the purpose of the embodiments of the present invention.

[0028] It should be noted that, in order to clearly explain the content of the present invention, the present invention specifically cites multiple embodiments to further illustrate different implementations of the present invention, wherein the multiple embodiments are enumerated rather than exhaustive. In addition, for the sake of brevity of explanation, the contents mentioned in the previous embodiments are often omitted in the subsequent embodiments. Therefore, the contents not mentioned in the subsequent embodiments can refer to the previous embodiments accordingly.

[0029] Example 1

[0030] Please refer to Figure 1 , Figure 1 The figure shows a method for dynamic resource negotiation and scheduling in a wireless ad hoc network provided by this embodiment. In this embodiment, the method includes:

[0031] Step 102, in the initial state, each node initializes the air interface state of the time slot resource block in the local dynamic resource state table maintained by itself to an idle state;

[0032] In this embodiment, the local dynamic resource status table records the air interface status of several time domain resource blocks starting from the first dynamic time slot after the static time slot to which this node belongs; the number of time slot resource blocks is equal to twice the number of dynamic time slots in a superframe; wherein the first half of the time slot resource blocks represent the confirmation information of the resource application, and the second half of the time slot resource blocks represent the information for the resource application.

[0033] In this embodiment, the air interface state includes a sending state, a receiving state and an idle state; wherein,

[0034] The sending state indicates that the current node or neighboring node applies to occupy the time slot resource block for data transmission, and the resource notification must carry the service priority, the source node for sending the source data, and the destination node for receiving the data;

[0035] The receiving state means that the current node or neighboring node agrees to receive the service of a certain sending node, and the resource notification must carry the service priority, the source node of the source data, and the destination node of the data.

[0036] The idle state indicates that the time domain resource block can be occupied by other nodes.

[0037] Step 104, before the time for sending the resource announcement message of the node arrives, receiving the resource announcement message of the neighboring node and updating the air interface state of the time slot resource block in the local dynamic resource state table of the node to obtain an updated local dynamic resource state table;

[0038] In this embodiment, one implementation of step 104 is:

[0039] Step 202, receiving a resource advertisement message from a neighboring node and determining a message receiving time before the resource advertisement message sending time of the current node arrives;

[0040] Step 204, calculating the air interface time of each time slot resource block in the resource announcement message according to the message reception time;

[0041] Step 206, based on the air interface time of each time slot resource block, determine the update position of the local dynamic resource status table of the node corresponding to each time slot resource block, recorded as the local update position;

[0042] Step 208, traverse each time slot resource block in the resource announcement message, and update the air interface status of the time slot resource block in the local dynamic resource status table of the node according to the air interface status of the time slot resource block and the corresponding local update position to obtain an updated local dynamic resource status table.

[0043] In this embodiment, one implementation of step 208 is:

[0044] Step 2081, if the air interface state of the time slot resource block is an idle state, determine whether the air interface state of the local update position is a sending state, if so, modify the air interface state of the local update position to an idle state, if not, keep the air interface state of the local update position unchanged;

[0045] Step 2082: If the air interface state of the time slot resource block is the sending state, determine whether the air interface state of the local update position is the receiving state. If so, keep the air interface state of the local update position unchanged. If not, change the air interface state of the local update position to the receiving state and record the priority and source node of the neighbor node.

[0046] Step 2083, if the air interface state of the time slot resource block is the receiving state, determine whether the air interface state of the local update location is the receiving state. If so, keep the air interface state of the local update location unchanged. If not, and the source node of the resource notification message is not this node, modify the air interface state of the local update location to the receiving state.

[0047] Step 106, based on the traffic volume to be sent by each neighbor node and the updated local dynamic resource status table, determine the time slot resources that the node can apply for and record them in the updated local resource status table to obtain a final local dynamic resource status table;

[0048] In this embodiment, one implementation of step 106 is:

[0049] Step 302, in the first two time slots of the static time slot to which the node belongs, calculate the traffic volume to be sent of each neighboring node;

[0050] Step 304, calculating the number of time domain resources required to be applied for based on the traffic volume to be sent and the modulation and coding strategy of each neighboring node;

[0051] Step 306: Based on the number of time domain resources to be applied for and the updated local dynamic resource status table, determine the time slot resources that the node can apply for and record them in the updated local resource status table to obtain a final local dynamic resource status table.

[0052] In this embodiment, one implementation of step 306 is:

[0053] Step 3062: If the number of time domain resources to be applied for is greater than 0, the types of resources to be allocated and the total number of types are determined based on the updated local dynamic resource status table;

[0054] Step 3064, based on the maximum number of dynamic time slots and the total number of types in the superframe, determine the maximum number of allocated time slots for each type of resource to be allocated;

[0055] Step 3066, based on the maximum number of allocated time slots, determine the number of time slots allocated to each type of resources to be allocated;

[0056] Step 3068: Based on the number of time slots allocated to each type of resources to be allocated, time slot resources are allocated to each type of resources to be allocated and recorded in the updated local resource status table to obtain a final local dynamic resource status table.

[0057] In this embodiment, the types of resources to be allocated include the sending service type of this node and the receiving service type of this node; the time slot state in the local dynamic resource status table is recorded as the sending service type of this node as the sending state; the time slot state in the local dynamic resource status table is recorded as the receiving service type of this node; the sending service type of this node is recorded as different sending service types of this node according to the different destination nodes for data transmission; the receiving service type of this node is recorded as different receiving service types of this node according to the different source nodes for received data.

[0058] In this embodiment, if the number of resources to be applied for is equal to 0, a resource notification message of the current node is generated based on the updated local dynamic resource status table and sent to neighboring nodes in the static time slot of the current node.

[0059] Step 108: When the time for sending the resource announcement message of the node arrives, the resource announcement message of the node is generated based on the final local dynamic resource status table and sent to the neighboring nodes in the static time slot of the node.

[0060] Specifically,

[0061] 1. Overall structure of the method

[0062] refer to Figure 2-Figure 3 ,Dynamic resource negotiation is mainly distributed in the RRC layer in the data link layer. ,The RRC layer consists of node maintenance, routing management, broadcast ,receiving and sending, time slot resource management, timer management, ,configuration file reading and inter-module interaction management.

[0063] 2. Detailed design of the method

[0064] Dynamic resource negotiation is in the time slot management module of the RRC layer. The time slot resource management process mainly implements distributed dynamic time domain resource allocation between nodes according to the traffic volume needs between nodes, and can automatically complete the wireless resource negotiation process according to the neighbor status, network topology, and service traffic, so as to reuse the planned dynamic time-frequency wireless resources outside the two-hop range, and overall reduce the interference of the cross-link waveform using time-frequency resources, so as to achieve more efficient use of limited spectrum resources and improve spectrum utilization.

[0065] 2.1 Dynamic Resource Negotiation Principles

[0066] 2.1.1 Definition of available resources:

[0067] refer to Figure 4 , Node 3 wants to send data to node 6. First, it selects one or more time slots s. In time slots s, node 3 sends and node 6 receives.

[0068] Before applying for dynamic resources, the time slots s that can be applied for occupation must meet the following requirements:

[0069] (1) In time slot s, node 3 neither sends nor receives;

[0070] (2) In time slot s, node 6 neither sends nor receives;

[0071] (3) In time slot s, all neighboring nodes (1, 2, 4, 5) of node 3 do not receive (do not send);

[0072] (4) In time slot s, all neighboring nodes (5, 7, 9) of node 6 do not send.

[0073] Node 3 collects the neighbor information of itself and node 6 to find the time slot s that meets the above conditions as its own transmission time slot.

[0074] 2.1.2 Resource status definition:

[0075] The air interface status of dynamic time slot resources includes "sending", "receiving" and "idle". The node needs to indicate the resource occupancy status of the node or one-hop neighbor node in each service time slot within a superframe period in the resource notification signaling.

[0076] a) “Idle”

[0077] When the time slot status is "idle", it means that the time slot can be occupied by other nodes, and the resource notification does not need to carry the destination node and service priority.

[0078] b) "Send"

[0079] The time slot status is "sending", which means that the current node or a neighboring node in the same hop applies to occupy the time slot for transmission. The resource notification must carry the service priority, the source sending node, and the target receiving node.

[0080] c) “Receive”

[0081] The time slot status is "receiving", which means that the current node or the one-hop neighboring node agrees to receive the service of a certain sending node. The resource notification carries the service priority, the source sending node and the target receiving node.

[0082] When both the sending and receiving states exist for a group of nodes, only the sending state is recorded. Figure 5 ,When node 3 requests node 6 to send data, node 5 determines that the neighbor node is both sending and receiving, and only records the sending.

[0083] 2.1.3 Resource notification message:

[0084] Each node broadcasts a resource announcement message in its own static time slot and receives resource announcement messages in other nodes' static time slots.

[0085] The information carried in the resource announcement message is the resource occupancy status of the N resource blocks starting from the first dynamic time slot after the current static time slot of this node, where N = M*2, M is the number of dynamic time slots in a superframe. The first resource block corresponds to the first dynamic time slot after the static time slot in which this announcement message is sent; the 1st to Mth announcement blocks are confirmation information of resource applications (including the results of conflict resolution); the M+1st to 2Mth announcement blocks are information on resource applications, which will be confirmed in the announcement sent in the next static time slot of this node.

[0086] 2.1.4 Local dynamic resource status table:

[0087] When a node receives a resource notification message from each neighbor, it is triggered to update the local dynamic resource status table: which nodes occupy which time domain resources for service transmission and reception.

[0088] The local dynamic resource status table continuously records the resource occupancy status of N resource blocks starting from the first dynamic time slot after the static time slot to which the current node belongs, where N=M*2, and M is the number of dynamic time slots in a superframe. The first resource block corresponds to the first dynamic time slot after the static time slot in which this notification information is sent; the 1st to Mth notification blocks are confirmation information for resource applications (including the results of conflict resolution); the M+1th to 2Mth notification blocks are information for resource applications, which will be confirmed in the notification sent in the next static time slot of this node.

[0089] 2.1.5 Sending and receiving resource notification messages:

[0090] Before the time for sending the resource announcement message of this node arrives (the static time slot to which this node belongs), the number of time domain resources required to send services to each neighboring node reported by MAC is used, and according to the local dynamic resource status table maintained locally, it is determined which time domain resource blocks need to be applied for, and the corresponding resources are recorded in the local dynamic resource status table. The resource announcement message is immediately assembled and sent according to the latest dynamic resource status table.

[0091] Receive resource notification messages from neighbor nodes in each static time slot and update the resource status in the local dynamic resource status table.

[0092] Since all nodes periodically notify surrounding neighbor nodes of the resource usage of the node and one-hop neighbor nodes, each node will eventually master the resource information of nodes within 2 hops of the node, thereby realizing resource reuse outside 2 hops.

[0093] 2.2 Resource Conflict Resolution Principles

[0094] There are many scenarios where service resource conflicts occur, such as resource notification message loss, signal leakage, node movement, unidirectional links, and resource preemption. Whether it is a one-hop or two-hop service resource conflict, the conflict is discovered by processing the resource notification messages sent by neighboring nodes.

[0095] After a conflict is found, one of the service-occupied resources is reserved according to the conflict resolution criteria of service resources, and is notified in the next resource notification time slot, and finally notified to the two-hop nodes of this node.

[0096] Principles for resolving business resource conflicts: Businesses with higher priorities take priority in occupying resources, and businesses with the same priority are preempted according to certain rules.

[0097] 2.2.1 Business Resource Application Process

[0098] (i) In the initial state, each node initializes all time slot resource blocks in the local dynamic resource status table maintained by the node to an idle state.

[0099] (ii) Each node receives resource announcement messages in each static time slot in the system. After receiving messages broadcast by surrounding neighbors, it maintains a local dynamic resource status table. The process is as follows:

[0100] (1) Calculate the air interface time corresponding to the time domain resource block in the message according to the current receiving time, and determine the update position of the local dynamic resource status table.

[0101] (2) Cyclic processing of each time domain resource block from the 1st to the 2Mth resource blocks in the message (M is the number of dynamic time slots in a superframe):

[0102] ① If the status is "Idle": If the local status is issued by yourself, change the local status to idle. Otherwise, keep the status of the record table unchanged (resources that have not been applied for are idle by default).

[0103] ② If the status is "sending", it means that the neighbor node has applied to occupy the sending resources:

[0104] 1) If the status in the local dynamic resource table is collected by yourself, keep the local status unchanged.

[0105] 2) If the status in the local dynamic resource table is "sending by yourself", "receiving only" or "idle", change the status to "receiving by yourself" and record the priority of the receiving node and the source node.

[0106] ③If the status is "receiving", it means that the neighbor node confirms that it occupies the receiving resources.

[0107] 1) If the local state is sending or idle, and the source node of the resource notification is not the local node, change the local state to only receiving, otherwise keep the local state unchanged.

[0108] 2) If the local state is for receiving or can only receive, keep the local state unchanged.

[0109] (III) Before the time for sending the resource notification message of this node arrives (the static time slot to which this node belongs), according to the number of time domain resources required for sending services to each neighboring node reported by MAC, according to the local dynamic resource status table maintained locally, determine which time domain resource blocks need to be applied for, record the corresponding resources in the local dynamic resource status table, and immediately assemble the resource notification message according to the latest dynamic resource status table for sending. The process is as follows:

[0110] (1) MAC calculates the traffic volume to be sent by each neighbor node two slots before scheduling the static time slot to which this node belongs, and calculates the number of time domain resources to be applied for based on the MCS (modulation and coding strategy).

[0111] (2) If the number of resources to be applied for is greater than 0, determine the range of time domain resources that the node can apply for based on the static time slot time. Calculate resources from the local dynamic resource table:

[0112] ① Determine the number of resource types that need to be allocated in the next superframe within the current superframe. The types that need to be allocated are:

[0113] 1) This node applies to send a service. The corresponding type varies depending on the destination node.

[0114] 2) The status in the local dynamic resource status table is received by this node, and the corresponding type is different depending on the source node.

[0115] ② Calculate the maximum number of allocated time slots for each type that needs to be allocated. The maximum number of allocated time slots for each type is equal to the maximum number of dynamic time slots in the superframe divided by the total number of types.

[0116] ③ Calculate the number of time slots of each type that need to be allocated resources in the next superframe within the current superframe. If the number of time slots allocated for each request is greater than the maximum number of allocated time slots in the current superframe, change it to the maximum number of allocated time slots in the current superframe. If the number of time slots received by this node in the local dynamic resource table is greater than the maximum number of allocated time slots in the current superframe, change the excess time slots from the larger number to the idle state (change the low priority service to idle first).

[0117] ④ Allocate time slots to each request and allocate resources according to priority from high to low, and allocate from idle time slots from high to low.

[0118] ⑤After the allocation is completed, the resource notification message is broadcast through MAC according to the local dynamic resource table.

[0119] (3) The number of resources to be applied for is equal to 0. According to the static time slot time, the time domain resource range that the node can apply for is determined. The resource notification message is broadcasted through MAC according to the local dynamic resource table.

[0120] Note: If the local status is to only receive, change the status of the resource notification message to idle when sending the resource notification.

[0121] 2.2.2 Example of resource coordination process:

[0122] It is known that three base stations are connected horizontally. The base station connection and NR access adopt time division mode. The real-time slot ratio of base station connection and NR access is set to 1:1. At the same time, PC1 and PC3 are mutually fed 300M packets. PC2 and PC3 use traffic monitoring software to check the packet receiving status. The connection diagram is as follows Figure 6 shown.

[0123] Table 1 Base station cross-connection test record

[0124]

[0125]

[0126] It can be seen from Table 1 that the use of this method for dynamic resource scheduling can effectively reduce the communication delay of the wireless ad hoc network, and the preemption rules of this scheme can ensure that the resource utilization of each node is balanced. For example, if two nodes send packets of the same size to each other, the resource allocation of each node can be balanced, and there is no situation where one party allocates more resources or the other allocates less resources, thereby ensuring the fairness of scheduling.

[0127] Based on this, each node of this method does not need to know the application status of all nodes. Each node maintains its own independent resource notification table within the range of two superframes, and then performs resource scheduling according to its own local resource notification table, which greatly saves scheduling time and reduces coupling. Moreover, each time after receiving the resource notification message from other one-hop neighbor nodes, the resources are allocated according to the preemption rules and then the competitive resources to be applied for are immediately broadcasted to the outside, without delaying and waiting for confirmation, which is simple and efficient. The preemption rules of this scheme can ensure the balanced utilization of resources at each node. For example, if two nodes send packets of the same size to each other, the balanced allocation of resources for each node can be ensured. There is no situation where one party allocates more resources or the other allocates less resources, thereby ensuring the fairness of scheduling and solving the problem of uneven channel resource allocation when multiple node devices share wireless channels.

[0128] Example 2

[0129] Please refer to Figure 7 , Figure 7 The figure shows a device for dynamic resource negotiation and scheduling in a wireless ad hoc network provided by this embodiment. In this embodiment, the device includes:

[0130] The dynamic resource initialization module is used for initializing each node to initialize the air interface state of the time slot resource block in the local dynamic resource state table maintained by itself to an idle state in the initial state;

[0131] The dynamic resource table maintenance module is used to receive the resource notification message of the neighbor node before the time for sending the resource notification message of the node arrives and update the air interface status of the time slot resource block in the local dynamic resource status table of the node to obtain the updated local dynamic resource status table;

[0132] A dynamic resource application module is used to determine the time slot resources that the node can apply for based on the traffic volume to be sent by each neighbor node and the updated local dynamic resource status table, and record them in the updated local resource status table to obtain the final local dynamic resource status table;

[0133] The resource announcement sending module is used to generate the resource announcement message of the node based on the final local dynamic resource status table and send it to the neighboring node in the static time slot of the node when the resource announcement message sending time of the node arrives.

[0134] Optionally, the local dynamic resource status table records the air interface status of several time domain resource blocks starting from the first dynamic time slot after the static time slot to which this node belongs; the number of time slot resource blocks is equal to twice the number of dynamic time slots in a superframe; wherein the first half of the time slot resource blocks represent confirmation information for resource application, and the second half of the time slot resource blocks represent information for resource application.

[0135] Optionally, the air interface state includes a sending state, a receiving state and an idle state; wherein,

[0136] The sending state indicates that the current node or neighboring node applies to occupy the time slot resource block for data transmission, and the resource notification must carry the service priority, the source node for sending the source data, and the destination node for receiving the data;

[0137] The receiving state means that the current node or neighboring node agrees to receive the service of a certain sending node, and the resource notification must carry the service priority, the source node of the source data, and the destination node of the data.

[0138] The idle state indicates that the time domain resource block can be occupied by other nodes.

[0139] Optionally, the dynamic resource table maintenance module includes:

[0140] A message receiving time determining submodule, used for receiving a resource notification message from a neighboring node and determining a message receiving time before the resource notification message sending time of the current node arrives;

[0141] An air interface time determination submodule, used to calculate the air interface time of each time slot resource block in the resource announcement message according to the message reception time;

[0142] A local update position determination submodule is used to determine the update position of the local dynamic resource status table of the node corresponding to each time slot resource block based on the air interface time of each time slot resource block, which is recorded as the local update position;

[0143] The air interface status update submodule is used to traverse each time slot resource block in the resource announcement message, and update the air interface status of the time slot resource block in the local dynamic resource status table of this node according to the air interface status of the time slot resource block and the corresponding local update position, and obtain the updated local dynamic resource status table.

[0144] Optionally, the air interface status update submodule includes:

[0145] An idle state updating unit, configured to determine whether the air interface state of the local update position is a sending state if the air interface state of the time slot resource block is an idle state, and if so, modify the air interface state of the local update position to an idle state, and if not, keep the air interface state of the local update position unchanged;

[0146] A sending status updating unit, configured to determine whether the air interface state of the local update position is a receiving state if the air interface state of the time slot resource block is a sending state, and if so, to keep the air interface state of the local update position unchanged; if not, to modify the air interface state of the local update position to a receiving state and record the priority and source node of the neighbor node;

[0147] The receiving status update unit is used to determine whether the air interface status of the local update position is the receiving state if the air interface status of the time slot resource block is the receiving state. If so, the air interface status of the local update position is kept unchanged. If not, and the source node of the resource notification message is not this node, the air interface status of the local update position is modified to the receiving state.

[0148] Optional, dynamic resource application modules include:

[0149] The traffic volume calculation submodule is used to calculate the traffic volume to be sent by each neighboring node in the first two time slots of the static time slot to which the node belongs;

[0150] The time domain resource number calculation submodule is used to calculate the number of time domain resources that need to be applied for based on the traffic volume to be sent and the modulation and coding strategy of each neighboring node;

[0151] The resource application submodule is used to determine the time slot resources that the node can apply for based on the number of time domain resources that need to be applied for and the updated local dynamic resource status table, and record them in the updated local resource status table to obtain the final local dynamic resource status table.

[0152] Optionally, the resource application submodule includes:

[0153] A unit for determining the type of resources to be allocated, configured to determine the type and total number of types of resources to be allocated based on the updated local dynamic resource status table if the number of time domain resources to be applied for is greater than 0;

[0154] A maximum allocated time slot number determination unit, used to determine the maximum allocated time slot number of each type of resource to be allocated based on the maximum dynamic time slot number and the total number of types in the superframe;

[0155] A time slot allocation quantity determination unit, configured to determine the number of time slots allocated to each type of resource to be allocated based on the maximum number of allocated time slots;

[0156] The time slot resource allocation unit is used to allocate time slot resources to each type of resources to be allocated based on the number of time slots allocated to each type of resources to be allocated and record them in the updated local resource status table to obtain a final local dynamic resource status table.

[0157] Optionally, the types of resources to be allocated include the sending service type of this node and the receiving service type of this node; the time slot status in the local dynamic resource status table is recorded as the sending service type of this node as the sending state; the time slot status in the local dynamic resource status table is recorded as the receiving service type of this node as the receiving service type of this node; the sending service type of this node is recorded as different sending service types of this node according to the different destination nodes for data transmission; the receiving service type of this node is recorded as different receiving service types of this node according to the different source nodes for received data.

[0158] Optionally, the resource application submodule also includes:

[0159] The resource-free application unit is used to generate a resource notification message of the current node based on the updated local dynamic resource status table and send it to the neighboring nodes in the static time slot of the current node if the number of resources to be applied is equal to 0.

[0160] Based on this, each node of this device does not need to know the application status of all nodes. Each node maintains its own independent resource notification table within the range of two superframes, and then performs resource scheduling according to its own local resource notification table, which greatly saves scheduling time and reduces coupling. Moreover, each time after receiving the resource notification message from other one-hop neighbor nodes, it immediately broadcasts the competitive resources to be applied for this time after allocating resources according to the preemption rules, without delaying and waiting for confirmation, which is simple and efficient. The preemption rules of this scheme can ensure the balanced utilization of resources at each node. For example, if two nodes send packets of the same size to each other, it can ensure that the resources of each node are evenly allocated. There is no situation where one party allocates more resources or the other allocates less resources, thereby ensuring the fairness of scheduling, thereby solving the problem of uneven distribution of channel resources when multiple node devices share wireless channels.

[0161] Example 3

[0162] Please refer to Figure 8, this embodiment provides an electronic device, which includes a processor, an internal bus, a network interface, a memory and a non-volatile memory, and of course may also include hardware required for other services. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it, forming a method for dynamic resource negotiation and scheduling in a wireless ad hoc network at the logical level. Of course, in addition to the software implementation method, this specification does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0163] The network interface, processor and memory can be connected to each other through a bus system. The above bus can be divided into an address bus, a data bus, a control bus, etc.

[0164] The memory is used to store programs. Specifically, the program may include program code, and the program code includes computer operation instructions. The memory may include a read-only memory and a random access memory, and provides instructions and data to the processor.

[0165] The processor is used to execute the program stored in the above memory, and specifically perform:

[0166] Step 102, in the initial state, each node initializes the air interface state of the time slot resource block in the local dynamic resource state table maintained by itself to an idle state;

[0167] Step 104, before the time for sending the resource announcement message of the node arrives, receiving the resource announcement message of the neighboring node and updating the air interface state of the time slot resource block in the local dynamic resource state table of the node to obtain an updated local dynamic resource state table;

[0168] Step 106, based on the traffic volume to be sent by each neighbor node and the updated local dynamic resource status table, determine the time slot resources that the node can apply for and record them in the updated local resource status table to obtain a final local dynamic resource status table;

[0169] Step 108: When the time for sending the resource announcement message of the node arrives, the resource announcement message of the node is generated based on the final local dynamic resource status table and sent to the neighboring nodes in the static time slot of the node.

[0170] The processor may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above method may be completed by an integrated logic circuit of the processor hardware or by instructions in the form of software.

[0171] Based on the same invention, the embodiment of this specification also provides a computer-readable storage medium, which stores one or more programs. When the one or more programs are executed by an electronic device including multiple application programs, the electronic device executes Figure 1-Figure 6 A corresponding embodiment provides a method for dynamic resource negotiation and scheduling in a wireless ad hoc network.

[0172] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-readable storage media containing computer-usable program code.

[0173] In addition, for the above-mentioned specific implementation of the system, since it is basically similar to the method implementation, the description is relatively simple, and the relevant parts can be referred to the partial description of the method implementation. Moreover, it should be noted that in each module of the system of the present application, the components therein are logically divided according to the functions to be implemented, but the present application is not limited thereto, and the components can be re-divided or combined as needed.

[0174] The various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referenced to each other. Each embodiment focuses on the differences between it and other embodiments.

[0175] The above is a description of a specific embodiment of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps described in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the specific order or sequential order shown in the process depicted in the drawings is not necessarily required to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0176] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims

1. A method for dynamic resource negotiation and scheduling in a wireless ad hoc network, characterized in that: include: In the initial state, each node initializes the air interface state of the time slot resource block in the local dynamic resource state table maintained by itself to the idle state; Before the time for sending the resource notification message of the node arrives, receiving the resource notification message of the neighboring node and updating the air interface state of the time slot resource block in the local dynamic resource state table of the node to obtain the updated local dynamic resource state table; Based on the traffic volume to be sent by each neighbor node and the updated local dynamic resource status table, determine the time slot resources that the node can apply for and record them in the updated local resource status table to obtain the final local dynamic resource status table; When the time for sending the resource announcement message of the local node arrives, the resource announcement message of the local node is generated based on the final local dynamic resource status table and sent to the neighboring nodes in the static time slot of the local node.

2. The method according to claim 1, characterized in that The local dynamic resource status table records the air interface status of several time domain resource blocks starting from the first dynamic time slot after the static time slot to which this node belongs; the number of time slot resource blocks is equal to twice the number of dynamic time slots in a superframe; wherein the first half of the time slot resource blocks represent the confirmation information of the resource application, and the second half of the time slot resource blocks represent the information for the resource application.

3. The method according to claim 2, characterized in that The air interface state includes a sending state, a receiving state and an idle state; wherein, The sending state indicates that the current node or neighboring node applies to occupy the time slot resource block for data transmission, and the resource notification must carry the service priority, the source node for sending the source data, and the destination node for receiving the data; The receiving state means that the current node or neighboring node agrees to receive the service of a certain sending node, and the resource notification must carry the service priority, the source node of the source data, and the destination node of the data. The idle state indicates that the time domain resource block can be occupied by other nodes.

4. The method according to claim 3, characterized in that The receiving of the resource notification message of the neighbor node and updating the air interface status of the time slot resource block in the local dynamic resource status table of the node before the time of sending the resource notification message of the node arrives, and obtaining the updated local dynamic resource status table includes: The receiving of the resource notification message of the neighbor node and determining the message receiving time before the resource notification message sending time of the node arrives; Calculate the air interface time of each time slot resource block in the resource announcement message according to the message reception time; Based on the air interface time of each time slot resource block, determine the update position of the local dynamic resource status table of the node corresponding to each time slot resource block, recorded as the local update position; Each time slot resource block in the resource announcement message is traversed, and the air interface status of the time slot resource block in the local dynamic resource status table of the node is updated according to the air interface status of the time slot resource block and the corresponding local update position to obtain an updated local dynamic resource status table.

5. The method according to claim 4, characterized in that The traversing each time slot resource block in the resource announcement message, updating the air interface status of the time slot resource block in the local dynamic resource status table of the node according to the air interface status of the time slot resource block and the corresponding local update position, and obtaining the updated local dynamic resource status table includes: If the air interface state of the time slot resource block is an idle state, determine whether the air interface state of the local update position is a sending state. If so, modify the air interface state of the local update position to an idle state. If not, keep the air interface state of the local update position unchanged. If the air interface state of the time slot resource block is in the sending state, determine whether the air interface state of the local update position is in the receiving state. If so, keep the air interface state of the local update position unchanged. If not, change the air interface state of the local update position to the receiving state and record the priority and source node of the neighbor node. If the air interface state of the time slot resource block is in the receiving state, determine whether the air interface state of the local update location is in the receiving state. If so, keep the air interface state of the local update location unchanged. If not, and the source node of the resource notification message is not this node, change the air interface state of the local update location to the receiving state.

6. The method according to claim 1, characterized in that The determining of the time slot resources that the node can apply for and recording them in the updated local resource status table based on the traffic volume to be sent by each neighbor node and the updated local dynamic resource status table, and obtaining the final local dynamic resource status table includes: In the first two time slots of the static time slot to which this node belongs, calculate the traffic volume to be sent by each neighboring node; Calculate the number of time domain resources that need to be applied for based on the traffic volume to be sent and the modulation and coding strategy of each neighboring node; Based on the number of time domain resources that need to be applied for and the updated local dynamic resource status table, the time slot resources that can be applied for by the node are determined and recorded in the updated local resource status table to obtain the final local dynamic resource status table.

7. The method according to claim 6, characterized in that The determining of the time slot resources that the node can apply for based on the number of time domain resources that need to be applied for and the updated local dynamic resource status table and recording them in the updated local resource status table, and obtaining the final local dynamic resource status table includes: If the number of time domain resources to be applied for is greater than 0, the types of resources to be allocated and the total number of types are determined based on the updated local dynamic resource status table; Determine the maximum number of allocated time slots for each type of resource to be allocated based on the maximum number of dynamic time slots and the total number of types in the superframe; Based on the maximum number of allocated time slots, determine the number of time slots allocated to each type of resources to be allocated; Based on the number of time slots allocated to each type of resources to be allocated, time slot resources are allocated to each type of resources to be allocated and recorded in the updated local resource status table to obtain a final local dynamic resource status table.

8. The method according to claim 6, characterized in that The types of resources to be allocated include the sending service type of this node and the receiving service type of this node; the time slot state in the local dynamic resource status table is recorded as the sending service type of this node as the sending state; the time slot state in the local dynamic resource status table is recorded as the receiving service type of this node as the receiving service type of this node; the sending service type of this node is recorded as different sending service types of this node according to the different destination nodes for data transmission; the receiving service type of this node is recorded as different receiving service types of this node according to the different source nodes for received data.

9. The method according to claim 6, characterized in that If the number of resources to be applied for is equal to 0, a resource notification message of the local node is generated based on the updated local dynamic resource status table and sent to neighboring nodes in the static time slot of the local node.

10. A device for dynamic resource negotiation and scheduling in a wireless ad hoc network, characterized in that: include: The dynamic resource initialization module is used for initializing each node to initialize the air interface state of the time slot resource block in the local dynamic resource state table maintained by itself to an idle state in the initial state; The dynamic resource table maintenance module is used to receive the resource notification message of the neighbor node before the time for sending the resource notification message of the node arrives and update the air interface status of the time slot resource block in the local dynamic resource status table of the node to obtain the updated local dynamic resource status table; A dynamic resource application module is used to determine the time slot resources that the node can apply for based on the traffic volume to be sent by each neighbor node and the updated local dynamic resource status table, and record them in the updated local resource status table to obtain the final local dynamic resource status table; The resource announcement sending module is used to generate the resource announcement message of the node based on the final local dynamic resource status table and send it to the neighboring node in the static time slot of the node when the resource announcement message sending time of the node arrives.