Economical and environmental concerns necessitate research on designing energy-efficient optical access network especially Ethernet Passive Optical Network (EPON) which is one of the most widely accepted and deployed last-mile access network. In this paper, our primary focus is on designing a protocol for saving energy at Optical Network Units (ONUs) while satisfying the Service Label Agreement (SLA). The SLA of both Up-Stream (US) and Down-Stream (DS) traffic can be satisfied only if the EPON network can react to their instantaneous load change during sleep periods of ONUs and to the best of our knowledge, there doesn't exist any such proposal. Towards this target, we propose a mechanism that allows the Optical Line Terminal (OLT) to force ONUs to wake-up from sleep mode. Here, we demonstrate that if the OLT can distribute the active ONUs (transceivers are active) fairly among cycles then it provides a significant improvement in energy-efficiency. To achieve this, we formulate an ILP for fairly distributing active ONUs among cycles while satisfying the SLA of both US and DS traffic at the same time. A polynomial time $1$-approximation algorithm is proposed for solving this ILP. The convergence and the complexity analysis of the algorithm are also performed. Extensive simulations depict that fair distribution of ONUs reduces the power consumption and average delay figure at the same time and the reduction increases with an increment of the number of ONUs and round-trip time.