- 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