Coverage-adaptive random sensor scheduling for application-aware data gathering in wireless sensor networks