[Claim l]
A method fr routing packets in a multi-hop heterogeneous wireless network partitioned into a set of subnetworks including a frst subnetwork having a frst sin node and a second subnetwork having a second sink node, wherein a node frms at least a part of the frst subnetwork and at least a par of the second subnetwork, wherein steps of the method are perfrmed using a processor of the node, comprising:
deterining an available routing resource of the node as a fnction of an allocated routing memory (AR) in the node and a remaining expected routing lifetime (ER) of the node;
determining at least one required routing resource of the node as a fnction of a routing protocol used by the node for a subnetwork, a logical location of the node in the subnetwork, and a data traffic in the subnetwork through the node, wherein the determining the required routing resource includes determining a frst required routing resource of the node for the first subnetwork and determining a second required routing resource of the node fr the second subnetwork, wherein the frst required routing resource differs fom the second required routing resource;
determining, using the available routing resource and the frst required routing resource, a frst mode of operation (MOP) specifying a type of the routing of the node in the frst subnetwork;
determining, using the available routing resource and the second required routing resource, a second MOP specifing a type of the routing of the node in the second subnetwork, wherein the frst MOP difers fom the second MOP; and
routing packets in the frst subnetwork according to the frst MOP and routing packets in the second subnetwork according to the second MOP.
[Claim 2]
The method of claim 1, further comprising:
detecting a change in at least one of the available routing resource, the first required routing resource, and the second required routing resource; and
updating one or combination of the first MOP and the second MOP in response to detecting the change. [Claim 3]
The method of claim 1, further comprising:
determining the logical connection in the first and the second subnetworks from corresponding control packets transmitted within the first and the second subnetworks. [Claim 4]
The method of claim 1, further comprising:
partitioning the network into the subnetworks according to one or combination of different objective functions and different routing metrics, such that each subnetwork has a unique combination of the objective function and the routing metric. [Claim 5]
The method of claim 4, further comprising:
retrieving a list of combinations of the objective functions and the routing metrics of the network from control packets transmitted within the network;
comparing suitability of each combination for different tasks of the node to select one or several subnetworks to join; and
joining the selected subnetworks. [Claim 6]
The method of claim 1, further comprising:
determining a set of network parameters of the node from a set of control packets, wherein the set of network parameters includes one or combination of MOP of neighboring nodes, ranks of the neighboring nodes that specify relative distances of the neighboring nodes to the first or the second sink, a size of the first and the second subnetworks, a set of objective functions and a set of routing metrics of the first and the second subnetworks, a set of routing preferences of K-Hop neighboring nodes, a set of route entries of the node and a set of child-parent entries of the node. [Claim 7]
The method of claim 1, wherein the first MOP or the second MOP is a leaf MOP, an upward MOP, a non-storing MOP, a storing MOP or a multicast storing MOP, wherein the node operating according to the leaf MOP does not route packets, wherein the node operating according to the upward MOP only routes upward packets, wherein the node operating according to the non-storing MOP routes the packets without storing route entries, wherein the node operating according to the storing MOP routes the packets while storing route entries, and wherein the node operating according to the multicast storing MOP routes the packets while storing route entries and multicast information. [Claim 8]
The method of claim 1, wherein the nodes in the network are organized into hierarchical destination oriented directed acyclic graph (H-DODAG) topology based on MOPs of the nodes, set of heterogeneous objective functions and set of heterogeneous routing metrics; wherein the MOPs of the nodes, the objective functions and routing metrics are different at different portion of network; wherein the objective functions and routing metrics are grouped into sets of one to many maps between an objective function and corresponding routing metrics; wherein the first set of objective function and routing metrics are used by the sink node and
storing nodes to build the first tier of H-DODAG topology; wherein other sets of objective function and routing metrics are used by storing nodes, non-storing nodes, upward nodes and leaf nodes to build other tiers of H-DODAG topology; wherein non-storing nodes, upward nodes and leaf nodes join H-DODAG topology using the second set of objective function and routing metrics. [Claim 9]
The method of claim 8, wherein the control packets include H-DODAG Information Object (H-DIO) packet, hierarchical destination advertisement object (H-DAO) packets, and H-DODAG Information Solicitation (H-DIS) packet, wherein H-DIO packet contains information to build upward routes from the data nodes to the sink node and MOP of the node transmitting H-DIO the packet, wherein H-DAO packet contains information to construct downward routes from the sink node to the data nodes and MOP of the destination node, wherein H-DAO includes a non-storing H-DAO (N-H-DAO) and a storing H-DAO (S-H-DAO), wherein N-H-DAO includes a child-parent entry and S-H-DAO generates a routing entry. [Claim 10]
The method of claim 7, wherein the node determines MOP based on the ARM and a required routing memory (RRM) of the node according to
[Claim 11]
The method of claim 7, wherein the node determines MOP based on an expected routing lifetime (ERL) of the node according to
wherein ERUJ}in, ERL%in, ERLfin and ERI$n are positive thresholds. [Claim 12]
The method of claim 7, wherein the node determines MOP based on a combination of the ARM of the node, a required routing memory (RRM) of the node, and an expected routing lifetime (ERL) of the node according to
A multi-hop wireless network including multiple nodes with different computational and energy resources, wherein the network is partitioned into a multiple subnetworks having a unique combination of objective functions and routing metrics, wherein at least one node joins multiple subnetworks and operates according to different modes of operation (MOPs) specifying different types of routing for different subnetworks. [Claim 14]
The network of claim 13, wherein the node in the network modifies the MOP of the node in response to a change of a parameter of operation of the node. [Claim 15]
The network of claim 13, wherein the node is configured for
determining an available routing resource of the node as a function of an allocated routing memory (ARM) in the node and a remaining expected routing lifetime (ERL) of the node;
determining at least one required routing resource of the node as a function of a routing protocol used by the node for a subnetwork, a logical location of the node in the subnetwork, and a data traffic in the subnetwork through the node, wherein the determining the required routing resource includes determining a first required routing resource of the node for the first subnetwork and determining a second required routing resource of the node for the second subnetwork, wherein the first required routing resource differs from the second required routing resource;
determining, using the available routing resource and the first required routing resource, a first mode of operation (MOP) specifying a type of the routing of the node in the first subnetwork;
determining, using the available routing resource and the second required routing resource, a second MOP specifying a type of the routing of the node in the second subnetwork, wherein the first MOP differs from the second MOP; and
routing packets in the first subnetwork according to the first MOP and routing packets in the second subnetwork according to the second MOP. [Claim 16]
The network of claim 13, wherein the MOP is a leaf MOP, an upward MOP, a non-storing MOP, a storing MOP or a multicast storing MOP, wherein the node operating according to the leaf MOP does not route packets, wherein the node operating according to the upward MOP only routes upward packets, wherein the node operating according to the non-storing MOP routes the packets without storing route entries, wherein the node operating according to the storing MOP routes the packets while storing route entries, and wherein the node operating according to the multicast storing MOP routes the packets while storing route entries and multicast information.
[Claim 17]
A node for routing packets in a heterogeneous wireless network, comprising:
a transceiver to transmit and receive packets;
a memory to store at least part of the packets, route entries, child-parent entries, K-Hop neighbor routing preferences; and
a processor to join multiple subnetworks based on combinations of objective functions and routing metrics of the subnetworks and to determine different modes of operation (MOPs) specifying different types of routing for different subnetworks. [Claim 18]
The node of claim 17, wherein the processor is configured for
determining an available routing resource of the node as a function of an allocated routing memory (ARM) in the node and a remaining expected routing lifetime (ERL) of the node;
determining at least one required routing resource of the node as a function of a routing protocol used by the node for a subnetwork, a logical location of the node in the subnetwork, and a data traffic in the subnetwork through the node, wherein the determining the required routing resource includes determining a first required routing resource of the node for the first subnetwork and determining a second required routing resource of the node for the second subnetwork, wherein the first required routing resource differs from the second required routing resource;
determining, using the available routing resource and the first required routing resource, a first mode of operation (MOP) specifying a type of the routing of the node in the first subnetwork;
determining, using the available routing resource and the second required routing resource, a second MOP specifying a type of the routing of the node in the second subnetwork, wherein the first MOP differs from the second MOP; and
routing packets in the first subnetwork according to the first MOP and routing packets in the second subnetwork according to the second MOP. [Claim 19]
The node of claim 18, wherein the processor is configured for
detecting a change in at least one of the available routing resource, the first required routing resource, and the second required routing resource; and
updating one or combination of the first MOP and the second MOP in response to detecting the change. [Claim 20]
The node of claim 17, wherein the MOP is a leaf MOP, an upward MOP, a non-storing MOP, a storing MOP or a multicast storing MOP, wherein the node operating according to the leaf MOP does not route packets, wherein the node operating according to the upward MOP only routes upward packets, wherein the
node operating according to the non-storing MOP routes the packets without storing route entries, wherein the node operating according to the storing MOP routes the packets while storing route entries, and wherein the node operating according to the multicast storing MOP routes the packets while storing route entries and multicast information.