<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title></title>
</head>
<body>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
          Hi Stephen:<br>
 <br>
 Sorry it took me longer than expected to respond. &nbsp;We've been entrenched 
in AG2 development, and this topic needed some thought before I could respond. 
&nbsp;See the responses to your questions below.<br>
 <br>
 As for developing the QuickBridge service, you could start by looking at 
the services that exist in the repository, e.g. AudioService and VideoProducerService. 
&nbsp;These examples do most of their work by overriding the Start method to actually 
start rat/vic. &nbsp;In the case of the QuickBridge service, the Start method would
probably just set the "started" flag. &nbsp;The bulk of the work would be done
in a method "Bridge", which would accept a list of multicast addresses/ports, 
allocate a port and start a bridge for each one, and return a list of (unicast) 
addresses/ports. &nbsp;The pids of the quickbridge processes need to be stored, 
so the Stop method can kill them.<br>
 <br>
 This should give you a basic impression of how the quickbridge service will 
look. &nbsp;There are other issues that will have to be dealt with, like what to
do with bridged users when the user running the bridge leaves the venue, but
we can talk about that later. &nbsp;Meanwhile, let me know if you have questions.<br>
 <br>
 Tom<br>
 <br>
 <br>
 S.Booth wrote:<br>
 
<blockquote type="cite"
 cite="midPine.SOL.4.21.0301130935510.1200-100000@celestine.epcc.ed.ac.uk"> 
  
  <pre wrap="">OK I think I'm prepared to take on ownership of this. 
I have had a quick look at the CVS repository. There does not seem to be a
bridging service there just yet but I get the basic idea from looking at
the others. 

There are a number of things I want to do with the QB code and I'm
keen that we end up with something that does what AG2.0 wants.
I guess the rest of this email is really qestions for Tom.

Who is authorised to request that an AG node starts a bridge and who
is authorised to use that bridge once it is started?
How integrated will the bridge service be with the web interface.</pre>
 </blockquote>
 Nodes will maintain a list of administrators and an access policy. &nbsp;Administrators 
can control who has access to the bridge service through the access policy. 
&nbsp;Node operators can grant access to users in the venue.<br>
 <br>
 The authorization model for AG2 is still in development. &nbsp;The alpha will 
support very limited access control and, therefore, might be disabled by default.
&nbsp;This means that users in the venue would have access to the bridge service.<br>
 <br>
 
<blockquote type="cite"
 cite="midPine.SOL.4.21.0301130935510.1200-100000@celestine.epcc.ed.ac.uk"> 
  
  <pre wrap="">At the moment QB detects unicast clients by detecting the RTCP control
packets from vic/rat and sends a unicast data-stream to each IP
address it has seen packets from. Would it be better to have the AG
service manage the list of clients.</pre>
 </blockquote>
 If access to the bridge is controlled by the AG software, we may not need 
to manage a list of clients of the quickbridge service. &nbsp;<br>
 
<blockquote type="cite"
 cite="midPine.SOL.4.21.0301130935510.1200-100000@celestine.epcc.ed.ac.uk"> 
  
  <pre wrap="">Do we want to have Send-only(cameras) Recv-only(Display) and
Send-recv(audio) forwarding. This would save bandwidth and is fairly
easy to do especially if the AG service is managing the client-list or
I could have seperate unicast ports for the different modes of operation.</pre>
 </blockquote>
 For now, integrating the current QuickBridge functionality into the AccessGrid 
will be a big win. &nbsp;<br>
 <br>
 There are probably improvements that could be made in bridging. &nbsp;Ivan has 
been looking at UMTP (e.g., live.com), thinking this might be a good direction 
to head in the future. &nbsp;We should look at these for beyond AG2.0. &nbsp;<br>
 
<blockquote type="cite"
 cite="midPine.SOL.4.21.0301130935510.1200-100000@celestine.epcc.ed.ac.uk"> 
  
  <pre wrap="">Do we want the option to use a single bridge to forward both the video
and audio streams (I think this would perform better than trying to
run 2 QB processes on a single CPU).</pre>
 </blockquote>
 Might be better in the long run, but we could start by just wrapping the 
existing QuickBridge functionality as an AG node service.<br>
 
<blockquote type="cite"
 cite="midPine.SOL.4.21.0301130935510.1200-100000@celestine.epcc.ed.ac.uk"> 
  
  <pre wrap="">Do you want to support decryption/re-encryption in the bridge. </pre>
 </blockquote>
 I don't see that this functionality would be required, so we probably don't 
need to deal with it now. &nbsp;In what circumstances do you think this would be
useful?<br>
 
<blockquote type="cite"
 cite="midPine.SOL.4.21.0301130935510.1200-100000@celestine.epcc.ed.ac.uk"> 
  
  <pre wrap="">Do we want bandwidth limitation in the bridge.</pre>
 </blockquote>
 Eventually, I think we would. <br>
 <br>
 <br>
 <br>
 
</body>
</html>