Distributed processing and data communications