Architectures for Distributed and Complex M-Learning Systems by