Seamless Interoperability and Data Portability in the Social Web for Facilitating an Open and Heterogeneous Online Social Network Federation
Total Page:16
File Type:pdf, Size:1020Kb
Seamless Interoperability and Data Portability in the Social Web for Facilitating an Open and Heterogeneous Online Social Network Federation vorgelegt von Dipl.-Inform. Sebastian Jürg Göndör geb. in Duisburg von der Fakultät IV – Elektrotechnik und Informatik der Technischen Universität Berlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften - Dr.-Ing. - genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. Thomas Magedanz Gutachter: Prof. Dr. Axel Küpper Gutachter: Prof. Dr. Ulrik Schroeder Gutachter: Prof. Dr. Maurizio Marchese Tag der wissenschaftlichen Aussprache: 6. Juni 2018 Berlin 2018 iii A Bill of Rights for Users of the Social Web Authored by Joseph Smarr, Marc Canter, Robert Scoble, and Michael Arrington1 September 4, 2007 Preamble: There are already many who support the ideas laid out in this Bill of Rights, but we are actively seeking to grow the roster of those publicly backing the principles and approaches it outlines. That said, this Bill of Rights is not a document “carved in stone” (or written on paper). It is a blog post, and it is intended to spur conversation and debate, which will naturally lead to tweaks of the language. So, let’s get the dialogue going and get as many of the major stakeholders on board as we can! A Bill of Rights for Users of the Social Web We publicly assert that all users of the social web are entitled to certain fundamental rights, specifically: Ownership of their own personal information, including: • their own profile data • the list of people they are connected to • the activity stream of content they create; • Control of whether and how such personal information is shared with others; and • Freedom to grant persistent access to their personal information to trusted external sites. Sites supporting these rights shall: • Allow their users to syndicate their own profile data, their friends list, and the data that’s shared with them via the service, using a persistent URL or API token and open data formats; • Allow their users to syndicate their own stream of activity outside the site; • Allow their users to link from their profile pages to external identifiers ina public way; and • Allow their users to discover who else they know is also on their site, using the same external identifiers made available for lookup within the service. 1The text A Bill of Rights for Users of the Social Web has been published on September 4, 2007 by Joseph Smarr et al. at http://www.opensocialweb.org/2007/09/05/bill-of-rights [1] and has been reprinted with permission. v Abstract Online Social Networks (OSN) have become an integral part of our everyday lives. We express ourselves, create and collect content such as images or videos, share content and information with our friends and colleagues, exchange messages, or keep track of what’s happening in the world. Yet, despite social communication being implicitly a distributed, decentralized phenomenon, most OSN services are built in a central, monolithic fashion, concentrating all knowledge and power in one company or organization. This contradicts the idea of the social web, as proprietary and isolated walled gardens keep users from being able to freely choose an OSN platform provider or to effectively control their privacy. In order to mitigate the problem, alternative architectures that distribute control and data to multiple independent services were proposed. Unfortunately, the implicit network effects existing in large OSN services still prevent users from migrating to alternative solutions in significant numbers. Moreover, technical protocols for facilitating holistic and seamless interoperability and furthermore data portability in OSN services do not exist. Ultimately, today’s OSN market is dominated by one single service which has been able to attract a significant amount of users, while a large number of competing services and alternative solutions exist that combine a comparably small number of users. Two main issues have been identified that contribute to the current situation of one OSN service heavily dominating the entire market, being the lack of data portability and interoperability between different OSN services. This work proposes Sonic, a solution that aims to interconnect arbitrary OSN services into one open and heterogeneous federation of OSN services. Sonic introduces an open communication protocol and data formats that are able to facilitate interconnectivity of OSN services. The proposed architecture supports core features implemented in today’s most popular OSN services and facilitates extended functionality through an extensibility framework. vii Zusammenfassung Online Social Networks (OSN) sind zu einem integralen Bestandteil unseres täglichen Lebens geworden. Wir artikulieren unsere Meinung, erstellen und sammeln Bilder und Videos, teilen Inhalte und Informationen mit unseren Freunden und Kollegen, kommunizieren und halten uns auf dem Laufenden über Geschehnisse in der Welt. Doch obwohl soziale Kommunikation inhärent ein verteiltes, dezentrales Phänomen ist, folgen die meisten OSN Dienste in einer zentralistischen und monolithischen Konzeption, welche alles Wissen und alle Macht einer einzigen Organisation überlässt. Dies läuft der Idee des sozialen Webs zuwider, da proprietäre und isolierte Plattformen Nutzer daran hindern, selbstbestimmt eine Netzwerkplattform zu wählen oder die Kontrolle über ihre Daten zu behalten. Um das Problem zu beheben, wurden alternative Architekturen entworfen, durch welche Kontrolle und Daten auf mehrere unabhängige Dienstplattformen verteilt wird. Allerdings hindern die impliziten Netzwerkeffekte großer Netzwerke Nutzer daran, in signifikanter Anzahl zu alternativen Angeboten zu migrieren. Darüber hinaus existieren keine Protokolle, welche ganzheitliche und nahtlose Interoperabilität und darüber hinaus Datenportabilität in OSN Diensten ermöglichen. Im Resultat wird der heutige OSN Markt von einem einzigen Dienst dominiert, welcher in der Lage war, eine signifikante Anzahl an Nutzern zu gewinnen, während eine große Anzahl an konkurrierenden Diensten und alternativen Angeboten existiert, auf welche sich eine verhältnismäßig kleine Zahl an Nutzern vereint. Zwei Probleme konnten hierbei als Hauptursache für die aktuelle Situation, in welcher ein OSN Dienst den gesamten Markt stark dominiert, identifiziert werden. Hierbei handelt es sich um die fehlende Unterstützung von Datenportabilität und Interoperabilität zwischen verschiedenen OSN Diensten. Das vorliegende Werk stellt Sonic vor, eine Lösung zur Anbindung beliebiger OSN Dienste untereinander in einer heterogenen Föderation von OSN Diensten. Sonic spezifiziert ein offenes Kommunikationsprotokoll sowohl als auch Datenformate, durch welche Interkonnektivität von OSN Diensten ermöglicht wird. Die vorgestellte Architektur unterstützt die Kernfunktionalitäten heutiger OSN Dienste und ermöglicht darüber hinaus eine Unterstützung erweiterter Funktionalitäten über ein Erweiterungsframework. ix Acknowledgements The work described in this thesis wouldn’t have been possible without the help and support of several people. I am deeply thankful for the support I received and would like to mention those who helped and supported me. First of all, my most sincere thank goes to my supervisor Prof. Dr. Axel Küpper for giving me the opportunity to work on my research as part of the research group Service-centric Networking. He not only provided a professional and inspiring working environment, but also gave me the opportunity to learn and grow. In the years I worked on my thesis, he always supported my research and provided invaluable feedback and motivation. Furthermore, I would like to express my sincere gratitude to Prof. Dr. Ulrik Schroeder and Prof. Dr. Maurizio Marchese for supervising this thesis and providing invaluable feedback and support. I also would like to thank my colleagues at the research group for inspiring discussions and valuable feedback and support. I owe special gratitude to Dirk Thatmann, who managed to keep work off my back in the Cyclone project inthe last phase of writing my dissertation. Work on this thesis essentially was started in 2014 with the research project Sonic, which was funded by the Software Campus initiative. As part of this project, I worked with and received support from several people. Most importantly I would like to thank my mentor, Riccardo Pascotto, who always managed to have time to discuss the various issues I faced and provided valuable advice and support. Furthermore, I would like to thank the researchers and student workers who worked with me in the Sonic project, specifically Senan Sharhan, Felix Beierle, Hussam Hebbo, Evren Küçükbayraktar, and Markus Beckmann. Special thanks go out to the entire Software Campus team for their wonderful and professional support, specifically to Erik Neumann, Maren Lesche, Susanne Kegler, and Kerstin Potemka. Proofreading a scientific dissertation is a cumbersome and time-consuming, yet utterly important task. I would hence like to express sincere and special gratitude to Jan Benzenberg, Maria João Ruiz, and Steffen Bretzke for spending countless hours proofreading the thesis, pointing out mistakes I made, and providing invaluable feedback and criticism. Finally, I would like to thank my parents, Jürgen Göndör and Elisabeth Smetka-Göndör, as well as Maria João Ruiz for their invaluable support and motivation over the years I worked on this thesis. Thank you for believing in me! xi Publications Some of the ideas, methods, and results