Resources such as compute services and networks come and go from the system. As the system changes state events are generated and logged. Jobs can be preempted or rescheduled as systems fail or resources change state. In addition, tools such as performance monitors can be driven by event services. Distributed debuggers also require event monitoring.
Desktop applications can register to be notified of events of many different types.
Transaction Services Basic transaction services assure consistency in distributed systems. When a special resource is leased for a job and later released this requires a reliable transaction. Jini uses a classical two-phase commit protocol. Other systems provide similar services. Logging Services Not all desktop applications can be assumed to be actively monitoring events.