The π calculus models communication using synchronous channels which proved to be unrealistic in implementation. The join calculus eliminates the synchronous channels. It, however, still considers message-passing as the only communication form in distributed systems. We show that processes can share variables in local memories of system nodes, if they can travel among the nodes. We present a model which integrates passing and sharing communication in a common framework.