distributed timetabling