avc: the access grid venue customizer
DESCRIPTION
AVC: The Access Grid Venue Customizer. A joint R&D project by NRC, SFU/Westgrid, CRC. Andrew Patrick, NRC Canada Brian Corrie, SFU/Westgrid. Outline. Why build a venue customizer? How we built AVC Issues and next steps Optional : How to run AVC (tutorial). Quality of Experience (QoE). - PowerPoint PPT PresentationTRANSCRIPT
AVC: The Access Grid Venue Customizer
A joint R&D project by NRC, SFU/Westgrid, CRC
Andrew Patrick, NRC Canada
Brian Corrie, SFU/Westgrid
2
OutlineOutline
• Why build a venue customizer?
• How we built AVC
• Issues and next steps
• Optional: How to run AVC (tutorial)
3
Quality of Experience (QoE)Quality of Experience (QoE)
• Quality of Experience– Measure of human experience, not technology
• Making it work– Task: What is the user trying to do?– Need: What is needed to accomplish the task?– Services: What services meet the needs?
4
Bringing QoE to Collaborative EnvironmentsBringing QoE to Collaborative Environments
• Information about the research behind AVC can be found in the following papers:
– Corrie, B., Wong, H., Zimmerman, T., Marsh, S., Patrick, A.S., Singer, J., Emond, B., & Noël, S. (2003). Towards quality of experience in advanced collaborative environments. Paper presented at the Third Annual Workshop on Advanced Collaborative Environments, June 22, Seattle. (NRC 46521)
– Patrick, A.S., Singer, J., Corrie, B., Noël, S., El Khatib, K., Emond, B., Zimmerman, T., & Marsh, S. (2004). A QoE Sensitive Architecture for Advanced Collaborative Environments. Paper presented at the First International Conference on Quality of Service in Heterogeneous Wired/Wireless Networks (QSHINE 2004), Oct. 18-20, Dallas, TX.
5
Quality of Experience and Access GridQuality of Experience and Access Grid
• Identifying tasks and needs– What is the user trying to accomplish?
• Create task-specific AG venues– Populate venue with services that meet needs– Services are ranked based on importance to task
• Deploying task specific AG services– Configure node services appropriate to the task– Start/stop/configure node services “auto-
magically”
6
AG Venue Customizer (AVC)The AVC Process
AG Venue Customizer (AVC)The AVC Process
Add Shared App
AVC ManagerChoose taskChoose bandwidth
Store Task and Services
VideoService
AudioService
VisService
Change Task
VideoService
AudioService
VisService
AVC User Download taskConfigure services
7
AVC FeaturesAVC Features
• Set of common tasks provided– Services configured based on CSCW
research
• User customizable tasks available– Users can add their own tasks
• Controls node services through venue client– Works on multi-machine nodes
• Adapts services based on bandwidth– Adaptation sensitive to task
8
AVC EffectsAVC Effects
• control the launching and settings of AG node services
• currently controls audio service via RAT parameters– audio encoding (L16, PCM, DVI, GSM)– audio sampling rate ( 16 kHz, …)– silence suppression (off, …)– lecture mode (off, …)
• currently controls video service via VIC parameters– frame rate (24, …)– video size (normal, …)– video encoding (H.261, …)– bandwidth (64 – 4096)– max bandwidth (256 – 4096)– quantization quality (71 – 100)
9
AVC UsesAVC Uses
Typical uses for AVC are:
• configure an important business meeting for the highest possible audio and video quality when all participants have high bandwidth
• configure a distance education event where some students will have limited bandwidth to give relatively high priority to video (because of the visual materials being used in the lesson), and relatively low priority to audio
• scale a meeting to take into account the minimum bandwidth available to the participants (e.g., someone is connecting from home)
10
AVC in the AG ArchitectureAVC in the AG Architecture
AVCController
VenueClient
Venue Server
Venue
VenueClientUI
AGNodeService
AVC VideoService(s)
AVC AudioService(s)
AGService
interacts
responsesVenue DataStore
retrieves or saves matrixsettings
SOAP Proxy
Local DataStore
requests or saves matrixsettings
gets matrix settings
AVCGUI
sends requestdisplays
11
Inside AVCInside AVC
• “DefaultSettings.ini” file defines the starting point
• later, personal settings saved in “settings.ini” file (e.g., custom tasks, user properties)
• current venue settings are stored on the venue server (application data store)– definitions for settings come from “settings.ini” file
12
“The Matrix”“The Matrix”
• settings file contains “the matrix” – the heart of AVC
13
Service Parameter DefinitionsService Parameter Definitions
• definition for each quality level for each service
[auditory8]audiosilence = 0audiofrequency = 16Kstreamname = Quality 8audiolecture = 0audioprimary = L16
[visual6]maxbw = 1800update_note = 0 Quality 6framerate = 24videosize = normalbandwidth = 1024defaultformat = h261transmitonstartup = truequality = 81
Custom node services needed for more parameter control
14
AVC Class DiagramAVC Class Diagram
AVC
GUIApplication
ManagerFrame UserFrame
VenueDetailsDialog LocalDetailsDialog AboutDialog Version
QoEApplicationDescription
15
Developing AVCDeveloping AVC
• AVC.py – collection of utility methods– access venue client functions
• get client & server proxy
• start & stop services via proxies
• read venue data
• read/write local & remote files & data
– QoEApplicationDescription
• handle “the matrix”
• GUI code– initially built with Boa Constructor
16
Future WorkFuture Work
• implement control of other node/shared services– shared work spaces– presentation spaces– turn-taking support– decision support– privacy controls–meta-communications
• what do quality settings mean for these services?
17
TestingTesting
• concept testing– are customized venues better than default venues?– can users describe their tasks?– can we determine the needs for these tasks?– is the matrix correct?
• usability testing– installation– integration– ease-of-use
18
Issues and LimitationsIssues and Limitations
• need better media services– limited quality ranges– unstable with non-standard settings
• video other than h.261, normal size• audio sampling other than 16 kHz
• connects to first unicast bridge only
• Boa Constructor/wxPython compatibility issues
• task and service level definitions should be centrally stored on the data store and maintainable
• need an event mechanism when a manager changes a venue customization
• should return to AG service defaults when AVC quits (currently must re-start Venue Client)
19
Node Services/Shared AppsNode Services/Shared Apps
• Node Services vs. Shared Apps– Shared Apps
Venue controlled Can add features based on purpose, not based
on node Venue, not node based
Can’t start up shared apps on other machines in a node
– Node services Node, not machine based Node controlled, not venue controlled
Need a way to configure services from venue
20
The AVC TeamThe AVC Team
• At the National Research Council of Canada, Ottawa– Andrew Patrick– Kenneth Emig – Janice Singer – Bruno Emond – Khalil El Khatib – Stephen Marsh – Siraj Sabihuddin (student programmer) – Changhua Wu (student programmer)
• At Simon Fraser University, Vancouver – Brian Corrie – Todd Zimmerman
• At the Communications Research Center, Ottawa – Sylvie Noel
• For more information about AVC contact:
21
Backup: Usage TutorialBackup: Usage Tutorial
22
Installing AVCInstalling AVC
• AVC home page: http://iit130033.iit.nrc.ca/AVC/index.html
• installing the shared application:
• download AVC shared application (AVCv0.3.zip)
• unzip to a temporary folder
• install as usual: agpm –f AVC.app
23
AVC Node ServicesAVC Node Services
• download AVC Node Services (Windows and/or Linux)• unzip to temporary folder• copy service zip files to NodeServices location
– e.g., AVCAudioService.zip C:\Program Files\AGTk-2.3\NodeServices
• configure your node to use the services using the ServiceManager
24
Store an AVC ConfigurationStore an AVC Configuration
• can make AVC node services the default, or store a custom node configuration
25
Creating AVC SessionsCreating AVC Sessions
• Start an application session• or join an existing session
26
Launching the AVC Shared AppLaunching the AVC Shared App
• default is User Mode
• right-click to select Manager
Mode
27
AVC: Manager ModeAVC: Manager Mode
28
Choose A TaskChoose A Task
• select category and specific
task
29
Select Bandwidth ScalingSelect Bandwidth Scaling
• four bandwidth levels defined
• scaling retains task
characteristics (i.e., relative
priority of services)
30
Customizing TasksCustomizing Tasks
• select File -> Customize
• load existing task settings or
start from scratch
31
Saving New TasksSaving New Tasks
• give it a name and save it
• will appear under a “custom”
task category
32
Help InformationHelp Information
• Manager and User manuals
included in shared application
33
AVC: User ModeAVC: User Mode
• gives control over AG services
• can switch to Manager mode
34
View Venue SettingsView Venue Settings
• view the current settings
35
AVC User PropertiesAVC User Properties
• set preference for unicast or
multicast
• set personal information