Traffic-oblivious load balancing protocol for sensor networks
First Claim
Patent Images
1. A device comprising:
- at least one processor; and
a storage device, the storage device storing instructions for causing the at least one processing device to;
track numbers of packets forwarded from a sensing device to a plurality of neighbor sensors in a network of the sensing device;
select two or more sensors from the plurality of neighbor sensors in the network to which to potentially route a packet, the two or more sensing devices being randomly selected and being intermediate sensing devices in the network between the sensing device and a destination sensor in the network;
determine, based on the tracked numbers of packets forwarded to the plurality of neighbor sensors, whether a number of packets routed in a direction toward one of the two or more selected sensors does not exceed a number of packets routed in a direction of another one of the two or more selected sensors; and
route the packet from the sensing device toward one of the two or more selected sensors while not routing the packet from the sensing device toward another one of the two or more selected sensors, the routing being conditioned upon a determination that the number of packets routed in the direction toward the one of the two or more selected sensors does not exceed the number of packets routed in the direction of the another one of the two or more selected sensors such that two packets that arrive in sequence at the sensing device are not both routed on a shortest path to the destination sensor.
2 Assignments
0 Petitions
Accused Products
Abstract
A sensor in a network to which to route a packet is selected, where the sensor is selected independently of energy status of the sensors included in the network, and the sensor is selected by a source sensor. The packet is routed from the source sensor toward the destination sensor.
-
Citations
18 Claims
-
1. A device comprising:
-
at least one processor; and a storage device, the storage device storing instructions for causing the at least one processing device to; track numbers of packets forwarded from a sensing device to a plurality of neighbor sensors in a network of the sensing device; select two or more sensors from the plurality of neighbor sensors in the network to which to potentially route a packet, the two or more sensing devices being randomly selected and being intermediate sensing devices in the network between the sensing device and a destination sensor in the network; determine, based on the tracked numbers of packets forwarded to the plurality of neighbor sensors, whether a number of packets routed in a direction toward one of the two or more selected sensors does not exceed a number of packets routed in a direction of another one of the two or more selected sensors; and route the packet from the sensing device toward one of the two or more selected sensors while not routing the packet from the sensing device toward another one of the two or more selected sensors, the routing being conditioned upon a determination that the number of packets routed in the direction toward the one of the two or more selected sensors does not exceed the number of packets routed in the direction of the another one of the two or more selected sensors such that two packets that arrive in sequence at the sensing device are not both routed on a shortest path to the destination sensor. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of routing packets in a wireless network, the method comprising:
-
identifying a packet for routing through a network of sensors from a source sensor to a destination sensor associated with the network; at the source sensor, randomly selecting from all of the sensors in the network a plurality of intermediate sensors between the source sensor and the destination sensor in the network; tracking a number of packets that have been routed to each of the randomly selected plurality of intermediate sensors; determining a load associated with each of the randomly selected plurality of intermediate sensors based on the tracked number of packets; and routing the packet to a sensor selected from the randomly selected plurality of intermediate sensors that has the lightest load rather than directly to the destination sensor, wherein the selected sensor having the lightest load is the sensor selected from the randomly selected plurality of intermediate sensors to which the fewest packets have been routed such that two packets that arrive in sequence at the source sensor are not both routed on a shortest path to the destination sensor. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method of routing packets in a wireless network, the method comprising:
-
selecting a sensor in a network to which to route a packet from a source sensor in a path toward a destination sensor, wherein; the sensor is selected randomly by the source sensor without communicating with the selected sensor or any neighbor sensors, and sensors in the network have a non-uniform spatial distribution; tracking a number of packets that have been routed to the selected sensor and one or more neighbor sensors of the source sensor, the one or more neighbor sensors being selected randomly and being intermediate sensors between the source sensor and the destination sensor; determining, based on the tracking, whether a number of packets routed in the direction toward the selected sensor does not exceed a number of packets routed in the direction of the one or more selected neighbor sensors of the source sensor; and routing the packet from the source sensor toward the selected sensor while not routing the packet from the source sensor to the one or more selected neighbor sensors, the routing being conditioned upon a determination that the number of packets routed in the direction toward the selected sensor does not exceed the number of packets routed in the direction of the one or more selected neighbor sensors such that two packets that arrive in sequence at the source sensor are not both routed on a shortest path to the destination sensor. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer program product comprising instructions stored in a non-transitory memory that when executed by a processor, cause the processor to:
track numbers of packets forwarded from a first sensing device to a plurality of neighbor sensors in a network of the first sensing device; select two or more sensors from the plurality of neighbor sensors in the network to which to potentially route a packet, the two or more sensing devices being randomly selected and being intermediate sensing devices in the network between the first sensing device and a destination sensor for the packet in the network; determine, based on the tracked numbers of packets forwarded to the plurality of neighbor sensors, whether a number of packets routed in a direction toward one of the two or more selected sensors does not exceed a number of packets routed in a direction of another one of the two or more selected sensors; and route the packet from the first sensing device toward one of the two or more selected sensors while not routing the packet from the first sensing device toward another one of the two or more selected sensors, the routing being conditioned upon a determination that the number of packets routed in the direction toward the one of the two or more selected sensors does not exceed the number of packets routed in the direction of the another one of the two or more selected sensors such that two packets that arrive in sequence at the first sensing device are not both routed on a shortest path to the destination sensor.
-
17. A computer program product comprising instructions stored in a non-transitory memory that when executed by a processor, cause the processor to:
-
identify a packet for routing through a network of sensors from a source sensor to a destination sensor associated with the network; at the source sensor, randomly select from all of the sensors in the network a plurality of intermediate sensors between the source sensor and the destination sensor in the network; track a number of packets that have been routed to each of the randomly selected plurality of intermediate sensors; determine a load associated with each of the randomly selected plurality of intermediate sensors based on the tracked number of packets; and route the packet to a sensor selected from the randomly selected plurality of intermediate sensors that has the lightest load rather than directly to the destination sensor, wherein the selected sensor having the lightest load is the sensor selected from the randomly selected plurality of intermediate sensors to which the fewest packets have been routed such that two packets that arrive in sequence at the source sensor are not both routed on a shortest path to the destination sensor.
-
-
18. A computer program product comprising instructions stored in a non-transitory memory that when executed by a processor, cause the processor to:
-
select a sensor in a network to which to route a packet from a source sensor in a path toward a destination sensor, wherein; the sensor is selected randomly by the source sensor without communicating with the selected sensor or any neighbor sensors, and sensors in the network have a non-uniform spatial distribution; track a number of packets that have been routed to the selected sensor and one or more neighbor sensors of the source sensor, the one or more neighbor sensors being selected randomly and being intermediate sensors between the source sensor and the destination sensor; determine, based on the tracking, whether a number of packets routed in the direction toward the selected sensor does not exceed a number of packets routed in the direction of the one or more selected neighbor sensors of the source sensor; and route the packet from the source sensor toward the selected sensor while not routing the packet from the source sensor to the one or more selected neighbor sensors, the routing being conditioned upon a determination that the number of packets routed in the direction toward the selected sensor does not exceed the number of packets routed in the direction of the one or more selected neighbor sensors such that two packets that arrive in sequence at the source sensor are not both routed on a shortest path to the destination sensor.
-
Specification