1. A method of event scheduling comprising: receiving at least one request for scheduling a calendar meeting; receiving at least two meeting constraints; using optimization means to schedule said calendar meeting to satisfy said at least two constraints.