Peer-to-Peer Information Systems Week 15: Instant Messaging Old Dominion University Department of Computer Science CS 495/595 Fall 2003 Michael L. Nelson.

Slides:



Advertisements
Similar presentations
…and a natural peer-to-peer platform!. Jabber as P2P Platform Agenda Why spend time in this session? What is Jabber? Who cares about Jabber? How does.
Advertisements

Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc.
SIP and Instant Messaging. SIP Summit SIP and Instant Messaging What Does Presence Have to Do With SIP? How to Deliver.
VON Europe /19/00 SIP and the Future of VON Protocols SIP and the Future of VON Protocols: Presence and IM Jonathan Rosenberg.
Fall VoN 2000 SIP for IP Communications Jonathan Rosenberg Chief Scientist.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Introduction to XMPP Joe Hildebrand.
Applicability of Instant Messaging in the Military Command and Control Systems Author: Juha Vermaja Superviser: Jorma Jormakka Instructor: Marko Luoma,
Jabber and Extensible Messaging and Presence Protocol (XMPP) Presenter: Michael Smith Cisc 856 Dec. 6, 2005.
English I Pre- AP How are English I Pre-AP and 8 th grade ELA different? Ms. Lever Mr. Hibbs.
Network Layer and Transport Layer.
P2P (Peer To Peer) Used: when applications need to communicate between devices. Examples: – Interactive game of checkers – Instant Messaging P2P can be.
Instant Messaging Internet Technologies and Applications.
XMPP (eXtensible Messaging and Presence Protocol ) Reporter : Allen.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Real-time Communication WeeSan Lee
Hypertext Transport Protocol CS Dick Steflik.
CEO, Tech IT Easy Lab of Pervasive VM Computing A Beginner’s Guide to XMPP.
Secure Public Instant Messaging (IM): A Survey Mohammad Mannan Paul C. Van Oorschot Digital Security Group School of Computer Science Carleton University,
Open Source XMPP for Cloud Services Matt Tucker, CTO Jive Software.
IDENTITY MANAGEMENT Hoang Huu Hanh (PhD), OST – Hue University hanh-at-hueuni.edu.vn.
Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.
B UZZ - ME L OCATION BASED DATING SERVICE Arun Ponnusamy Abhisheak Iyer Deepak Swathi Gangisetty.
Publishing and transporting Web Services over XMPP
XMPP Extensible Messaging and Presence Protocol. Chat In the beginning there was instant messaging and chat. Lots of binary standards: Unix talk, IRC,
Chapter 16 The World Wide Web Chapter Goals ( ) Compare and contrast the Internet and the World Wide Web Describe general Web processing.
 Introduction  VoIP  P2P Systems  Skype  SIP  Skype - SIP Similarities and Differences  Conclusion.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
WXET1143 Lecture7: , Chat and Messaging. Introduction  Electronic mail is everywhere.  Now many people in business, government, and education use.
An XMPP (Extensible Message and Presence Protocol) based implementation for NHIN Direct 1.
Copyright 2000 eMation SECURITY - Controlling Data Access with
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
Instant Messaging Alan Parker Robert Callow Brian Kearney Fortunato Macari Daniel Harrington Chang Gong Wang.
CS101 Introduction to Computing Lecture 7 Internet Services.
XMPP – Extensible Messaging and Presence Protocol Vidya Satyanarayanan.
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
Backdrop Particle Paintings created by artist Tom Kemp September Grid Information and Monitoring System using XML-RPC and Instant.
Choosing an Instant Messenger Would you like to send Instant Messages, but aren’t sure which tool to use? Here’s help to decide. Skip to Main Menu.
I NSTANT M ESSAGING Presented By : Sana Riaz Roll no:F1F12MCOM0185.
Jabber Client Jeevan Varma Anga Distributed Systems(CSC8530) Villanova University.
User Interface; Graphical User Interface;Jabber XMPP- Core.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
SOA-based Collaborative Authoring Andrew Roczniak Multimedia Research Lab University of Ottawa.
4BP1 Electronic & Computer Engineering Paul Gildea th Year Interim Project Presentation.
A Case Study: UIM The Universal Instant Messenger Babak Esfandiari Carleton University SYSC 5800 Winter 2003.
WISER: Remote access to databases and datasets This session will help you to set up access to Oxford online resources from your home computer. The session.
Peer-to-Peer Network Tzu-Wei Kuo. Outline What is Peer-to-Peer(P2P)? P2P Architecture Applications Advantages and Weaknesses Security Controversy.
Introduction to 學校:大同大學 班級: GI1 學號: 姓名:李奕銳 教師:葉慶隆 Jabber 1.
An analysis of Skype protocol Presented by: Abdul Haleem.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Living in a Network Centric World Network Fundamentals – Chapter 1.
Kuliah Pengantar Teknologi Informasi Coky Fauzi Alfi cokyfauzialfi.wordpress.com Internet (2)
draft-mayrhofer-enum-xmpp1 XMPP Enumservice registration draft-mayrhofer-enum-xmpp-00 Alexander Mayrhofer, enum.at
Presence Networking: XMPP and Jabber Joe Hildebrand Chief Architect Jabber, Inc. Networld+Interop 1 May 2003.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Jabber Technical Overview Presenter: Ming-Wei Lin.
XMPP Solution 개요 및 동향 ㈜씽크테크 기술연구소 이정규 책임연구원.
An Analysis of XMPP Security Team “Vision” Chris Nelson Ashwin Kulkarni Nitin Khatri Taulant Haka Yong Chen CMPE 209 Spring 2009.
External Messaging Services. Page 2 External Messaging: Extends the power of Presence and Instant Messaging outside corporate Network Provided only to.
Voeventnet.caltech.edu Transporting VOEvents Andrew Drake, Matthew Graham, Roy Williams, et al.
15 May 2006 IVOA - Victoria: VOEvent 11 Jabber/XMPP Matthew J. Graham Caltech T HE US N ATIONAL V IRTUAL O BSERVATORY.
Netprog: Chat1 Chat Issues and Ideas for Service Design Refs: RFC 1459 (IRC)
SOSIMPLE: A Serverless, Standards- based, P2P SIP Communication System David A. Bryan and Bruce B. Lowekamp College of William and Mary Cullen Jennings.
Postech DP&NM Lab Session Initiation Protocol (SIP) Date: Seongcheol Hong DP&NM Lab., Dept. of CSE, POSTECH Date: Seongcheol.
March 16, 2009 Jabber IM Client. March 16, 2009 What is Jabber? An open instant message protocol Defines client/server communication Uses XMPP –XML-Based.
Innovations in P2P Communications David A. Bryan College of William and Mary April 11, 2006 Advisor: Bruce B. Lowekamp.
CS 5565 Network Architecture and Protocols
Hypertext Transport Protocol
Peer-to-Peer Information Systems Week 14: Instant Messaging
Web Server Design Week 13 Old Dominion University
Web Server Design Week 13 Old Dominion University
Presentation transcript:

Peer-to-Peer Information Systems Week 15: Instant Messaging Old Dominion University Department of Computer Science CS 495/595 Fall 2003 Michael L. Nelson 12/2/03

People 2 People For most people, computers are for communication, not computing “Killer applications” –Communications: asynchronous, 1-1, 1-many – –web pages (esp. blogs) synchronous, 1-1, 1-many –instant messaging (IM) –others: the most successful games have synchronous, person-2-person play many file sharing P2P applications assume the existence of a communications medium for resource discovery

Early IM Tools Unix “talk” – alk.htmlhttp:// alk.html Internet Relay Chat – Zephyr –

Proprietary IM Protocols Oscar/AIM – YMSG – – MSN Instant Messenger Protocol – ICQ (now owned by AOL) –

Centralized IM Alice Bob “Alice is online” “Bob is online” “Where is everyone going to lunch today?” “We’re headed to Rajput” MSN, Yahoo(?)

P2P IM Alice Bob “Alice is online” “Bob is online” “Where is everyone going to lunch today?” “We’re headed to Rajput” ICQ

Hybrid IM Alice Bob “Alice is online” “Bob is online” “Where is everyone going to lunch today?” “We’re headed to Rajput, here is a scan of their menu” AOL AIM, Yahoo?

IM Lock-in AIM, YMSG, MSN, etc. are an improvement over irc, talk, etc. in that they: –remove location dependency from identity –pass the P2P litmus test: variable connectivity & temp IP addresses autonomy for nodes at edges of the network But they are all proprietary: –limited to the supported client –locked in to the provider that supports the protocol you and your brother are on AOL, but you parents are on Yahoo! and your sister is on MSN –its like having 3 separate clients & addresses to communicate with all of your friends & colleagues

Multi-Protocol Clients Multi-protocol clients exist: –Everybuddy –Trillian –Fire –GAIM –etc. But they require identities for each of the services

Supporting Multiple Protocols DJ Recall DJ Precision DJ DJ

Jabber An open source / open protocol alternative – Features: –protocol is defined in XML cf. binary proprietary protocols! –adopted by the IETF as the platform for the evolving Extensible Messaging and Presence Protocol (XMPP) –separate clients and servers for installation –gateways for legacy protocols (AIM, YMSG, etc.) as well as person-2-application conversations

Romeo & Juliet montague.net capulet.com DiCaprio & Danes images from JID = = to: What man art thou that thus bescreen'd in night So stumblest on my counsel? to: By a name I know not how to tell thee who I am: My name, dear saint, is hateful to myself, Because it is an enemy to thee; Had I it written, I would tear the word. Jabber Servers Jabber Clients

A rich set of clients supported (many with built-in support for other IM protocols too) – Jabber IDs (JIDs) –they look like addresses, but they’re not but they’re similar in effect relative to hierarchical naming –they make explicit what was hardwired in AIM, YMSG, etc e.g.

Use a public server… …or run your own

Jabber URIs –resources generally used as connection ids –resource addresses are hidden from users; only used by software/protocol –“data”, as shown on p. 85, is not part of the Jabber IETF draft

XML Messages Plotting Here, sweet lord, at your service Angels and Ministers of Grace, Defend us! … from: from: ch. 6, p. 84 XML messages bundled through the use of tags (see section 5.2 of the Jabber draft; also section 10 for examples)

Extensibility Through Namespaces <iq type="result" from="service.denmark" id="1001"> Choose a username and password to register with this server. 106c0a7b5510f192a408a1d054150ed1065e255a from: Client request for registration information to a server service (service.denmark): Server response with registration fields required:

Extensibility Through Namespaces hamlet gertrude 106c0a7b5510f192a408a1d054150ed1065e255a <iq type="result" from="service.denmark" id="1002"/> Client request to register for an account: Successful registration: <iq type="error" from="service.denmark" id="1002"/> Not Acceptable Failed registration: from:

Presence xa Gone to England from:

Roster from: <item name="Uncle Claudius" subscription="from"> Family Friends <item name="Prince Fortinbras" subscription="none" ask="subscribe"/> Client request for current roster: Server response to client query:

People 2 Applications Using XML namespaces inside the element, we can create “conversations” with applications as well as people. Some hypothetical examples: football “What is the 5 day forecast for zip code 23508?” “What was the result of November 18th 1995 Virginia Tech football game?”

XMPP Extensible Messaging and Presence Protocol (XMPP) ( soon) defined in 4 drafts: –core protocol defines streams, stanzas, authentication & security, internationalization issues –extensions for IM & presence further definition & use cases particular to IM –end-to-end object encryption –mapping XMPP to the Common Presence and Instant Messaging Protocol (CPIM)

Streams and Stanzas stream: a container for the exchange of XML elements between any 2 entities over a network stanza: a discrete semantic unit of structured information that is sent from one entity to another over an XML stream from: | | | | | | | | | | | | | | | | | | |... | | | | | | |

Stream Examples from section 4.7: A basic "session": C: <stream:stream to='example.com' xmlns='jabber:client' xmlns:stream=' version='1.0'> S: <stream:stream from='example.com' id='someid' xmlns='jabber:client' xmlns:stream=' version='1.0'>... encryption, authentication, and resource binding... C: <message xml:lang='en'> C: Art thou not Romeo, and a Montague? C: S: <message xml:lang='en'> S: Neither, fair saint, if either thee dislike. S: C: S: A "session" gone bad: C: <stream:stream to='example.com' xmlns='jabber:client' xmlns:stream=' version='1.0'> S: <stream:stream from='example.com' id='someid' xmlns='jabber:client' xmlns:stream=' version='1.0'>... encryption, authentication, and resource binding... C: Bad XML, no closing body tag! S: <xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/> S:

Security in XMPP XMPP Client XMPP Server TLS SASL TLS = Transport Layer Security, RFC 2246 SASL = Simple Authentication and Security Layer, RFC 2222

Additions in XMPP The core is very similar to the original Jabber protocol; some notable additions: –use of the “xml:lang” attribute to specify language type: –definition of a “jabber:iq:privacy” namespace to maintain privacy lists, block communication based on JID, group, subscription type, etc.