## GemFire Distribution

Distributed GemFire moves information between physical machines in a number of different ways. The JCache implementation uses {@link org.apache.geode.distributed.internal.DistributionMessage}s to send information back and forth between VMs. The distributed collections use the remote method invocation built on top of a {@link org.apache.geode.tcp.TCPConuit} to access elements in remote collections. GemFire distirbution uses underlying technologies such as JavaGroups, and sockets to implement data transfer.

The vast majority of these APIs are internal. However, the user is exposed to concepts such as the "distribution manager" and the fact that multicast networking or "locators" are used to discover the other members of the distributed group. The user-level configuration is grouped together in the {@link org.apache.geode.distributed.DistributedSystem} class which provides a "connection" or entry point to the distributed system.