A Distributed Model-View-Controller Design Pattern for a Graphical Remote Control of a Multi-user Application
The Model-View-Controller (MVC) is a design pattern for architecting the interactions among human users of graphical computing systems with the software Controller that manages user input, the Model that houses system state, and the View that projects the Model state into intelligible graphical form. The present work examines extending MVC into a Distributed Model-View-Controller pattern, starting with a stand-alone MVC system that is amenable to distribution over a local area network (LAN). Distribution takes the form of cloning a stand-alone MVC application into distinct client and server programs, and then altering each for its purpose while maintaining the initial graphical compatibility of the starting, stand-alone system. A graphical client remote control running on a tablet computer sends its Model update events to the server’s Controller via the LAN, acting as a remote input device for the server. The client uses simple, two- dimensional graphics for efficiency, while the server’s graphical View can afford to use computationally expensive three-dimensional animations. Avoiding server- to-client synchronization avoids congestive LAN traffic and complicated interaction. The client acts as a one-way remote control, albeit a remote control with a display that is a simple version of the server’s display.
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.
Proceedings of the 35th Annual Spring Conference of the Pennsylvania Computer and Information Science Educators (PACISE), West Chester University of PA, West Chester, PA, April 3-4, 2020.
The PA statewide PACISE conference does not execute a transfer of copyright. It requires only permission to publish. Therefore, I am submitting this paper under Creative Commons Attribution 4.0 International (CC BY 4.0).