Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Lecture OutlineIn this lecture we will examine several difference
collaboration technologies: Mail Chat Audio and videoconferencing ...
Probably the oldest computerbased collaboration technology in general use today is email.
Formally SMTP is defined in RFC 821 (STD 10) as amended by RFC 1123 (STD 3) chapter 5. The protocol used today is also known as ESMTP and defined in RFC 2821.
SMTP is a simple, humanly readable protocol.
Sending a mail
At its simplest, sending an email consists of: discovering the mailexchanger (MX record) of the target address
which lists the mail server Connecting to port 25 on the mail server Sending SMTP HELO or EHLO commands to initiate a session Using more SMTP commands
MAIL FROM:<address>, RCPT TO:<address>, DATA Sending the mail message and finishing mail message with
“<CRLF>.<CRLF>”
Chat
Many different chat clients out there. More sophisticated version of old “talk”
program and chatting in MUDS. AIM, Jabber, ...
Video and audio conferencing
Becoming progressively more common Remember the Aura video Many different technologies out there
Netmeeting, ekiga, gizmo, wengo, skype, access grid, ...
Most of the modern ones are built on open standards
Session Initiation Protocol (SIP)
an applicationlayer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences." (cit. RFC 3261).
Originally designed by Henning Schulzrinne (Columbia University) and Mark Handley (UCL) starting in 1996. The latest version of the specification is RFC 3261 from the IETF SIP Working Group.
In November 2000, SIP was accepted as a 3GPP signaling protocol and permanent element of the IMS architecture. It is widely used as a signaling protocol for Voice over IP, along with H.323 and others.
SIP Features:
Lightweight, in that SIP has only six methods, reducing complexity.
Transportindependent, because SIP can be used with UDP, TCP, ATM & so on.
Textbased, allowing for humans to read SIP messages.
Skype
Very successful audio and now videoconferencing software
Skype builds a peer to peer network Has sophisticated techniques to work around
firewalls.
Skype and firewalls
Let's assume that Alice wants to call her friend Bob. Her Skype client tells the Skype server that she wants to do so.
Server already knows a bit about Alice. From incoming query it sees that Alice is currently registered
at the IP address 1.1.1.1 and a quick test reveals that her audio data always comes from UDP port 1414.
The Skype server passes this information on to Bob's Skype client, which, according to its database, is currently registered at the IP address 2.2.2.2 and which, by preference uses UDP port 2828.
Skype and firewalls
Alice calls Bob Step 1: Alice tries to call Bob, which signals Skype.
Bob's Skype program then punches a hole in its own network firewall: It sends a UDP packet to 1.1.1.1 port 1414. This is discarded by Alice's firewall, but Bob's firewall doesn't know that. It now thinks that anything which comes from 1.1.1.1 port 1414 and is addressed to Bob's IP address 2.2.2.2 and port 2828 is legitimate it must be the response to the query which has just been sent.
Skype and firewalls
Hole punching Step 2: Bob tries to reach Alice, which punches a
hole through Bob's Firewall. Now the Skype server passes Bob's coordinates on to Alice,
whose Skype application attempts to contact Bob at 2.2.2.2:2828. Bob's firewall sees the recognised sender address and passes the apparent response on to Bob's PC and his Skype phone rings.
Skype and firewalls
Call established Step 3: Alice finally reaches Bobs computer
through the hole.
Skype and firewalls
What if NAT rewrites ports as well ? If a firewall simply assigns ports in sequence, e.g. first connection
is assigned 30001, the next 30002, etc. The Skype server knows that Bob is talking to it from port 31234, but the connection to Alice will run via a different port. But even here Skype is able to outwit the firewall. It simply runs through the ports above 31234 in sequence, hoping at some point to stumble on the right one. But if this doesn't work first go, Skype doesn't give up. Bob's Skype opens a new connection to the Skype server, the source port of which is then used for a further sequence of probes.
Skype and firewalls
If all else fails e.g. The NAT assigns ports at random
The skype server can be used as a relay.
Access Grid
As described on the Access Grid web site: "The Access Grid is the ensemble of resources that
can be used to support human interaction across the grid. It consists of: multimedia display, presentation and interaction
environments,
interfaces to grid middleware, interfaces to visualization environments
Access Grid
The Access Grid supports largescale distributed meetings, collaborative work sessions, seminars, lectures, tutorials and training.
The Access Grid design point is grouptogroup communication (thus differentiating it from desktop to desktop based tools that are focused on individual communication).
The Access Grid includes the notion of a "persistent" video conferencing venue, a conferencing site operating continuously and accessible to a wide audience of users on an ad hoc basis.
Basic Functionality
An Access Grid "node" is generally a small conference room or auditorium, with the equipment to participate in a multipoint video conference. Basic functionality is: Audio encoding using one or more microphones Video encoding or "capture" using one or more cameras Audio presentation using one or more speakers Video display via one or more computer monitors and/or video
projection techniques Display of PowerPoint "slides" under the control of a presenter
located either onsite or at a remote site.
Functionality
To achieve this functionality the Access Grid model relies upon the ability to send and receive Internet Multicast traffic to and from all conference nodes.
The Access Grid is based on software (vic and rat) developed as part of the Internet Multicast backbone, or MBONE, which provided multicast services over the unicast Internet backbone (using "tunnels", or "bridges", between multicast nexus sites).
Software components
The Access Grid model revolves around two pieces of software: Vic
the video conferencing tool
Rat the robust audio tool.
and involves several other applications Distributed PowerPoint , a jabber server, a Multicast Beacon
and a Virtual Venue
Video Conference (vic)
Vic was developed by Steve McCanne and Van Jacobson at the Lawrence Berkeley Labs. It is intended to link multiple sites with multiple simultaneous video streams over a multicast infrastructure.
Vic can perform 2 basic functions: take data from video capture cards in the PC to which cameras (or
other video devices) are attached and send it over the network. receive data from the network and display it on a video monitor or
on some other attached video device such as a video projector.
VIC
Note that vic may be run in such a way that it only receives video transmissions or only sends transmissions; it is not required to do both at the same time.
For more information about vic see: http://wwwmice.cs.ucl.ac.uk/multimedia/software/vic
Robust Audio Tool (Rat)
rat is a recent version of the Visual Audio Tool, also developed by Steve McCanne and Van Jacobson at the Lawrence Berkely Labs. rat allows multiple users to engage in a audio conference over the Internet in multicast mode. rat can perform 2 basic functions: take data from the sound card in the PC to which microphones,
headphones, or some other audio devices are attached and send it over the network.
receive data from the network and send it to speakers, headphones, or other attached sound processing device, such as a tape recorder, etc.
RAT
rat displays a list of connected participants and identifies who is speaking and who is listening at any given time.
For more information about rat see http://wwwmice.cs.ucl.ac.uk/multimedia/software/rat
and the Access Grid web site.
The Distributed PowerPoint software The Argonne Distributed PowerPoint software allows a single
presenter at one node to control PowerPoint applications running on computer systems located at other Access Grid nodes.
For example, a conference speaker can run PowerPoint along with the Distributed PowerPoint master software on her laptop computer at the podium of one of the AG sites. When the speaker changes slides, the master will notify the DPPT server, which will notify DPPT clients running on systems at other nodes which will, in turn, direct their local PowerPoint programs to change slides.
The Virtual Venue software
Coordinating multiple group conferences can be complicated. Argonne has developed a collection of web pages and Java applications that can simplify the process.
The Virtual Venue is basically a webpage that lets users select a "conference" to attend. In this context a "conference" is composed of a vic multicast address, a rat multicast address, and a jabber chat room.
Lecture SummaryIn this lecture we have: Looked at several collaboration technologies.
End of Lecture