• execute only the first copy arriving at the server
  • if client gets reply = executed once
  • no reply = maybe executed, but never more than once

works when

  • client uses unique ID for each request, and same ID for resends
  • server can detect duplicate requests