Client-Server Architecture