Synchronous and asynchronous communication