Title: The RealTime Conferencing Applications
1The Real-Time Conferencing Applications
- Classification
- Network News (NNTP)
- P2P Collaborative applications
- Instant Messaging
- Real-Time Collaboration
- Netiquette
2P2P Collaborative Applications
- For remote real-time human collaboration
- Instant messaging, virtual meetings, shared
whiteboards, teleconferencing, tele-presence - E.g., talk, IRC, ICQ, AOL Messenger, Yahoo!
Messenger, Jabber, MS Netmeeting, NCSA Habanero,
Games
3Classification of Textual Conferencing
- According to the relative timing
- Asynchronous or
- Synchronous
- According to the number of participants
- One to One
- One to Many
- Many to Many
4Network News, Newsgroups
- Network News Transfer Protocol (NNTP)
- Predecessor UUCP
- Components
- News Transfer Agency (NTA)
- News Server
- News Reader Client Software
- E.g. Pine, trn, tin, Pnews, Netscape Navigator,
etc.
5NNTP Operation
- To acquire recent articles, an NNTP client must
first establish a TCP connection with port 119 on
one of its newsfeeds - After the connection has been established, the
client and server communicate using a sequence of
commands and responses - These commands responses are used to ensure
that the client gets all the articles it needs,
but no duplicates
6NNTP Commands
7Names of Some Top-Level Newsgroups and Their
Topics
8Names of Some Newsgroups in the Field of
Informatics and Their Descriptions
9Real-Time User Communication
- Chat in written form (textual conferencing)
- Internet Relay Chat (IRC)
- ICQ
- Instant Messaging
- Internet based telephoning
10Synchronous choices
- Talk, n-talk, y-talk
- ICQ
- IRC, Netmeeting
- See http//www.irchelp.org/irchelp/altircfaq.html
- Web-based synchronous tools, chats
- Stand alone, CGI-based, and Java-based
- See http//www.2meta.com/chats/info/
- White-boards
11Instant Message Technologies
ICQ Jabber (http//www.jabber.org/) MSN
(Microsoft Messenger) Yahoo! Messenger GMAIL-based
Messenger
12ICQ Instant Messaging
- Released in November 1996
- Allows users to be notified when their friends
come online - Users can send messages to their friends
(instant messaging) - Also allows users to exchange files
www.icq.com Main ServerUser List
User A
User B
13Short history of ICQ
- The company Mirabilis was founded in 1996
- their field of focus was to be peer-to-peer
communication through the Internet - In the same year they launched ICQ as their first
product - It was an instant messenger for use on the
Internet - A lot of others were to come, but ICQ was the
first one to enter the market - Its main features included
- The ability to show the user when his friends are
online (connect to the ICQ-server) - Invoke online real-time peer-to-peer
communication in different ways (message, games
etc) - An address-database for the users friends and
ICQ-contacts - In 1998 Mirabilis was bought by AOL, a company
that earlier had realesed an instant messenger
themselves - ICQ had although proved to be more successful
than the AOL instant messenger, and the existence
of ICQ was not immediately threatened
14ICQ today
- Ever since the first version released in 1996 ICQ
has focused on the P2P (peer-to-peer)
communication. The communication possibilities
have although expanded, and includes in the
latest beta-version ICQ2000b among other
functions the following - Instant messaging system
- Realtime chat-function
- Phone via the Internet (PC-PC, PC-phone
phone-phone) - SMS service
- Direct filetransfer possibilites between two
users - ICQ is available for many different operating
systems today, including a Java-version and also
a version for the Palm OS. - Main competitors include AIM, MSN Messenger and
the Yahoo! Messenger
15Visit Sharons Homepage, or Send her a sms
ICQ Also a Community
Splitting of the Contact list according to their
current ICQ-status
- User status
- Sharon has sent you a message
- Daniel has birthday
- MOM has left an away message
- Z-home is not available
Shortcut bar
ICQ status I am currently online -connected to
the ICQ network
16The User Menu Here you can choose between all
the different possibilities to contact The user,
or change the current settings for this
particular user
17The technical facts
- To communicate with the server, ICQ uses UDP. In
the Client-Client case both UDP and TCP are used.
Inside the UDP packets, the messages themselves
are created according to the so called
ICQ-protocol. - If you are interested in the details, try the
following links - The ICQ Protocol Site (English, French, German,
Russian and Spanish) - http//www.d.kth.se/d95-mih/icq/
- The ICQ Hacking Page (English)
- http//www.algonet.se/henisak/icq/
- For general information, visit http//www.icq.com/
18P2P Collaborative Applications
19Collaboration
- Tap into knowledge
- Leverage expertise at the
edges of organization - Each additional member increases the networks
value - Outsourcing
- Collaborative Development Manager
20Groove
- Groove is a collaborative P2P system
(http//www.groove.net) - It is mainly targeted to Internet and intranet
users, although it can also be used on mobile
devices, such as PDAs, mobile phones, and tablets - It is intended to enable communication, content
sharing, and tools for joint activities
21Internet Relay Chat (IRC)
- Definition of IRC
- textbased teleconferencing system using TCP/IP
- multi-user, multi-channel system
- offers the possibility to talk to other users
around the world in realtime
22History of IRC
- Summer 1988 Jarrko Oikarinen wrote the first IRC
client and server at the University of
Oulu/Finland - Middle of 1989 40 servers worldwide - release of
ircII - July 1990 avergage of 12 users on 38 servers
- August 1990 birth of EFnet
- October 1992 start of Undernet
- May 1993 Request for Comments (RFC) 1459
presented to the public - July 1994 birth of Dalnet
- July 1996 split of the EFnet the European
servers formed the IRCnet - January 1998 start of a initiative (IETF-IRCUP)
to create a new RFC and to set up a new standard
for all IRC-networks. The project was cancelled.
23IRC networks
24Basic IRC Commands
- Basic Commands (selected)
25IRC Channels
- Real-time chat - text-based conferencing
- There is an IRC channel dedicated to the World
Wide Web - This channel is named www
- IRC channels allow Internet users around the
world to discuss topics in real-time
26Architecture of IRC
- An IRC network is defined by a group of servers
connected to each other - A single server forms the simplest IRC network
- The only configuration allowed for IRC servers is
that of spanning tree where each server acts as a
central node for the rest of the network it sees - The IRC protocol provides no mean for two clients
to directly communicate - All communication between clients is relayed by
the server(s)
27Sample Small IRC Network
28IRC Protocol Services
- The next services are offered by the IRC Protocol
- The combination of these services allow real-time
conferencing - Client Locator
- Message Relaying
- Channel Hosting and Management
29Client Locator
- To be able to exchange messages, two clients must
be able to locate each other - Upon connecting to a server, a client registers
using a label which is then used by other servers
and clients to know where the client is located - Servers are responsible for keeping track of all
the labels being used
30Message Relaying
- The IRC protocol provides no mean for two clients
to directly communicate - All communication between clients is relayed by
the server(s)
31Channel Hosting and Management
- A channel is a named group of one or more users
which will all receive messages addressed to that
channel - A channel is characterized by its name and
current members, it also has a set of properties
which can be manipulated by (some of) its members - Channels provide a mean for a message to be sent
to several clients - Servers host channels, providing the necessary
message multiplexing - Server are also responsible for managing channels
by keeping track of the channel members
32IRC Concepts
- In the following it is described how different
classes of messages are delivered - One-to-one communication
- One-to-many
- One-to-all
33One-To-One Communication
- Communication on a one-to-one basis is usually
performed by clients, since most server-server
traffic is not a result of servers talking only
to each other - To provide a means for clients to talk to each
other, it is required that all servers be able to
send a message in exactly one direction along the
spanning tree in order to reach any client. - Thus the path of a message being delivered is the
shortest path between any two points on the
spanning tree
34Examples of One-to-One Communication
- Example 1 A message between clients C1 and C2 is
only seen by server S1, which sends it straight
to C1 and C2, respectively - Example 2 A message between clients C1 and C3 is
seen by servers S1, S2, S3 S4 - No other clients or servers are allowed see the
message - Example 3 A message between clients C2 and C7 is
seen by servers S1, S2, S3 S6, only
35One-To-Many Communication
- The main goal of IRC is to provide a forum which
allows easy and efficient conferencing (one to
many conversations) - IRC offers several means to achieve this, each
serving its own purpose - To a channel
- To a host/server mask
- To a list
36To a channel
- In IRC the channel has a role equivalent to that
of the multicast group - Their existence is dynamic
- Actual conversation carried out on a channel must
only be sent to servers which are supporting
users on a given channel - Moreover, the message shall only be sent once to
every local link as each server is responsible to
fan the original message to ensure that it will
reach all the recipients
37Examples of One-to-Many Communication
- Example 1 Any channel with C1 in it gt Messages
to the channel go to the S1 and then nowhere else
- Example 2 Two clients in a channel gt All
messages traverse a path as if they were private
messages between the two clients outside a
channel - Example 3 C1, C2 C3 in a channel gt All
messages to the channel are sent to all clients
and only those servers which must be traversed by
the message if it were a private message to a
single client - If C1 sends a message, it goes back to C2 and
then via S2, S3 S4 to C3
38To a host/server mask
- To provide with some mechanism to send messages
to a large body of related users, host and server
mask messages are available - These messages are sent to users whose host or
server information math that of the mask - The messages are only sent to locations where
users are, in a fashion similar to that channels
39To a list
- The least efficient style of one-to-many
conversation is through clients talking to a
list of targets (client, channel, mask) - How this done is almost self explanatory
- the client gives a list of destinations to which
the message is to be delivered and - the server breaks it up and dispatches a separate
copy of the message to each given destination - This is not as efficient as using a channel since
the destination list may be broken up and the
dispatch sent without checking to make sure
duplicates arent sent down each path
40One-To-All Communication
- The one-to-all type of message is better
described as a broadcast message, sent to all
clients or servers or both - On a large network of users and servers, a single
message can result in a lot of traffic being sent
over the network in an effort to reach all of the
desired destinations - For some class of messages, there is no option
but to broadcast it to all servers so that the
state information held by each server is
consistent between servers - Its types
- Client-to-client
- Client-to-server
- Server-to-server
41Client-to-Client
- There is no class of message which, from a single
message, results in a message being sent to every
other client
Client-to-Server
- Most of the commands which result in a change of
state information (such as channel membership,
channel mode, user status, etc.) must be sent to
all servers by default - This distribution shall not be changed by the
client
42Server-to-Server
- While most messages between servers are
distributed to all other servers, this is only
required for any message that affects a user,
channel or server - Since these are the basic items found in IRC,
nearly all messages originating from a server are
broadcast to all other connected servers
43Architecture Related Problems of IRC (1)
- Scalability
- This protocol does not scale sufficiently well
when used in a large arena - The main problem comes from the requirement that
all servers know about all other servers, clients
and channels and that information regarding them
be updated as soon as it changes - Reliability
- As the only network configuration allowed for IRC
servers is that of a spanning tree, each link
between two servers is an obvious and quite
serious point of failure
44Architecture Related Problems of IRC (2)
- Network Congestion
- Due to the spanning tree architecture the IRC
protocol is extremely vulnerable to network
congestions - This problem is endemic (local), and should be
solved for the next generation - if congestion and high traffic volume cause a
link between two servers to fail, not only this
failure generates more network traffic, but the
reconnection (eventually elsewhere) of two
servers also generates more traffic - In an attempt to minimize the impact of these
problems, it is strongly recommended that servers
do not automatically try to reconnect too fast,
in order to aggravating this situation
45Architecture Related Problems of IRC (3)
- Privacy
- Besides not scaling well, the fact that servers
need to know all information about other
entities, the issue of privacy is also a concern - This is in particular true for channels, as the
related information is quite a lot more revealing
than whether a user is online or not - Security considerations
- Asides from the privacy concerns, security is
irrelevant
46Software Implementations References
- Software implementations
- ftp//ftp.irc.org/irc/server
- ftp//ftp.funet.fi/pub/unix/irc
- ftp//coombs.anu.edu.au/pub/irc
- References
- www.irchelp.org/irchelp/
- www.newircusers.com
- www.contactor.se/dast/irc/history.html
47Netiquette issues
Media richness (paucity), self presentation,
flaming and social control issues
- Rule 6 Share expert knowledge
- Rule 7 Help keep flame wars under control
- Rule 8 Respect other people's privacy
- Rule 9 Don't abuse your power
- Rule 10 Be forgiving of other people's mistakes
- Rule 1 Remember the Human
- Rule 2 Adhere to the same standards of behavior
online that you follow in real life - Rule 3 Know where you are in cyberspace
- Rule 4 Respect other people's time and bandwidth
- Rule 5 Make yourself look good online