On-Demand Energy Harvesting Techniques - A System Level Perspective