Instant Synchronization of States in Web Hypertext Applications
Total Page:16
File Type:pdf, Size:1020Kb
INSTANT SYNCHRONIZATION OF STATES IN WEB HYPERTEXT APPLICATIONS vorgelegt von Diplom-Informatiker David Linner aus Berlin Von der Fakultät für Elektrotechnik und Informatik der Technischen Universität Berlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften Dr. Ing. genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. Odej Kao Berichter: Prof. Dr. Dr. h.c. Radu Popescu-Zeletin Berichter: Prof. Dr. Axel Küpper Berichter: Prof. Dr. Lutz Prechelt Tag der wissenschaftlichen Aussprache: 27.01.2012 Berlin, 2012 D 83 Instant Synchronization of States in Web Hypertext Application 2 Instant Synchronization of States in Web Hypertext Applications Abstract The World Wide Web (web) has become one of the most relevant platforms for distributed, networked applications. This includes applications that support direct interactions among users. This thesis provides an answer to the technological challenges arising from the realization of real-time interactions. The real-time interaction is an approximation of the interaction wherein the moment of a user action and the moment the corresponding effect can be perceived are equal. Considered is the spectrum between interaction as means to achieve a common objective and interaction as means to achieve individual objectives. For this purpose i) ways to minimize the time-span between user action and play-out of the corresponding effect are investigated; ii) the impact of concurrent user actions is addressed with regard to user intentions, especially where user actions refer to application objects (e.g. a document or an auction). The findings are summarized to a software framework. The software framework shall help to significantly reduce human resources in the engineering process of interactive applications. The international technology standards around the Hypertext Markup Language are introduced as background of this thesis. They define the technological fundament for the solution to be found. Starting from the resource-centered architectural style of the Web, state-of-the-art methods for accessing the state of a shared data resource are described. The methods are discussed with regard to their suitability for the realization of collaborative and competitive real-time interactions. A combination of Operational Transformation and Bucket Synchronization method are identified as appropriate. The concept presented here brings both methods together. A communication schema based on operations and an algorithm for the resolution of conflicts between concurrent operations with respect to user intentions is created. Additionally, a general-purpose model for the representation of states for application object is proposed. As base for a validation, the concept is completely implemented. The validation comprises evaluation and benchmark tests as well as a case study. The evaluation test confirms the correct realization of the concept in the implementation. The benchmark tests reveal shortcomings of implementation with regard to scalability. The case study confirms that the thesis objective, a less resource intensive software engineering process, is achieved. 3 Instant Synchronization of States in Web Hypertext Application 4 Instant Synchronization of States in Web Hypertext Applications Zusammenfassung Das World Wide Web (kurz Web) hat sich als Plattform für verteilte, vernetze Anwendungen etabliert. So auch für Anwendungen, die die direkte Interaktion von Anwendern miteinander unterstützen. Diese Arbeit beschäftigt sich mit den technologischen Herausforderungen, die aus der Umsetzung von Echtzeitinteraktionen im Web erwachsen. Echtzeitinteraktionen sind eine Annäherung an Interaktionen, in denen der Moment einer Benutzeraktion und der Moment der Wahrnehmbarkeit des Effekts durch andere Anwender übereinstimmen. Betrachtet wird das Spannungsfeld zwischen Interaktionen die der Erlangung eines gemeinsamen Ziels und Interaktionen die der Erlangung individueller Ziele dienen. So wird zum einen untersucht wie die Zeit zwischen Benutzeraktion und Wiedergabe des dazugehörigen Effekts so kurz wie möglich gestaltet werden kann. Zum anderen werden die Auswirkungen der Gleichzeitigkeit von Aktionen verschiedener Benutzer mit Blick auf deren Absichten behandelt, insbesondere für den Fall, dass sich die Aktionen auf ein Anwendungsobjekt (z.B. ein Dokument oder eine Auktion) beziehen. Es entsteht ein Softwarerahmenwerk, das die Realisierung von interaktiven Anwendungen mit Echtzeitanspruch beschleunigt und Entwicklungs- und Programmieraufwände somit deutlich verkürzt. Als Hintergrund der Arbeit werden die internationalen Technologiestandards um die Hypertext Markup Language und gängige Praktiken für deren Einsatz vorgestellt. So wird zunächst der technologische Rahmen definiert in dem die Lösung zu suchen ist. Ausgehend von dem auf Ressourcen ausgelegten Architekturstil des Webs werden dann bekannte Methoden aufgezeigt um auf den Zustand einer gemeinsam genutzten Ressource zuzugreifen. Interaktionen werden mittels wechselseitigem Lesen und Schreiben auf Ressourcen abgebildet. Entsprechend werden die aufgezeigten Methoden mit Blick auf ihre Tauglichkeit für die Realisierung von kooperativen und konkurrierenden Echtzeitinteraktionen diskutiert. Als probate Lösung, die sowohl Unmittelbarkeit als auch Fairness gewährt, wird eine Kombination aus Operational Transformation und Bucket Synchronization Verfahren identifiziert. Im Konzept werden beide Verfahren zusammengeführt. Es entstehen ein Kommunikationsschema für Benutzeraktionen auf Basis von Operation und ein Algorithmus für die Auflösung von Konflikten zwischen gleichzeitigen Operationen unter Berücksichtigung der Benutzerabsichten. Darauf aufbauend wird ein Model für die Darstellung von Zuständen für Anwendungsobjekte eingeführt. Als Basis für die Evaluierung wird das Konzept vollständig implementiert. Die Implementierung bildet die Grundlage für Korrektheit- und Geschwindigkeitstests. Außerdem wird damit eine Fallstudie durchgeführt. Die ersten Tests bestätigen die korrekte Umsetzung des Konzepts in der Implementierung. Die Geschwindigkeitstests zeigen Schwächen in der Skalierbarkeit der Implementierung. Die Fallstudie bestätigt, dass die Ziele mit Blick auf den Softwareentwicklungsprozess erreicht wurden. 5 Instant Synchronization of States in Web Hypertext Application 6 Instant Synchronization of States in Web Hypertext Applications Acknowledgements First of all, I would like to thank my supervisor Prof. Dr. Radu Popescu-Zeletin, who gave me the opportunity to work at both the Technische Universität Berlin (TUB) and the Fraunhofer Institute for Open Communication Systems (FOKUS) and thus let me experience an environment that gave me room for fundamental as well as applied research. I'm grateful for his continual openness, patience, and guidance during the past years. I'm deeply thankful to all my colleagues at TUB and FOKUS, and those who worked with me on the Real-time Web project and the Communication Cockpit project over the last years. Their comments and criticisms during many fruitful discussions were of tremendous importance and help. I would like to thank all the students who have graduated in the field of real-time interactive applications on the web. Special thanks go out to Rafael Grote, Niko Pfeifer, and Stanley Schragl for their veritably outstanding work. I would not have been able to complete my work without the continuous support, encouragement, and warmth of my family, Anne and Valerie. I'm grateful for their ability to cheer me up and to refill my strength by simply being there. 7 Instant Synchronization of States in Web Hypertext Application 8 Instant Synchronization of States in Web Hypertext Applications Table of Contents List of Figures ........................................................................................................................................ 13 List of Tables .......................................................................................................................................... 16 List of Algorithms .................................................................................................................................. 17 List of Definitions .................................................................................................................................. 18 List of Interfaces .................................................................................................................................... 19 1 Introduction .................................................................................................................................... 20 1.1 Motivation and Objective .......................................................................................................20 1.2 Scope ......................................................................................................................................22 1.3 Methodology ..........................................................................................................................23 1.4 Contribution ...........................................................................................................................24 1.5 Outline ....................................................................................................................................25 2 The Web as a Platform ................................................................................................................... 27 2.1 Background ............................................................................................................................27