Optical Switching Networks: from Circuits to Packets