Скачать презентацию The Real-Time Conferencing Applications n n Classification Network Скачать презентацию The Real-Time Conferencing Applications n n Classification Network

91e76ebf8ba96656845f4c22221480a7.ppt

  • Количество слайдов: 47

The Real-Time Conferencing Applications n n Classification Network News (NNTP) P 2 P Collaborative The Real-Time Conferencing Applications n n Classification Network News (NNTP) P 2 P Collaborative applications q Instant Messaging q Real-Time Collaboration Netiquette

P 2 P Collaborative Applications n n n For remote real-time human collaboration Instant P 2 P Collaborative Applications n n n 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

Classification of Textual Conferencing n According to the relative timing: q q n Asynchronous Classification of Textual Conferencing n According to the relative timing: q q n Asynchronous or Synchronous According to the number of participants q q q One to Many to Many

Network News, Newsgroups n n n Network News Transfer Protocol (NNTP) Predecessor: UUCP Components: Network News, Newsgroups n n n Network News Transfer Protocol (NNTP) Predecessor: UUCP Components: q q q News Transfer Agency (NTA) News Server News Reader Client Software n E. g. : Pine, trn, tin, Pnews, Netscape Navigator, etc.

NNTP Operation n To acquire recent articles, an NNTP client must first establish a NNTP Operation n 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

NNTP Commands NNTP Commands

Names of Some Top-Level Newsgroups and Their Topics Names of Some Top-Level Newsgroups and Their Topics

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

Real-Time User Communication n Chat in written form (textual conferencing) q q q n Real-Time User Communication n Chat in written form (textual conferencing) q q q n Internet Relay Chat (IRC) ICQ Instant Messaging Internet based telephoning

Synchronous choices n n n Talk, n-talk, y-talk ICQ IRC, Netmeeting q n n Synchronous choices n n n Talk, n-talk, y-talk ICQ IRC, Netmeeting q n n Web-based synchronous tools, “chats” Stand alone, CGI-based, and Java-based q n See http: //www. irchelp. org/irchelp/altircfaq. html See http: //www. 2 meta. com/chats/info/ White-boards

Instant Message Technologies ICQ Jabber (http: //www. jabber. org/) MSN (Microsoft Messenger) Yahoo! Messenger Instant Message Technologies ICQ Jabber (http: //www. jabber. org/) MSN (Microsoft Messenger) Yahoo! Messenger GMAIL-based Messenger

ICQ: Instant Messaging • Released in November 1996 • Allows users to be notified ICQ: 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 Server User List: 2. User A searches ICQ for User B 1. Members (user B and user C) 3. Server informs register their User A of the user details at the ICQ B’s location web site User A User B 4. User A connects to User C interacts and exchanges files

Short history of ICQ n The company Mirabilis was founded in 1996 n their Short history of ICQ n The company Mirabilis was founded in 1996 n 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 q q 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: n n n Mirabilis Jalapa 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

ICQ today n Ever since the first version released in 1996 ICQ has focused ICQ today n Ever since the first version released in 1996 ICQ has focused on the P 2 P (peer-to-peer) communication. The communication possibilities have although expanded, and includes in the latest beta-version ICQ 2000 b among other functions the following: n n n n 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

ICQ – Also a Community User status: -Sharon has sent you a message -Daniel 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” ICQ status I am currently online -connected to the ICQ network Visit Sharons Homepage, or Send her a sms Splitting of the Contact list according to their current ICQstatus Shortcut bar

The User Menu Here you can choose between all the different possibilities to contact The User Menu Here you can choose between all the different possibilities to contact The user, or change the current settings for this particular user

The technical facts n To communicate with the server, ICQ uses UDP. In the The technical facts n 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. q 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/~d 95 -mih/icq/ The ICQ Hacking Page (English): http: //www. algonet. se/~henisak/icq/ q For general information, visit http: //www. icq. com/

P 2 P Collaborative Applications n n n Magi Groove Jabber P 2 P Collaborative Applications n n n Magi Groove Jabber

Collaboration n n Tap into knowledge Leverage expertise at the edges of organization Each Collaboration n n Tap into knowledge Leverage expertise at the edges of organization Each additional member increases the network’s value Outsourcing Collaborative Development Manager

Groove n n n Groove is a collaborative P 2 P system (http: //www. Groove n n n Groove is a collaborative P 2 P 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

Internet Relay Chat (IRC) n Definition q q q of IRC textbased teleconferencing system Internet Relay Chat (IRC) n Definition q q q 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

History of IRC n n n n n Summer 1988: Jarrko Oikarinen wrote the History of IRC n n n n n 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 irc. II 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.

IRC networks IRC networks

Basic IRC Commands n Basic Commands (selected) Basic IRC Commands n Basic Commands (selected)

IRC Channels n n Real-time chat - text-based conferencing There is an IRC channel IRC Channels n n 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

Architecture of IRC n n n An IRC network is defined by a group Architecture of IRC n n n 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)

Sample Small IRC Network Sample Small IRC Network

IRC Protocol Services n n The next services are offered by the IRC Protocol IRC Protocol Services n n The next services are offered by the IRC Protocol The combination of these services allow real-time conferencing: q q q Client Locator Message Relaying Channel Hosting and Management

Client Locator n n n To be able to exchange messages, two clients must Client Locator n n n 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

Message Relaying n n The IRC protocol provides no mean for two clients to Message Relaying n n The IRC protocol provides no mean for two clients to directly communicate All communication between clients is relayed by the server(s)

Channel Hosting and Management n n n A channel is a named group of Channel Hosting and Management n n n 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

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

One-To-One Communication n Communication on a one-to-one basis is usually performed by clients, since One-To-One Communication n 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

Examples of One-to-One Communication n n Example 1: A message between clients C 1 Examples of One-to-One Communication n n Example 1: A message between clients C 1 and C 2 is only seen by server S 1, which sends it straight to C 1 and C 2, respectively Example 2: A message between clients C 1 and C 3 is seen by servers S 1, S 2, S 3 & S 4 q n No other clients or servers are allowed see the message Example 3: A message between clients C 2 and C 7 is seen by servers S 1, S 2, S 3 & S 6, only

One-To-Many Communication n n The main goal of IRC is to provide a forum One-To-Many Communication n n 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 q q q To a channel To a host/server mask To a list

To a channel n In IRC the channel has a role equivalent to that To a channel n In IRC the channel has a role equivalent to that of the multicast group q q n 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

Examples of One-to-Many Communication n Example 1: Any channel with C 1 in it Examples of One-to-Many Communication n Example 1: Any channel with C 1 in it => Messages to the channel go to the S 1 and then nowhere else 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: C 1, C 2 & C 3 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 q If C 1 sends a message, it goes back to C 2 and then via S 2, S 3 & S 4 to C 3

To a host/server mask n n n To provide with some mechanism to send To a host/server mask n n n 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

To a list n n The least efficient style of one-to-many conversation is through To a list n n 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: q q n 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

One-To-All Communication n n The one-to-all type of message is better described as a One-To-All Communication n n 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: q q q Client-to-client Client-to-server Server-to-server

Client-to-Client n There is no class of message which, from a single message, results Client-to-Client n There is no class of message which, from a single message, results in a message being sent to every other client Client-to-Server n n 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

Server-to-Server n n While most messages between servers are distributed to all ‘other’ servers, Server-to-Server n n 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

Architecture Related Problems of IRC (1) n Scalability q q n This protocol does Architecture Related Problems of IRC (1) n Scalability q q n 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 q 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

Architecture Related Problems of IRC (2) n Network Congestion q q Due to the Architecture Related Problems of IRC (2) n Network Congestion q q 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: n q 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

Architecture Related Problems of IRC (3) n Privacy q q n Besides not scaling Architecture Related Problems of IRC (3) n Privacy q q n 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 q Asides from the privacy concerns, security is irrelevant

Software Implementations & References n Software implementations q q q ftp: //ftp. irc. org/irc/server Software Implementations & References n Software implementations q q q ftp: //ftp. irc. org/irc/server ftp: //ftp. funet. fi/pub/unix/irc ftp: //coombs. anu. edu. au/pub/irc n References q q q www. irchelp. org/irchelp/ www. newircusers. com www. contactor. se/~dast/irc/history. html

Netiquette issues Media richness (paucity), self presentation, flaming and social control issues n n Netiquette issues Media richness (paucity), self presentation, flaming and social control issues n n n 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 n n n 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