Spontaneous Social Networks

Spontaneous Social Networks

Spontaneous Social Networks DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Computergraphik/Digitale Bildverarbeitung eingereicht von Michael Hanzl Matrikelnummer 0525742 an der Fakultät für Informatik der Technischen Universität Wien Betreuung Betreuer: Ao.Univ.Prof. Dipl.-Ing. Dr.techn. Eduard Gröller Mitwirkung: Projektass.(FWF) Dipl.-Ing. Dr.techn. Peter Rautek Wien, 01.07.2011 (Unterschrift Verfasser) (Unterschrift Betreuer) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at i Erklärung zur Verfassung der Arbeit Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwendeten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit - einschließlich Tabellen, Karten und Abbildungen -, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach ent- nommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. Wien, 01.07.2011 (Unterschrift Verfasser) ii Abstract Social networks are a well researched field. There is extensive literature covering this topic. They are nowadays used for a wide variety of applications such as business, education, medicine and dating. These applications contribute to the high popularity of social networks. The underlying concept of all social networking applications is a graph, that consists of nodes representing people and edges representing social relations. This social graph is commonly very rigid in semantics and tedious to manipulate. Two users can add an edge only by mutually accepting the relation. Typically this graph manipulation needs manual intervention. In contrast, Spontaneous Social Networks (SSNs) rely on much more flexible graphs that are manip- ulated with minimal manual intervention. Edges are automatically generated and deleted in real time by hardware devices such as smartphones and desktop PCs. Applications operate on top of SSNs. The application defines the purpose and properties of the SSN and provides the users an interface to a SSN. The goal of this diploma thesis is the design of a standard and an implementation of a Spontaneous Social Networking (SSN) framework. The capabilities of the framework are demonstrated by a number of example applications. The Extensible Messaging and Presence Protocol (XMPP) and the Publish-Subscribe (PubSub) paradigm are used for communication in SSNs. The properties and discovery approaches of SSNs are defined. The implementation is evaluated in terms of usability with the help of the System Usability Scale (SUS). Furthermore, the suitability of XMPP and the scalability and privacy of SSNs and the reference implementation are discussed. Kurzfassung Soziale Netzwerke sind ein gut erforschtes Gebiet, mit entsprechend viel wissenschaftlicher Lit- eratur. Soziale Netzwerke werden heutzutage für viele verschiedene Anwendungsfelder, wie z.B. im geschäftlichen Umfeld, für den Unterricht und die Lehre, in der Medizin und um andere Personen kennen zu lernen, verwendet. Diese Anwendungsgebiete machen Soziale Netzwerke sehr populär. Das zugrunde liegende Konzept eines Sozialen Netzwerks ist ein Graph, der aus Knoten und Kan- ten besteht. Personen werden als Knoten dargestellt und die sozialen Beziehungen zwischen diesen Personen als Kanten. Der soziale Graph ist semantisch sehr starr und mühsam zu verändern. Eine Verbindung zwischen zwei Personen muss normalerweise von beiden Personen akzeptiert werden und erfordert ein manuelles Eingreifen der Benutzer. Spontane Soziale Netzwerke - Spontaneous Social Networks (SSNs) - verwenden im Gegensatz zu Sozialen Netzwerken viel flexiblere Graphen, bei denen das Eingreifen des Benutzers auf ein Min- imum reduziert wird. Kanten werden in Echtzeit von Geräten, wie z.B. Smartphones und Desktop PCs, erzeugt und gelöscht. Auf den SSNs operieren Applikationen, die den Zweck und die Eigen- schaften des Spontanen Sozialen Netzwerkes festlegen. Außerdem bieten sie dem Benutzer eine Schnittstelle zur Benutzung von SSNs. Das Ziel dieser Diplomarbeit ist das Design eines Standards und die Implementierung eines Frame- works für SSNs. Etliche Beispielapplikationen demonstrieren die Funktionen und Fähigkeiten des Frameworks. Für die Kommunikation in SSNs wird das Extensible Messaging and Presence Proto- col (XMPP) und das Publish-Subscribe Modell verwendet. Die Eigenschaften und Ansätze für das Auffinden von SSNs werden behandelt. Die Implementierung wird mit Hilfe des System Usabil- ity Scale (SUS) in Bezug auf die Brauchbarkeit bzw. Benutzerfreundlichkeit evaluiert. Außerdem wird die Tauglichkeit von XMPP, die Skalierbarkeit sowie der Datenschutz in SSNs und der Beispie- limplementierung diskutiert. iii Acknowledgements First I want to thank Peter Rautek, my supervisor, for his great support. He supported me with new ideas and feedback, gave me valuable tips, proofread this thesis and solved administrative prob- lems quickly and uncomplicated. Next I want to thank Eduard Gröller, our beloved master, for his advises and proofreading this thesis. Furthermore, I want to thank the Institute of Computer Graphics and Algorithms for lending me an Android smartphone during my diploma thesis and for providing me a server to host the XMPP server. Moreover, I thank Andreas Maierhofer who administrates the server and gave me tips during the setup of the XMPP server. A big thanks goes to the participants of the two performed usability (SUS) tests. They gave me great feedback and tips after the usability tests. I also would like to thank John Brooke for developing the System Usability Scale (SUS). A special thanks goes to my parents Ludwig and Maria for supporting me and financing my study. Contents Abstract ii Kurzfassung ii Acknowledgements iii Contents iv List of Figures vii List of Tables ix List of Abbreviationsx 1 Introduction 1 1.1 Motivation.......................................... 1 1.2 Thesis Structure....................................... 3 2 Related Work 5 2.1 SCOPE ........................................... 5 2.2 Mobilis ........................................... 7 2.3 MobiSoC .......................................... 8 2.4 MobiClique......................................... 9 2.5 EZeeCom.......................................... 10 2.6 SAMOA........................................... 10 2.7 RoadSpeak ......................................... 11 2.8 Conclusions......................................... 12 3 Fundamentals 13 3.1 Social Networks....................................... 13 3.2 Android........................................... 16 3.2.1 Overview...................................... 16 3.2.2 Architecture..................................... 17 3.2.3 Applications and Development........................... 19 3.2.4 Application Components.............................. 19 3.2.5 Permissions..................................... 20 3.2.6 Lifecycle ...................................... 21 3.2.7 Interprocess Communication............................ 23 3.3 XMPP............................................ 24 iv CONTENTS v 3.3.1 Overview...................................... 24 3.3.2 Architecture..................................... 25 3.3.3 Presence and Roster ................................ 25 3.3.4 JID and Resources ................................. 26 3.3.5 Bots, Components and Services .......................... 27 3.3.6 Messages...................................... 27 3.4 XMPP Extensions...................................... 28 3.4.1 Service Discovery ................................. 29 3.4.2 Privacy Lists .................................... 29 3.4.3 Publish-Subscribe ................................. 29 3.4.4 Personal Eventing Protocol............................. 31 4 Design and Concept 32 4.1 Outline ........................................... 32 4.2 Message Exchange ..................................... 34 4.3 Architecture......................................... 35 4.4 User Management...................................... 36 4.5 Buddy List ......................................... 37 4.6 SSN Discovery ....................................... 37 4.6.1 Overview...................................... 37 4.6.2 Invitation Model .................................. 39 4.6.3 Similarity Matching ................................ 39 4.6.4 Visual Codes.................................... 39 4.6.5 Tones........................................ 40 4.6.6 Buddy Based Approach .............................. 41 4.7 Security and Privacy .................................... 41 5 Implementation 44 5.1 Overview .......................................... 44 5.2 Message Exchange ..................................... 50 5.3 SSN Discovery ....................................... 51 5.3.1 Overview...................................... 51 5.3.2 Visual Codes Discovery .............................. 51 5.3.3 Tones Discovery .................................. 51 5.4 Implementation Issues ................................... 56 5.4.1 Time Leveling ................................... 56 5.4.2 Application’s Responsiveness ........................... 56 5.4.3 Connection Management.............................. 57 5.4.4 Sharing of the User’s Identity ........................... 57 5.4.5 Automatic Deletion of SSNs............................ 57 5.4.6 Security....................................... 58 5.5 XMPP Server........................................ 59 5.5.1 Evaluation ..................................... 59 5.5.2 Conclusions....................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    120 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us