the real-time conferencing applications classification network news (nntp) p2p collaborative...

47
The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications Instant Messaging Real-Time Collaboration

Upload: logan-mason

Post on 23-Dec-2015

221 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

The Real-Time Conferencing Applications

Classification Network News (NNTP) P2P Collaborative

applications Instant Messaging Real-Time Collaboration

Netiquette

Page 2: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

P2P 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

Page 3: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Classification 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

Page 4: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Network 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.

Page 5: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

NNTP 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

Page 6: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

NNTP Commands

Command Meaning

LIST Give me a list of all newsgroups and articles you have

NEWSGROUPS date time Give me a list of newsgroups created after date/time

GROUP grp Give me a list of all articles in grp

NEWNEWS grps date time Give me a list of new articles in specified groups

ARTICLE id Give me a specific article

IHAVE id I have article id. Do you want it? ()If yes, locally POSTs)

POST I have an article for you that was posted here (locally)

QUIT Terminate the session

Page 7: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Names of Some Top-Level Newsgroups and Their Topics

Newsgroup Name Description

comp computers and softwares

news the newsgroup system and its operation

sci scientific topics

soc social, cultural topics

talk discussed questions (short talks, non longer articles)

rec activity for recreation, amusement, hobbies

misc mixed topics, which were not classified

alt alternative groups, which are out of any previous categories

Page 8: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Names of Some Newsgroups in the Field of Informatics and Their Descriptions

Newsgroup Name Description

comp.os.linux.announce Latest Linux advances

comp.os.linux.admin System management questions

comp.os.linux.setup Installation problems

comp.os.linux.help Helps and solutions

comp.os.linux.misc Mixed Linux related topics

comp.multimedia Multimedia related topics

news.iif.hu Newsgroup related to IIF (Information Infrastructure Program -financed by the Hungarian Government)

Page 9: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Real-Time User Communication Chat in written form (textual

conferencing) Internet Relay Chat (IRC) ICQ Instant Messaging

Internet based telephoningLegend

gateway

connection

PC

IP

networkTelephonenetwork

Page 10: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Synchronous 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

Page 11: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Instant Message Technologies

ICQJabber (http://www.jabber.org/)MSN (Microsoft Messenger)Yahoo! MessengerGMAIL-based Messenger

Page 12: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

ICQ: Instant Messaging

www.icq.comMain Server

User List:

User A

2. User A searches ICQ for User B

User B

3. Server informs User A of

the user B’s location

4. User A connects to User C interacts and exchanges files

• 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

1. Members (user B and user C) register their

details at the ICQ web site

Page 13: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Short 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

Mirabilis Jalapa

Page 14: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

ICQ 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

Page 15: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

ICQ – Also a

Community

User status:-Sharon has sent you a message-Daniel has birthday-MOM has left an „away message”-Z-home is „not available”

Visit SharonsHomepage, orSend her a sms

ICQ statusI am currently online-connected to theICQ network

Splitting of theContact list accordingto their current ICQ-status

Shortcut bar

Page 16: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

The User Menu

Here you can choosebetween all the differentpossibilities to contactThe user, or change thecurrent settings forthis particular user

Page 17: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

The 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/

Page 18: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

P2P Collaborative Applications

Magi Groove Jabber

Page 19: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Collaboration

Tap into knowledge Leverage expertise at

the edges of organization Each additional member increases

the network’s value Outsourcing Collaborative Development Manager

Page 20: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Groove

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

Page 21: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Internet 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

Page 22: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

History 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.

Page 23: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

IRC networks

Network

EFnet

IRCnet

Undernet

Dalnet

# of users

57K+

53K+

50K+

47K+

Nickserv

no

no

no

no

Chanserv

no

no

yes

yes

Homepage

www.efnet.org

www.ircnet.org

www.undernet.org

www.dal.net

y

Page 24: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Basic IRC Commands

Basic Commands (selected)

Command Description Example

/join [#] Join a channel /join #newbies

/leave [#] Leave a channel /leave #newbies

/whois [nick] Get info on a nick /whois picard

/msg [nick][message] Send a private msg. to a user /msg picard hello there!

/quit Quit IRC /quit

Page 25: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

IRC 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

Page 26: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Architecture 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)

Page 27: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Sample Small IRC Network

Legend

Server Client Connection

S2

S1 S4

S3

C3 C4

C7C6C5

C2C1

S5

R6

Page 28: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

IRC 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

Page 29: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Client 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

Page 30: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Message Relaying

The IRC protocol provides no mean for two clients to directly communicate

All communication between clients is relayed by the server(s)

Page 31: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Channel 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

Page 32: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

IRC Concepts

In the following it is described how different classes of messages are delivered: One-to-one communication One-to-many One-to-all

Page 33: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

One-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

Page 34: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Examples of One-to-One Communication

Legend

Server Client Connection

S2

S1 S4

S3

C3 C4

C7C6C5

C2C1

S5

R6

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

Page 35: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

One-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

Page 36: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

To 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

Page 37: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Examples of One-to-Many Communication

Legend

Server Client Connection

S2

S1 S4

S3

C3 C4

C7C6C5

C2C1

S5

R6

Example 2: Two clients in a channel => 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 => 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

Example 1Example 1: Any channel : Any channel with with C1C1 in it => Messages in it => Messages to the channel go to the to the channel go to the S1S1 and then nowhere elseand then nowhere else

Page 38: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

To 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

Page 39: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

To 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 aren’t sent down each path

Page 40: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

One-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

Page 41: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Client-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 Most of the commands which result in a change of state information (such as channel membership, channel mode, user information (such as channel membership, channel mode, user status, etc.) status, etc.) mustmust be sent to all servers by default be sent to all servers by default

This distribution This distribution shall notshall not be changed by the client be changed by the client

Page 42: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Server-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

Page 43: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Architecture 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

Page 44: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Architecture 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

Page 45: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Architecture 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

Page 46: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Software 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

Page 47: The Real-Time Conferencing Applications Classification Network News (NNTP) P2P Collaborative applications  Instant Messaging  Real-Time Collaboration

Netiquette issues

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

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

Media richness (paucity), self presentation, flaming and social control issues