Dans Cougar, les données produites par le réseau de capteurs sont modélisées comme une table relationnelle. Dans cette table, chacun des attributs représente soit des informations sur le nSud capteur ou bien des données produites par ce nSud. L'approche Cougar fournit une agrégation partielle au niveau des nSuds. Chaque nSud maintient une liste d'attente contenant les nSuds fils qui doivent lui envoyer les paquets. Le nSud n'émet le paquet agrégé au prochain saut que s'il a reçu les paquets de tous les nSuds de la liste d'attente. Cependant, un nSud peut devenir inaccessible à cause du mouvement ou d'un problème de batterie. Pour cela, Cougar utilise un Timer afin d'éviter une attente indéfinie.