Programmable Multi-Granular Optical Networks: Requirements and Architecture