Distributed Machine Learning Patterns