A Distributed Self-Healing Approach for Virtual Backbone Construction and Maintenance in Wireless Sensor Networks