when two or more objects interact, we can say they are engaged in a 'conversation'.
this a 'conversation' may go according to a 'protocol', or not.
we can talk about a 'conversation state', a record of every interaction of every object involved in the 'conversation' (which object said, what object said, to 'whom' & when).
object(s) can 'talk' to other object(s) in the same computer's memory, as well as to a 'remote machine'.
in latter case, it's a 'distributed application'.
in former case it's either a 'single-threaded' or 'concurrent' application, but not a 'distributed' application.