The distributeme core package contains most runtime components and basic code which is used by other packages. It can be wrapped up as "everything essential".
Root package. Contains really basic things. A typical example is the ServiceDescriptor class which is needed nearly everywhere and describes a service.
Utilities for limitations of concurrent parallel accesses to a service.
Contains classes which hold constants for framework wide conventions, for example paths of the registry operations.
DistributeMe exceptions are lying here, waiting for their chance to be thrown.
Contains support for failing, reaction of a not properly executed call. Contains not all the interface FailingStrategy but also some popular and useful implementations like RetryCall, RetryOnce, Failover etc.
Interceptors allows dynamical interception of call execution similar to CORBA request interceptors. There are many useful interception scenarios, mostly being handled here: Interceptors. Request Interceptors.
Component lifecycle management.
Contains the Router interface and other support classes for routing functionality. Routing allows to dynamically change the destination instance for a service call. Read more: Routing, Routing and Failing Strategies.