1. A method of operating a node in an ad hoc network, comprising: joining or initiating a cluster in an ad hoc network, wherein a plurality of nodes are able to self-organize themselves into clusters of nodes, each cluster comprising a collection of nodes which are capable of one-hop communication directly with each other; performing an intra-cluster temporal synchronization of sleep and awake periods of nodes in a power-saving mode of operation within the own cluster without any single node coordinating the operation of the individual nodes in the cluster; accessing a communication medium using a contention mechanism without any single node coordinating the operation of the individual nodes in the cluster; selectively assuming, when appropriate, a routing function to a neighboring cluster so as to self-organize the clusters of nodes into a multi-hop ad hoc network comprised of individual clusters of nodes; performing, when the routing function is assumed, inter-cluster data routing between the own cluster and the neighboring cluster; and performing, when the routing function is assumed, an inter-cluster synchronization of awake periods of the own cluster and the neighboring cluster to be temporally non-overlapping.