CN116033520A - Wireless networking method and wireless ad hoc network system - Google Patents

Wireless networking method and wireless ad hoc network system Download PDF

Info

Publication number
CN116033520A
CN116033520A CN202310315831.7A CN202310315831A CN116033520A CN 116033520 A CN116033520 A CN 116033520A CN 202310315831 A CN202310315831 A CN 202310315831A CN 116033520 A CN116033520 A CN 116033520A
Authority
CN
China
Prior art keywords
node
cluster head
nodes
cluster
head group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310315831.7A
Other languages
Chinese (zh)
Other versions
CN116033520B (en
Inventor
郑泽榕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Penglongtong Technology Co ltd
Original Assignee
Shenzhen Penglongtong Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Penglongtong Technology Co ltd filed Critical Shenzhen Penglongtong Technology Co ltd
Priority to CN202310315831.7A priority Critical patent/CN116033520B/en
Publication of CN116033520A publication Critical patent/CN116033520A/en
Application granted granted Critical
Publication of CN116033520B publication Critical patent/CN116033520B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

The application relates to the technical field of wireless communication and discloses a wireless networking method and a wireless ad hoc network system, wherein the wireless networking method is applied to the wireless ad hoc network system and comprises the following steps: clustering nodes in the wireless self-organizing network system, and selecting initial cluster head nodes; increasing the number of cluster head nodes, and forming a cluster head group by the cluster head nodes and the initial cluster head nodes, wherein the cluster head group forms a virtual cluster head node; and the virtual cluster head node determines whether to respond to the request of the newly added node for joining the cluster according to the message sent by the newly added node. By increasing the number of cluster head nodes and forming a cluster head group by the cluster head nodes and the initial cluster head nodes, wherein the cluster head group forms a virtual cluster head node, and the virtual cluster head node determines whether to respond to a request of adding the newly added node into the cluster according to a message sent by the newly added node.

Description

Wireless networking method and wireless ad hoc network system
Technical Field
The embodiment of the application relates to the technical field of wireless communication, in particular to a wireless networking method and a wireless ad hoc network system.
Background
A Wireless Ad-Hoc Network (Wireless Ad-Hoc Network) is a multi-hop mobile peer-to-peer Network which is composed of several to tens of nodes, adopts a Wireless communication mode and is dynamically networked, has the characteristics of no Network center, self-organization, dynamic topology and the like, is suitable for an environment in which Network facilities cannot be or are inconvenient to lay in advance and rapid networking is required, and has huge application prospects and wide markets in the military and civil fields.
In order to improve the expandability of the wireless ad hoc network, a hierarchical network management mode is generally adopted to manage the wireless ad hoc network, namely when the network scale is larger and nodes in the network are more, the network is divided into clusters, and cluster head nodes are responsible for the management of the intra-cluster network and the maintenance of the inter-cluster network. However, the cluster head node may become a bottleneck node in the network due to the heavy task, thereby affecting the stability of the entire network.
Disclosure of Invention
The embodiment of the application provides a wireless networking method and a wireless ad hoc network system so as to improve the stability of a network.
The embodiment of the application provides the following technical scheme:
in a first aspect, an embodiment of the present application provides a wireless networking method, where the wireless networking method is applied to a wireless ad hoc network system, and the wireless networking method includes:
Clustering nodes in the wireless self-organizing network system, and selecting initial cluster head nodes;
increasing the number of cluster head nodes, and forming a cluster head group by the cluster head nodes and the initial cluster head nodes, wherein the cluster head group forms a virtual cluster head node;
and the virtual cluster head node determines whether to respond to the request of the newly added node for joining the cluster according to the message sent by the newly added node.
In some embodiments, clustering nodes in a wireless ad hoc network system and selecting an initial cluster head node includes:
clustering nodes in the wireless self-organizing network system through a highest node degree heuristic algorithm, and selecting initial cluster head nodes, wherein the clusters comprise the initial cluster head nodes and common nodes, and the initial cluster head nodes and the common nodes in the clusters are in a one-hop communication range.
In some embodiments, increasing the number of cluster head nodes and grouping the cluster head nodes with the initial cluster head nodes comprises:
determining the number of cluster head nodes to be added according to the cluster scale;
judging whether each common node in the cluster meets a first condition, wherein the first condition comprises that the common node and other nodes in the cluster are in a one-hop communication range;
If the common node meets the first condition, converting the common node into a cluster head node, and adding the cluster head node into a cluster head group;
and reassigning the common nodes to which each cluster head group node in the cluster head group needs to respond by a consistent hash algorithm.
In some embodiments, the determining, by the virtual cluster head node, whether to respond to the request of the newly added node to join the cluster according to the message sent by the newly added node includes:
each cluster head group node in the virtual cluster head nodes determines whether to respond to a request of adding a new node into a cluster or not through a consistent hash algorithm;
if a cluster head group node responds to the request of adding the newly added node into the cluster, the newly added node is added into the cluster successfully;
if the cluster head group nodes do not respond to the request of adding the newly added nodes into the cluster, the newly added nodes fail to be added into the cluster.
In some embodiments, the method further comprises:
if the newly added node successfully joins the cluster and at least one cluster head group node in the virtual cluster head nodes cannot communicate with the newly added node, the virtual cluster head node is updated to reselect the cluster head group node.
In some embodiments, the cluster head group nodes are kept synchronous through heartbeat messages;
the cluster head group nodes carry out periodic broadcasting based on a routing protocol of a distance vector algorithm;
The method further comprises the steps of:
the cluster head group node periodically broadcasts information of common nodes within a one-hop range;
when a common node in the cluster is offline, the cluster head group node corresponding to the common node updates broadcast content and broadcasts in the cluster head group.
In some embodiments, the method further comprises:
identifying each node in the cluster, and judging whether each node meets a second condition;
if the node meets the second condition, determining the node as an edge node, wherein the edge node comprises a common node or a cluster head group node in the cluster;
when the cluster head group node broadcasts the routing information, the edge node is designated to forward so as to forward the routing information of the cluster to the nodes in other clusters;
wherein the second condition comprises:
the node is in the handover area of the two clusters and receives part of the broadcast information of both clusters at the same time.
In some embodiments, the routing information includes network topologies of nodes within the cluster and perceived network topologies of nodes within other clusters;
the second condition further includes:
in a one-hop range of broadcasting by the nodes, at least one common node does not belong to the cluster;
the method further comprises the steps of:
each cluster head group node calculates the network topology of the corresponding node and the associated part of the whole routing table respectively, and broadcasts the calculation result in sequence;
When the cluster head group node needs to update the maintained content, the cluster head group node broadcasts in the cluster head group or notifies the next cluster head group node which sends the broadcast to broadcast.
In some embodiments, the method further comprises:
sequencing the residual energy of each cluster head group node, and determining the cluster head group node with the minimum residual energy as the node to be deleted;
the common nodes which need to be responded again for each cluster head group node after the nodes to be deleted are reduced are calculated through a consistent hash algorithm, and the cluster head group nodes corresponding to the nodes to be deleted are determined;
and the cluster head group node corresponding to the node to be deleted notifies the node to be deleted so as to convert the node to be deleted into a common node.
In a second aspect, an embodiment of the present application provides a wireless ad hoc network system, where the wireless ad hoc network system includes nodes divided into a plurality of clusters, where one cluster corresponds to one initial cluster head node;
the wireless ad hoc network system includes:
the initial cluster head nodes are used for increasing the number of the cluster head nodes according to the scale of the cluster, and forming a cluster head group with the cluster head nodes, wherein the cluster head group forms a virtual cluster head node;
and the virtual cluster head node is used for determining whether to respond to the request of the newly added node for joining the cluster according to the message sent by the newly added node.
In a third aspect, embodiments of the present application provide a non-volatile computer-readable storage medium storing computer-executable instructions for causing a wireless ad hoc network system to perform the wireless networking method as in the first aspect.
The beneficial effects of this embodiment of the application are: unlike the prior art, the embodiment of the present application provides a wireless networking method, which is applied to a wireless ad hoc network system, and includes: clustering nodes in the wireless self-organizing network system, and selecting initial cluster head nodes; increasing the number of cluster head nodes, and forming a cluster head group by the cluster head nodes and the initial cluster head nodes, wherein the cluster head group forms a virtual cluster head node; and the virtual cluster head node determines whether to respond to the request of the newly added node for joining the cluster according to the message sent by the newly added node. By increasing the number of cluster head nodes and forming a cluster head group by the cluster head nodes and the initial cluster head nodes, wherein the cluster head group forms a virtual cluster head node, and the virtual cluster head node determines whether to respond to a request of adding the newly added node into the cluster according to a message sent by the newly added node.
Drawings
One or more embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which the figures of the drawings are not to scale, unless expressly stated otherwise.
Fig. 1 is a schematic diagram of a wireless ad hoc network system according to an embodiment of the present application;
fig. 2 is a schematic diagram of another wireless ad hoc network system according to an embodiment of the present application;
fig. 3 is a schematic flow chart of a wireless networking method according to an embodiment of the present application;
fig. 4 is a schematic diagram of a refinement flow of step S301 in fig. 3;
fig. 5 is a schematic diagram of a refinement flow of step S302 in fig. 3;
fig. 6 is a schematic diagram of a refinement flow of step S303 in fig. 3;
fig. 7 is a schematic flow chart of updating a virtual cluster head node according to an embodiment of the present application;
fig. 8 is a schematic flow chart of broadcasting by a cluster head group node according to an embodiment of the present application;
fig. 9 is a schematic flow chart of broadcasting by another cluster head group node according to an embodiment of the present application;
fig. 10 is a schematic flow chart of broadcasting by another cluster head group node according to an embodiment of the present application;
Fig. 11 is a schematic flow chart of converting a cluster head group node into a common node according to an embodiment of the present application;
fig. 12 is a schematic structural diagram of a cluster head group node according to an embodiment of the present application.
Detailed Description
In order to facilitate an understanding of the present application, the present application will be described in more detail below with reference to the accompanying drawings and detailed description. It will be understood that when an element is referred to as being "fixed" to another element, it can be directly on the other element or one or more intervening elements may be present therebetween. When an element is referred to as being "connected" to another element, it can be directly connected to the other element or one or more intervening elements may be present therebetween. The terms "vertical," "horizontal," "left," "right," and the like are used herein for illustrative purposes only.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description of the present application in this description is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The term "and/or" as used in this specification includes any and all combinations of one or more of the associated listed items.
To facilitate understanding of the methods provided in the embodiments of the present application, the terms involved in the embodiments of the present application are first described:
(1) Clustering refers to dividing a wireless ad hoc network into a plurality of clusters, wherein a cluster is a set of nodes with certain association in the network, and each cluster comprises a cluster head node and a plurality of common nodes.
(2) One hop refers to the number of routers through which a message is transmitted as one.
The technical scheme of the application is specifically described below with reference to the accompanying drawings of the specification:
referring to fig. 1, fig. 1 is a schematic diagram of a wireless ad hoc network system according to an embodiment of the present application;
as shown in fig. 1, a circle represents a node, and the wireless ad hoc network system has a size of 100×10, i.e., 1000 nodes.
It will be appreciated that the wireless ad hoc network system is an infrastructure-less mobile network, and does not require the support of existing information infrastructure, and is composed of a plurality of nodes with wireless communication transceiver devices, each of which can move freely and have equal status.
In the embodiment of the present application, each node is an electronic device, which includes, but is not limited to: mobile electronic devices such as notebook computers, palm top computers, ultra-mobile personal computer (UMPC), and non-mobile electronic devices such as servers, routers, and network attached storage (Network Attached Storage, NAS).
Further, the wireless ad hoc network system has two structures, namely a planar structure and a hierarchical structure: in a planar structure, all nodes are equal in status, but the problem of system expandability exists, and when the network scale is increased, the network efficiency is obviously reduced; the hierarchical structure can effectively solve the problem of expandability, in the hierarchical structure, all nodes are divided into cluster structures with hierarchical characteristics, each cluster selects one node as a cluster head node, and the communication of the nodes between two different clusters is forwarded through the respective cluster head nodes. However, in the existing hierarchical structure, the cluster head node may become a bottleneck node in the network due to the heavy task, thereby affecting the stability of the whole network.
Based on the above problems, the embodiments of the present application provide a wireless networking method and a wireless ad hoc network system, so as to improve the stability of a network. In addition, the wireless networking method in the embodiment of the application can support larger networking scale, for example: the method is applied to a wireless self-organizing network system with densely deployed large-scale (thousands of orders of magnitude) nodes.
Specifically, referring to fig. 2, fig. 2 is a schematic diagram of another wireless ad hoc network system according to an embodiment of the present application;
in an embodiment of the present application, the wireless ad hoc network system executes the wireless networking method in any one of the following embodiments, where nodes in the wireless ad hoc network system are divided into a plurality of clusters, one cluster corresponds to one initial cluster head node, and the wireless ad hoc network system includes:
the initial cluster head nodes are used for increasing the number of the cluster head nodes according to the scale of the cluster, and forming a cluster head group with the cluster head nodes, wherein the cluster head group forms a virtual cluster head node;
and the virtual cluster head node is used for determining whether to respond to the request of the newly added node for joining the cluster according to the message sent by the newly added node.
In the embodiment of the present application, the virtual cluster head node is not one node, and is formed by a cluster head group, where the cluster head group includes at least two nodes. That is, the cluster head group is regarded as one virtual cluster head node, which includes at least two nodes, each of which is a node within the cluster head group, and thus may be referred to as a cluster head group node. It is understood that the cluster head group node may be an initial cluster head node or a cluster head node.
As shown in fig. 2, the wireless ad hoc network system has a scale of 100×10, that is, 1000 nodes, and is a wireless ad hoc network system with densely deployed large-scale (thousand-order) nodes, where the nodes include a common node and a cluster head group node.
It can be understood that the wireless ad hoc network system is divided into a plurality of clusters, each cluster includes a cluster head group node and a common node outside the cluster head group, all cluster head group nodes in the cluster form a cluster head group, and one cluster head group forms a virtual cluster head node, wherein the cluster head group node includes an initial cluster head node or a cluster head node.
In the embodiment of the present application, the common node, the initial cluster head node, the cluster head node, and the cluster head group node are all electronic devices, and the electronic devices include, but are not limited to: mobile electronic devices such as notebook computers, palm top computers, ultra-mobile personal computer (UMPC), and non-mobile electronic devices such as servers and network attached storage (Network Attached Storage, NAS).
Referring to fig. 3, fig. 3 is a flow chart of a wireless networking method according to an embodiment of the present application;
the wireless networking method is applied to a wireless ad hoc network system, and the wireless ad hoc network system comprises a plurality of nodes, wherein each node is an electronic device, for example: the terminal or the router, in particular, the execution body of the wireless networking method is one or at least two processors of the node.
As shown in fig. 3, the wireless networking method includes:
step S301: clustering nodes in the wireless self-organizing network system, and selecting initial cluster head nodes;
specifically, the nodes in the wireless self-organizing network system are divided into a plurality of clusters through a clustering algorithm, and one node is selected from each cluster to serve as an initial cluster head node, wherein the initial cluster head node and common nodes in the clusters are in a one-hop communication range, namely, the cluster radius (the maximum distance from the initial cluster head node to the common nodes in the clusters) is one-hop, and the initial cluster head node and the common nodes in the clusters are all communicated, wherein one-hop refers to one router through which a message is transmitted.
In embodiments of the present application, clustering algorithms include, but are not limited to: minimum identity (LID) algorithm, maximum connectivity algorithm, minimum movement speed algorithm, algorithm based on position prediction, clustering algorithm equally divided by highest node degree heuristic algorithm. Preferably, the highest node degree heuristic algorithm is adopted in the embodiment of the application.
Specifically, referring to fig. 4, fig. 4 is a schematic diagram of a refinement flow of step S301 in fig. 3;
as shown in fig. 4, step S301: clustering nodes in a wireless ad hoc network system and selecting an initial cluster head node, wherein the clustering comprises the following steps:
Step S3011: clustering nodes in the wireless self-organizing network system through a highest node degree heuristic algorithm, and selecting an initial cluster head node.
Specifically, each cluster comprises an initial cluster head node and at least one common node, and the initial cluster head node and the common nodes in the cluster are in a one-hop communication range.
Specifically, the standard for selecting the initial cluster head node by the highest node degree heuristic algorithm is the connectivity, that is, the number of direct neighbors of a node. Each node periodically broadcasts the connection degree of the node to the direct neighbor nodes, so that each node can compare the connection degree of the node with the connection degree of the direct neighbor nodes, if the connection degree of the node is found to be the maximum, the node becomes an initial cluster head node automatically, when the connection degrees are the same, the node with the minimum ID is selected as the initial cluster head node, the one-hop neighbor node of the initial cluster head node becomes a common node in the cluster, the generation process of the cluster is not participated, and the above processes are repeated until all the nodes join in a certain cluster.
In the embodiment of the application, the highest node degree heuristic algorithm is adopted to maximize clusters, reduce the number of clusters, and the average hop count between source and destination node pairs is less, so that the packet delivery delay is reduced.
Step S302: increasing the number of cluster head nodes, and forming a cluster head group by the cluster head nodes and the initial cluster head nodes;
specifically, the initial cluster head node decides whether to increase the number of cluster head nodes according to the cluster scale, if the number of cluster head nodes is increased, the initial cluster head node and the increased cluster head nodes form a cluster head group, the cluster head group forms a virtual cluster head node, each node in the cluster head group is also called a cluster head group node, and the cluster head group node comprises the initial cluster head node or the cluster head node.
Specifically, referring to fig. 5, fig. 5 is a schematic diagram of a refinement flow of step S302 in fig. 3;
as shown in fig. 5, step S302: increasing the number of cluster head nodes, and forming cluster head groups by the cluster head nodes and the initial cluster head nodes, wherein the cluster head groups comprise:
step S3021: determining the number of cluster head nodes to be added according to the cluster scale;
specifically, when the cluster scale is enlarged, the initial cluster head node decides to increase the number of cluster head nodes, and determines the number of cluster head nodes to be increased, for example: every five hundred nodes are added in the cluster, the initial cluster head node determines to add a new cluster head node.
Or the initial cluster head node calculates the number of cluster head group nodes required according to the actual node scale, and then determines the number of cluster head nodes required to be increased.
For example: the cluster size is preset to accommodate 1 ten thousand nodes, at which the number of cluster head group nodes is 20, however, the number of currently actually on-line nodes is 5000, that is, the actual node size is 5000 nodes, and the number of cluster head group nodes should be 5000×20/10000=10, so that the number of cluster head nodes=the number of cluster head group nodes-the number of initial cluster head nodes=10-1=9 needs to be increased.
In an embodiment of the present application, the method further includes:
when the cluster size is reduced, the initial cluster head node reduces the number of cluster head nodes in the cluster head group.
For example: every five hundred nodes in the cluster are reduced, one cluster head group node is reduced.
Step S3022: judging whether each common node in the cluster meets a first condition or not;
specifically, the first condition includes that the common node is within a communication range of one hop with other nodes in the cluster, that is, the cluster radius (the maximum distance between the common node and other nodes in the cluster) is one hop and the common node is fully communicated with other nodes in the cluster.
Further, if the normal node satisfies the first condition, step S3023 is performed: converting the common node into cluster head nodes, and adding the cluster head nodes into a cluster head group; if the common node does not meet the first condition, the step S3022 is returned to continue to determine whether other common nodes in the cluster meet the first condition until the number of common nodes meeting the first condition is the same as the number of cluster head nodes to be added.
Step S3023: converting the common node into cluster head nodes, and adding the cluster head nodes into a cluster head group;
specifically, if the common node meets the first condition, the initial cluster head node notifies the common node, and the common node is converted into the cluster head node and added into the cluster head group.
Step S3024: and reassigning the common nodes to which each cluster head group node in the cluster head group needs to respond by a consistent hash algorithm.
Specifically, the consistent hash algorithm refers to mapping the storage node and the data to a hash ring connected end to end, if nodes are added and deleted, only the successive nodes of the node, which are adjacent clockwise on the hash ring, are affected, and other data cannot be affected. Because only a small part of data in the ring space is needed to be relocated for increasing and decreasing the nodes, the method has good fault tolerance and expandability, and in the embodiment of the application, the consistent hash algorithm comprises but is not limited to a keyHashSlot function.
For example: the number of nodes in the cluster is 1 ten thousand, the number of cluster head group nodes is 20 under the scale, the ID of each common node is used as a key value, a key HashSlot function is adopted, and a specific calculation formula is as follows: slot=crc 16 (key)% 10000, where 10000 is the number of nodes in a cluster, and determining a cluster head group node corresponding to each common node can equally distribute all common nodes in the cluster to 20 cluster head group nodes to respond, that is, 1 cluster head group node needs to respond 499 common nodes.
Step S303: and the virtual cluster head node determines whether to respond to the request of the newly added node for joining the cluster according to the message sent by the newly added node.
Specifically, the newly added node refers to a node outside the cluster and waiting to join the cluster. The new node receives the broadcast of the virtual cluster head node, then sends a message to the virtual cluster head node, and the virtual cluster head node determines whether to respond to the request of the new node for joining the cluster according to the message sent by the new node. It can be understood that the newly added node can only see one virtual cluster head node, and send a message to the virtual cluster head node, and a specific processing node of the message is a cluster head group node in the virtual cluster head nodes.
Specifically, referring to fig. 6, fig. 6 is a schematic diagram of a refinement flow of step S303 in fig. 3;
as shown in fig. 6, step S303: the virtual cluster head node determines whether to respond to the request of joining the cluster of the newly added node according to the message sent by the newly added node, and comprises the following steps:
step S3031: each cluster head group node in the virtual cluster head nodes determines whether to respond to a request of adding a new node into a cluster or not through a consistent hash algorithm;
specifically, each cluster head group node in the virtual cluster head nodes calculates a key value through a consistent hash algorithm to determine whether to respond to a request of adding a new node to the cluster, and the consistent hash algorithm in the step is similar to the consistent hash algorithm in the step S3024, which is not described herein.
Step S3032: if a cluster head group node responds to the request of adding the newly added node into the cluster, the newly added node is added into the cluster successfully;
it can be appreciated that if a cluster head group node determines that the cluster head group node needs to respond to the request and responds, the newly added node successfully joins the cluster.
Step S3033: if the cluster head group nodes do not respond to the request of adding the newly added nodes into the cluster, the newly added nodes fail to be added into the cluster.
It can be understood that if all cluster head group nodes do not respond to the request of adding the newly added node to the cluster, it means that the cluster head group node capable of processing the request does not receive the request, and the newly added node fails to add the cluster.
In the embodiment of the application, by adopting the consistency hash algorithm, each common node can quickly determine the cluster head group node corresponding to the common node, and each cluster head group node can quickly determine whether the common node needs to process the corresponding node message.
Referring to fig. 7, fig. 7 is a schematic flow chart of updating a virtual cluster head node according to an embodiment of the present application;
as shown in fig. 7, the update process of the virtual cluster head node includes:
step S701: if the newly added node successfully joins the cluster and at least one cluster head group node in the virtual cluster head nodes cannot communicate with the newly added node, the virtual cluster head node is updated to reselect the cluster head group node.
Specifically, each cluster head group node needs to meet the condition that the cluster head group node is in the communication range of one hop with other nodes in the cluster, if one cluster head group node cannot communicate with the newly added node, the cluster head group node is converted into a common node, the virtual cluster head node is updated, and step S3022 is entered: and judging whether each common node in the cluster meets a first condition so as to reselect the cluster head group node.
Referring to fig. 8, fig. 8 is a schematic flow chart of broadcasting by a cluster head group node according to an embodiment of the present application;
in the embodiment of the application, the cluster head group nodes are kept synchronous through heartbeat messages, and the cluster head group nodes are periodically broadcasted based on a routing protocol of a distance vector algorithm.
Wherein the heartbeat message (Heartbeat Message) is a message sent from the source to the receiver, and the heartbeat message is sent from the source when the source is started until the source is closed, during which the source can send periodic or repeated messages without interruption. When the recipient does not receive the message within a certain message reception period, the recipient may consider the source to have been turned off, to have failed, or to be currently unavailable.
The routing protocol based on the distance vector algorithm comprises RIP (Routing information Protocol) routing protocol, RIP (RIP) routing protocol is a dynamic routing protocol and is used for transferring routing information in an Autonomous System (AS). The RIP protocol is based on a distance vector algorithm (Distance Vector Algorithms) that uses "hops" (i.e., metric) to measure the routing distance to the destination address. Routers of this protocol only care about the world around themselves, exchange information only with their neighbors, and are limited in scope to 15 hops (15 degrees).
As shown in fig. 8, the broadcasting process of the cluster head group node includes:
step S801: the cluster head group node periodically broadcasts information of common nodes within a one-hop range;
specifically, the information of the common node includes a node Identification (ID), each cluster head group node periodically broadcasts the information of the common node within a one-hop range To other cluster head group nodes in the cluster head group, and sets a Time-To-Live (TTL) value To 1, that is, the cluster head group nodes sending the message do not need To receive the information after the cluster head group nodes sending the message can be guaranteed To receive the message.
Step S802: when a common node in the cluster is offline, the cluster head group node corresponding to the common node updates broadcast content and broadcasts in the cluster head group.
It will be appreciated that for a common node that cannot send heartbeat messages, that is, the common node is considered to be offline.
Referring to fig. 9, fig. 9 is a schematic flow chart of broadcasting by another cluster head group node according to an embodiment of the present application;
as shown in fig. 9, the broadcasting process of the cluster head group node includes:
step S901: identifying each node in the cluster;
step S902: judging whether each node meets a second condition;
Wherein the second condition comprises: the node is in the handover area of the two clusters and receives part of the broadcast information of both clusters at the same time.
In an embodiment of the present application, the second condition further includes:
in a one-hop range of the node broadcasting, at least one common node does not belong to the cluster.
Specifically, the cluster head group node periodically broadcasts information of common nodes within a one-hop range, and if at least one common node does not belong to the cluster in the one-hop range of the broadcast of the cluster head group node, the cluster head group node is indicated to be an edge node. It will be appreciated that the broadcast is only done in turn by the cluster head group nodes, and the normal node does not.
Further, if the node satisfies the second condition, the process proceeds to step S903: determining the node as an edge node; if the node does not meet the second condition, returning to step S902, and continuing to determine whether other nodes in the cluster meet the second condition until all nodes in the cluster are traversed.
Step S903: determining the node as an edge node;
specifically, the edge nodes include common nodes or cluster head group nodes within the cluster.
Step S904: when the cluster head group node broadcasts the routing information, the edge node is designated to forward so as to forward the routing information of the cluster to the nodes in other clusters.
In the embodiment of the application, the maintenance communication data volume of the RIP routing protocol is reduced through clustering, and the load of the initial cluster head node is shared through the cluster head group, so that the RIP protocol can also support large-scale networking.
Referring to fig. 10, fig. 10 is a schematic flow chart of broadcasting by another cluster head group node according to an embodiment of the present application;
in the embodiment of the application, the routing information includes the network topology of the nodes in the cluster and the network topology of the nodes in other clusters.
As shown in fig. 10, the broadcasting process of the cluster head group node includes:
step S1001: each cluster head group node calculates the network topology of the corresponding node and the associated part of the whole routing table respectively, and broadcasts the calculation result in sequence;
it can be understood that the cluster head group nodes broadcast the calculation results in turn, so that all the broadcast information combines the calculation results of all the cluster head group nodes, and each cluster head group node has complete network information of the cluster.
Step S1002: when the cluster head group node needs to update the maintained content, the cluster head group node broadcasts in the cluster head group or notifies the next cluster head group node which sends the broadcast to broadcast.
Specifically, when the node state changes, namely, when the node is off-network or in-network, the link state changes, the high load is generated, the cluster head group node needs to update the maintained content, and the change information is broadcasted or the next cluster head group node sending the broadcast is notified to broadcast so as to notify other cluster head group nodes in the cluster head group.
In the embodiment of the application, the cluster head nodes and the initial cluster head nodes are formed into the cluster head group by increasing the number of the cluster head nodes, each cluster head group adopts a centerless and distributed working mode, each cluster head group node keeps time synchronization and has complete network information of the cluster, and corresponding maintenance content is updated in time.
Referring to fig. 11, fig. 11 is a schematic flow chart of converting a cluster head group node into a common node according to an embodiment of the present application;
in the embodiment of the application, because the scale of the actual node is reduced or the energy of the cluster head group node is insufficient, the cluster head group needs to delete the cluster head group node, namely, the cluster head group node is converted into a common node.
As shown in fig. 11, the process of converting the cluster head group node into a normal node includes:
step S1101: sequencing the residual energy of each cluster head group node, and determining the cluster head group node with the minimum residual energy as the node to be deleted;
it can be appreciated that the cluster head group node with the least residual energy has the shortest survival time, and is difficult to bear the original work task for a long time.
Step S1102: the common nodes which need to be responded again for each cluster head group node after the nodes to be deleted are reduced are calculated through a consistent hash algorithm, and the cluster head group nodes corresponding to the nodes to be deleted are determined;
specifically, the step is similar to the specific implementation method of step S3024, and will not be described herein.
Step S1103: and the cluster head group node corresponding to the node to be deleted notifies the node to be deleted so as to convert the node to be deleted into a common node.
Further, after the node to be deleted is converted into the common node, as the number of cluster head group nodes is reduced, each cluster head group node performs message processing according to the common node which needs to be responded and is redistributed in step S1102.
In the embodiment of the application, the node to be deleted is converted into the common node in time, and the common node needing to be responded is redistributed for each cluster head group node, so that the communication can be still maintained when part of nodes in the network are damaged or removed, and the survivability of the network is improved.
In the embodiment of the application, the number of the cluster head nodes is increased, the cluster head nodes and the initial cluster head nodes form the cluster head group, and the cluster head group forms a virtual cluster head node.
In an embodiment of the present application, a wireless networking method is provided, where the wireless networking method is applied to a wireless ad hoc network system, and the wireless networking method includes: clustering nodes in the wireless self-organizing network system, and selecting initial cluster head nodes; increasing the number of cluster head nodes, and forming a cluster head group by the cluster head nodes and the initial cluster head nodes, wherein the cluster head group forms a virtual cluster head node; and the virtual cluster head node determines whether to respond to the request of the newly added node for joining the cluster according to the message sent by the newly added node. By increasing the number of cluster head nodes and forming a cluster head group by the cluster head nodes and the initial cluster head nodes, wherein the cluster head group forms a virtual cluster head node, and the virtual cluster head node determines whether to respond to a request of adding the newly added node into the cluster according to a message sent by the newly added node.
Referring to fig. 12 again, fig. 12 is a schematic structural diagram of a cluster head group node according to an embodiment of the present application;
as shown in fig. 12, the cluster head group node 120 includes one or more processors 121 and memory 122. In fig. 12, a processor 121 is taken as an example.
The processor 121 and the memory 122 may be connected by a bus or otherwise, which is illustrated in fig. 12 as a bus connection.
A processor 121 for providing computing and control capabilities to control the cluster head group node 120 to perform corresponding tasks, such as: and the cluster head group nodes are controlled to keep synchronous through heartbeat messages, or the cluster head group nodes are controlled to periodically broadcast based on a routing protocol of a distance vector algorithm, or whether to respond to a request of the newly added node for joining the cluster is determined according to the message sent by the newly added node.
The processor 121 is further configured to control the cluster head group node 120 to broadcast within the cluster head group, including: periodically broadcasting information of common nodes within a one-hop range; when a common node in a corresponding cluster goes offline, updating broadcasting content and broadcasting in a cluster head group; when the routing information is broadcast, the edge node is designated to forward so as to forward the routing information of the cluster to nodes in other clusters; respectively calculating the network topology of the corresponding node and the associated part of the integral routing table, and broadcasting the calculation results in sequence; when the maintained content needs to be updated, the cluster head group node broadcasts in the cluster head group or notifies the next cluster head group node which transmits the broadcast to broadcast.
Processor 121 may be a general-purpose processor including a central processing unit (CentralProcessingUnit, CPU), a network processor (NetworkProcessor, NP), a hardware chip, or any combination thereof; it may also be a digital signal processor (DigitalSignalProcessing, DSP), an application specific integrated circuit (ApplicationSpecificIntegratedCircuit, ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), general-purpose array logic (generic array logic, GAL), or any combination thereof.
The memory 122 is used as a non-transitory computer readable storage medium, and may be used to store a non-transitory software program, a non-transitory computer executable program, and a module, such as program instructions/modules corresponding to a wireless networking method or a method executed by a cluster head node in an embodiment of the present application. The processor 121 may implement the wireless networking method or the method performed by the cluster head group node in the above-described method embodiment by running non-transitory software programs, instructions, and modules stored in the memory 122. In particular, the memory 122 may include Volatile Memory (VM), such as random access memory (random access memory, RAM); the memory 122 may also include a non-volatile memory (NVM), such as read-only memory (ROM), flash memory (flash memory), hard disk (HDD) or Solid State Drive (SSD), or other non-transitory solid state storage devices; memory 122 may also include a combination of the above types of memory.
Memory 122 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, memory 122 may optionally include memory located remotely from processor 121, which may be connected to processor 121 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
One or more modules are stored in the memory 122 that, when executed by the one or more processors 121, perform the wireless networking method or methods performed by cluster head group nodes in any of the method embodiments described above.
In this embodiment of the present application, the cluster head group node 120 may further have a wired or wireless network interface, a keyboard, an input/output interface, and other components for implementing the functions of the device, which are not described herein.
Cluster head group node 120 of the embodiments of the present application exists in a variety of forms including, but not limited to: electronic devices with logical operation functions such as routers, notebook computers, palm top computers, ultra-mobile personal computer, UMPC, servers, network attached storage (Network Attached Storage, NAS), personal computers (personal computer, PC), and the like.
In this embodiment of the present application, the common node, the initial cluster head node, and the cluster head node are all electronic devices, and are similar to the cluster head group node in structure, and include a processor and a memory, which are not described herein again.
Embodiments of the present application also provide a computer readable storage medium, such as a memory including program code, executable by a processor to perform the wireless networking method of the above embodiments. For example, the computer readable storage medium may be Read-Only Memory (ROM), random-access Memory (Random Access Memory, RAM), compact disc Read-Only Memory (CDROM), magnetic tape, floppy disk, optical data storage device, etc.
Embodiments of the present application also provide a computer program product comprising one or more program codes stored in a computer-readable storage medium. The program code is read from the computer readable storage medium by a processor of the electronic device, which executes the program code to perform the method steps of the wireless networking method provided in the above embodiments.
It will be appreciated by those of ordinary skill in the art that all or part of the steps of implementing the above embodiments may be implemented by hardware, or may be implemented by program code related hardware, where the program may be stored in a computer readable storage medium, where the storage medium may be a read only memory, a magnetic disk or optical disk, etc.
From the above description of embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus a general purpose hardware platform, or may be implemented by hardware. Those skilled in the art will appreciate that all or part of the processes implementing the methods of the above embodiments may be implemented by a computer program for instructing relevant hardware, and the program may be stored in a computer readable storage medium, and the program may include processes of the embodiments of the methods described above when executed. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), or the like.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and are not limiting thereof; the technical features of the above embodiments or in the different embodiments may also be combined under the idea of the present application, the steps may be implemented in any order, and there are many other variations of the different aspects of the present application as described above, which are not provided in details for the sake of brevity; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims (10)

1. A wireless networking method, wherein the method is applied to a wireless ad hoc network system, the method comprising:
clustering nodes in the wireless self-organizing network system, and selecting initial cluster head nodes;
increasing the number of cluster head nodes, and forming a cluster head group by the cluster head nodes and the initial cluster head nodes, wherein the cluster head group forms a virtual cluster head node;
and the virtual cluster head node determines whether to respond to the request of the newly added node for joining the cluster according to the message sent by the newly added node.
2. The method of claim 1, wherein the clustering nodes in the wireless ad hoc network system and selecting an initial cluster head node comprises:
clustering nodes in the wireless self-organizing network system through a highest node degree heuristic algorithm, and selecting an initial cluster head node, wherein the cluster comprises the initial cluster head node and a common node, and the initial cluster head node and the common node in the cluster are in a one-hop communication range.
3. The method according to claim 1 or 2, wherein said increasing the number of cluster head nodes and grouping the cluster head nodes with the initial cluster head nodes comprises:
Determining the number of cluster head nodes to be added according to the cluster scale;
judging whether each common node in the cluster meets a first condition, wherein the first condition comprises that the common node and other nodes in the cluster are in a one-hop communication range;
if the common node meets a first condition, converting the common node into a cluster head node, and adding the cluster head node into the cluster head group;
and reallocating the common nodes which need to be responded by each cluster head group node in the cluster head group through a consistent hash algorithm.
4. The method of claim 3, wherein the virtual cluster head node determining whether to respond to the request of the newly added node to join the cluster according to the message sent by the newly added node comprises:
each cluster head group node in the virtual cluster head nodes determines whether to respond to the request of adding the newly added node into the cluster or not through a consistent hash algorithm;
if one cluster head group node responds to the request of the newly added node to join the cluster, the newly added node successfully joins the cluster;
if the cluster head group nodes do not respond to the request of the new node for joining the cluster, the new node fails to join the cluster.
5. The method according to claim 4, wherein the method further comprises:
and if the new node is successfully added into the cluster and at least one cluster head group node in the virtual cluster head nodes cannot communicate with the new node, updating the virtual cluster head node to reselect the cluster head group node.
6. The method according to claim 4 or 5, wherein synchronization is maintained between cluster head group nodes by heartbeat messages;
the cluster head group node periodically broadcasts a routing protocol based on a distance vector algorithm;
the method further comprises the steps of:
the cluster head group node periodically broadcasts the information of the common nodes within a one-hop range;
when a common node in the cluster is offline, the cluster head group node corresponding to the common node updates broadcast content and broadcasts in the cluster head group.
7. The method of claim 6, wherein the method further comprises:
identifying each node in the cluster, and judging whether each node meets a second condition or not;
if the node meets a second condition, determining the node as an edge node, wherein the edge node comprises a common node or cluster head group node in a cluster;
When the cluster head group node broadcasts the routing information, the edge node is designated to forward so as to forward the routing information of the cluster to nodes in other clusters;
wherein the second condition includes:
the node is in a handover area of two clusters and receives part of broadcast information of both clusters at the same time.
8. The method of claim 7, wherein the routing information includes network topologies of nodes within the cluster and perceived network topologies of nodes within other clusters;
the second condition further includes:
in a one-hop range of broadcasting by the nodes, at least one common node does not belong to the cluster;
the method further comprises the steps of:
each cluster head group node calculates the network topology of the corresponding node and the associated part of the whole routing table respectively, and broadcasts the calculation result in sequence;
when the cluster head group node needs to update the maintained content, the cluster head group node broadcasts in the cluster head group or notifies the cluster head group node which sends the broadcast next to broadcast.
9. The method of any one of claims 4-5 or 7-8, further comprising:
Sequencing the residual energy of each cluster head group node, and determining the cluster head group node with the minimum residual energy as the node to be deleted;
calculating common nodes which need to be responded again by each cluster head group node after the nodes to be deleted are reduced through a consistent hash algorithm, and determining the cluster head group nodes corresponding to the nodes to be deleted;
and the cluster head group node corresponding to the node to be deleted notifies the node to be deleted so as to convert the node to be deleted into a common node.
10. A wireless ad hoc network system, characterized in that the wireless networking method according to any one of claims 1-9 is applied, the nodes in the wireless ad hoc network system are divided into a plurality of clusters, one of the clusters corresponds to one initial cluster head node;
the wireless ad hoc network system includes:
the initial cluster head nodes are used for increasing the number of cluster head nodes according to the scale of the cluster, and forming a cluster head group with the cluster head nodes, wherein the cluster head group forms a virtual cluster head node;
the virtual cluster head node is used for determining whether to respond to the request of the newly added node for joining the cluster according to the message sent by the newly added node.
CN202310315831.7A 2023-03-29 2023-03-29 Wireless networking method and wireless ad hoc network system Active CN116033520B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310315831.7A CN116033520B (en) 2023-03-29 2023-03-29 Wireless networking method and wireless ad hoc network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310315831.7A CN116033520B (en) 2023-03-29 2023-03-29 Wireless networking method and wireless ad hoc network system

Publications (2)

Publication Number Publication Date
CN116033520A true CN116033520A (en) 2023-04-28
CN116033520B CN116033520B (en) 2023-06-16

Family

ID=86089798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310315831.7A Active CN116033520B (en) 2023-03-29 2023-03-29 Wireless networking method and wireless ad hoc network system

Country Status (1)

Country Link
CN (1) CN116033520B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233835A1 (en) * 2006-03-31 2007-10-04 Nandakishore Kushalnagar Methodology for scheduling data transfers from nodes using path information
CN102256267A (en) * 2010-05-19 2011-11-23 北京兴科迪科技有限公司 Energy priority node clustering method for wireless sensor network
CN103702383A (en) * 2014-01-09 2014-04-02 北京交通大学 Clustering routing method of wireless sensor network
CN108012249A (en) * 2017-11-21 2018-05-08 河海大学 A kind of sub-clustering chain wireless sensor network communication method
WO2018098755A1 (en) * 2016-11-30 2018-06-07 深圳天珑无线科技有限公司 Cluster head selection method for distributed network, node and system
US20190098693A1 (en) * 2018-05-31 2019-03-28 Peyman Neamatollahi Method for decentralized clustering in wireless sensor networks
CN111601356A (en) * 2020-04-17 2020-08-28 西安理工大学 Wireless ultraviolet light cooperation unmanned aerial vehicle covert dynamic clustering system and method
CN113163464A (en) * 2021-04-23 2021-07-23 西安邮电大学 Wireless sensor network clustering routing method and system based on maximum inter-class variance
CN115720357A (en) * 2022-11-02 2023-02-28 航天行云科技有限公司 Clustering mobility management method and system for wireless ad hoc network

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233835A1 (en) * 2006-03-31 2007-10-04 Nandakishore Kushalnagar Methodology for scheduling data transfers from nodes using path information
CN102256267A (en) * 2010-05-19 2011-11-23 北京兴科迪科技有限公司 Energy priority node clustering method for wireless sensor network
CN103702383A (en) * 2014-01-09 2014-04-02 北京交通大学 Clustering routing method of wireless sensor network
WO2018098755A1 (en) * 2016-11-30 2018-06-07 深圳天珑无线科技有限公司 Cluster head selection method for distributed network, node and system
CN108012249A (en) * 2017-11-21 2018-05-08 河海大学 A kind of sub-clustering chain wireless sensor network communication method
US20190098693A1 (en) * 2018-05-31 2019-03-28 Peyman Neamatollahi Method for decentralized clustering in wireless sensor networks
CN111601356A (en) * 2020-04-17 2020-08-28 西安理工大学 Wireless ultraviolet light cooperation unmanned aerial vehicle covert dynamic clustering system and method
CN113163464A (en) * 2021-04-23 2021-07-23 西安邮电大学 Wireless sensor network clustering routing method and system based on maximum inter-class variance
CN115720357A (en) * 2022-11-02 2023-02-28 航天行云科技有限公司 Clustering mobility management method and system for wireless ad hoc network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
T. REHANNARA BEEGUM: "Energy aware virtual backbone construction using cluster heads in Wireless Sensor Network", 《2017 INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS, SIGNAL PROCESSING AND NETWORKING 》 *
刘河: "无线传感器网络分簇算法研究", 《中国优秀硕士学位论文辑》 *

Also Published As

Publication number Publication date
CN116033520B (en) 2023-06-16

Similar Documents

Publication Publication Date Title
CN108781188B (en) Apparatus and method for balancing impromptu network configurations
Kuila et al. Approximation schemes for load balanced clustering in wireless sensor networks
CN112104558B (en) Method, system, terminal and medium for implementing block chain distribution network
Mohanty et al. Distributed construction of minimum connected dominating set in wireless sensor network using two-hop information
Din et al. RETRACTED ARTICLE: Energy efficient topology management scheme based on clustering technique for software defined wireless sensor network
Quoc et al. A hybrid fault-tolerant routing based on Gaussian network for wireless sensor network
Sharafeddine et al. A scatternet formation algorithm for Bluetooth networks with a non-uniform distribution of devices
Zhang et al. Balancing the trade-offs between query delay and data availability in manets
Shin et al. Equal-size clustering for irregularly deployed wireless sensor networks
CN104618980A (en) Routing implementation method for wireless multi-hop chain network
Lu et al. A fault-tolerant routing algorithm for wireless sensor networks based on the structured directional de Bruijn graph
Bista et al. A robust energy efficient epidemic routing protocol for delay tolerant networks
Nasirian et al. Pizzza: A Joint Sector Shape and Minimum Spanning Tree-Based Clustering Scheme for Energy Efficient Routing in Wireless Sensor Networks
CN116033520B (en) Wireless networking method and wireless ad hoc network system
Shukla et al. Construction and maintenance of virtual backbone in wireless networks
Aissa et al. An efficient scalable weighted clustering algorithm for mobile Ad Hoc networks
CN111371572A (en) Network node election method and node equipment
Cheklat et al. A limited energy consumption model for p2p wireless sensor networks
Bansal et al. FTEP: A fault tolerant election protocol for multi-level clustering in homogeneous wireless sensor networks
Sharma et al. Optimized Tuning of LOADng Routing Protocol Parameters for IoT.
Mezghani et al. An hybrid cluster-based data centric routing protocol assisted by mobile sink for IoT system
TW202226792A (en) A novel nonuniform power formation method for ble mesh networks
CN108111418B (en) Communication system, data transmission method and node
Ouni et al. A new energy-efficient neighbor discovery and load balancing protocol for mobile sensor networks
Kumar et al. Optimal multipath routing using BFS for wireless sensor networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant