![]() Guglielmo Marconi |
|
|||||
|
|
|
|||||
| Overview | Wireless networking. | |||||
| Select Projects |
Disco. An asynchronous neighbor discovery and rendezvous protocol that allows two or more nodes to operate their radios at low duty cycles (e.g. 1%) and yet still discover and communicate with one another during infrequent, opportunistic encounters without requiring any prior synchronization information. Disco nodes pick a pair of prime numbers such that the sum of their reciprocals is equal to the desired radio duty cycle. Each node increments a local counter with a globally-fixed period. If a node's local counter value is divisible by either of its primes, then the node turns on its radio for one period. This protocol ensures that two nodes will have some overlapping radio on-time within a bounded number of periods, even if nodes independently set their own duty cycle.
Backcast. A backcast is a link-layer frame exchange in which a single radio frame transmission triggers zero or more acknowledgment frames that interfere non-destructively at the initiator. The above figure illustrates a backcast exchange involving three nodes. The two responders have their radios configured to automatically acknowledge any received frames. The backcast exchange begins with the initiator transmitting a probe frame to the hardware broadcast address. Both responders receive the probe and they both transmit identical acknowledgments. Although these two acknowledgments collide at the initiator, as long as certain conditions are met, this collision is non-destructive, allowing the initiator to correctly decode the acknowledgment frame and conclude that at least one of its neighbors responded. A number of useful services can be built using Backcast's "acknowledged anycast"-like semantics, including low-power asynchronous network wakeup, low-power unicast communications, and a constant-time logical OR over the neighborhood.
Flush. Flush is a reliable, high goodput bulk data transport protocol for wireless sensor networks. Flush provides end-to-end reliability, reduces transfer time, and adapts to time-varying network conditions. It achieves these properties using end-to-end acknowledgments, implicit snooping of control information, and a rate-control algorithm that operates at each hop along a flow. Using several real network topologies, we show that Flush closely tracks or exceeds the maximum goodput achievable by a hand-tuned but fixed rate for each hop over a wide range of path lengths and varying network conditions. Flush is scalable; its effective bandwidth over a 48-hop wireless network (shown above) is approximately one-third of the rate achievable over one hop! We collected all of the performance data for the study using Flush itself.
Secure Deluge. A system for secure and efficient network programming in resource-constrained wireless sensor networks. Secure Deluge demonstrates the feasibility and low overhead of adding public-key-based program source authentication, strong integrity verification, and freshness checks to existing network programming services. The above left figure illustrates the program to packet transformation used to secure network programming. The shaded boxes represent information added for security. The above right figure illustrates Secure Deluge in action. The top part shows packet reception (red arrow) and verification (green arrow) for one page of data (note: verification times have been delayed by 10 ms for clarity). The bottom part shows the CDF of programming completion time for 28 nodes using standard Deluge with 23-byte payloads (dotted red line), standard Deluge with 64-byte payloads (dashed green line) and Secure Deluge with 56-byte payload with an 8-byte hash (solid blue line).
|
|||||
| Publications |
|
|||||
| Tech Reports |
|
|||||
| Patents / Applications |
|
|||||
|
|
|
|||||
|
Prabal K. Dutta Computer Science Division Department of Electrical Engineering and Computer Sciences The University of California, Berkeley Soda Hall #1776, Berkeley, California 94720 |