OMII-UK Commissioned Software Project Proposal

 

Project Title

Access Grid Video and Audio Tools Support – AVATS

Proposal Number & Version

Provided by OMII-UK

Name of lead proposer

Peter Kirstein

Summary

AVATS proposes support for enhanced stability and longevity of VIC and RAT, the media tools that underpin Access Grid (AG) and Portal Access Grid (PAG). AVATS will provide baseline support for VIC and RAT, enabling them to remain compatible with new developments in the tools’ operating environments; support and maintain web-based development systems established under the SUMOVER project; coordinate worthwhile developmental contributions by others in the form of integration and testing work; conduct stability enhancements to increase the tools’ robustness; enhance documentation for the tools; establish closer ties with the Access Grid Support Centre (AGSC) to ensure that user needs are adequately represented and that this activity is aligned with other related developments; and explore avenues for longer-term sustainability of these activities.

 

Because VIC and RAT underpin not only the globally deployed AG Toolkit but also OMII-UK’s PAG software, many of the benefits of this project to the user community are intimately intertwined with the benefits offered by PAG. PAG is making the AG more usable and accessible to a wider range of desktop users through significant simplification of the installation process and an increase in usability of the AG in a number of potentially dramatic ways. Therefore, the usage of the AG through PAG, particularly by desktop users, is likely to increase greatly, and PAG’s success is dependent upon a sufficient level of support for VIC and RAT, which this proposal offers to provide.

Address of lead proposer

Peter Kirstein <P.Kirstein@cs.ucl.ac.uk>
Computer Science Department
University College London
Gower Street
London WC1E 6BT

Names and affiliations of all collaborators

Peter Kirstein <P.Kirstein@cs.ucl.ac.uk>, Piers O'Hanlon <P.OHanlon@cs.ucl.ac.uk> (University College London),
Javier Gomez Alonso  (University of Manchester)

Start Date

1st January 2008

Duration

12 Months

 

 

 

 

The Case for Support

Description of the work

VIC and RAT are applications that support the sharing of video and audio respectively over the internet between multiple participants. The tools are most widely used as part of the globally deployed Access Grid (AG) but they are not, strictly speaking, actually part of the AG, although most users are probably unaware of this distinction. RAT was developed at UCL in 1995 and has continued its development through various research projects. VIC was originally developed at the Lawrence Berkeley National Laboratory in the early 1990s and was subsequently maintained and developed from the mid-1990s at University College London (UCL). Integral to both tools is the UCL common multimedia library that implements the various network protocols and utility functions required by the tools, whose development has continued inline with the tools. When Argonne National Laboratory (ANL) invented the AG in 1997, they took on informal unfunded minimal support and development of the tools. Many other individuals and groups around the world have contributed various one-off developments to VIC and RAT.

In 2005, the JISC Committee for the Support of Research (JCSR) funded the SUMOVER project at UCL, the remit of which was to: setup and maintain source code management tools; create a common code base from the many various versions, fixes and changes that existed; support and provide bug fixes for the tools; organise workshops to provide coordinated direction for development with major stakeholders; conduct a small number of focused development projects; and conduct certain small research projects surrounding the tools. This project is due to end in November 2007.

There continues to be growth in the use of AG by research and teaching groups across the UK and this is set to increase still further when the new OMII-UK funded Portal Access Grid (PAG) project releases their software. It is therefore essential for the tools to continue to be maintained at some minimal level beyond the lifetime of SUMOVER. AVATS seeks funding to continue such baseline support at UCL for 12 months until long-term sustainability can be secured. Key maintenance includes such things as updates necessary for operation on Windows Vista and Mac OSX Leopard.

 

Contribution to OMII-UK roadmap

This proposal seeks to enable the wider adoption of e-Science based collaborative tools such as the AccessGrid - both internationally and especially within the UK e-Science community. The project aims to achieve this by providing for enhanced stability and continued operation of the media tools on the latest platforms, whilst enabling the inclusion of work from other projects. The proposal is aimed at OMII’s support mission in providing confidence in adopting e-Science solutions through software support.

The project aims to broaden deployment by leveraging the ease of use embodied by the PAG project. The PAG enabled users to access AG sessions without the need for complex software installation and provides for seamless access over a variety of access technologies. The media tools also see continued wide deployment globally through the standard AG ToolKit.

The project will ensure that OMII-UK is appropriately credited as funding and supporting the continued work of the media tools. OMII-UK will be included prominently on the main web pages of the project and all publicity literature.

 

User community & benefits

This proposal has letters of support from the PAG project, the Access Grid Support Centre (AGSC) and an AHRC-funded project e-Dance that is developing VIC and RAT as part of research to advance the field of choreographic process.

The AG community has over 20,000 users across 56 countries worldwide.  In the UK, the AGSC has over 100 registered room-based nodes, and over 200 additional users registered with desktop-based AG nodes. However, the number of users of VIC and RAT through the AG toolkit is likely to exceed this number as users are not obliged to register with the AGSC to use its servers.

Because VIC and RAT underpin the PAG software, many of the benefits of this project to the user community are intimately intertwined with those of PAG. Support for this proposal is essential for PAG to deliver its potential in the medium term. PAG is making the AG more usable and accessible to a wider range of desktop users through significant simplification of the installation process and an increase in usability of the AG in a number of potentially dramatic ways (e.g. removing the need for the user to make the choice between multicast and unicast). Therefore, the usage of the AG through PAG, particularly by desktop users, is likely to increase greatly, and PAG’s success is dependent upon a sufficient level of baseline support for VIC and RAT.

AVATS will also enable developments to VIC and RAT by other research projects to be made generally available. Such projects include the AHRC-funded e-Dance project, led by the University of Bedfordshire, which is in part looking at the use and customisation of the AG toolset in the performing arts. Outputs from e-Dance include several enhancements to VIC that, if integrated into the common code base of VIC by this proposed project, are likely to improve the experience of the AG for all users.

 

Description of the test applications/scenarios from the user community

A researcher uses PAG for regular weekly meetings of a collaborative project between four institutions spread across the UK. Her University has recently begun support of Microsoft Windows Vista, so she upgrades her laptop computer to take advantage of the new operating system’s features. Because AVATS has upgraded VIC and RAT to work under Windows Vista, the tools continue to work with the video and audio libraries contained within the new operating system and she can continue her meetings.

A project in China makes substantial developments to RAT to provide new audio features that have the potential to benefit ordinary users. AVATS integrates these developments into the common code base, tests them and releases them to the entire AG user community via PAG and the ANL AG toolkit.

Scope of the work that will be undertaken in this proposal

The AVATS project plans to carry out the following:

·         Provide baseline support for VIC and RAT, which will enable them to remain compatible with new developments in the tools’ operating environments. This includes support for changes to multimedia libraries in new operating systems, upon which the tools rely. For example RAT will require development of new audio support for use under Microsoft Vista (the successor to Windows XP) as it does not currently work with Vista, additionally with the imminent release of Mac OSX Leopard additional testing and potential development may also be required to enable continued operation of the tools on Macs.

·         Support and maintain web-based development systems that were established under SUMOVER. These systems consist of the source code repository and the web-based issue tracking systems with associated documentation

·         Coordinate worthwhile developmental contributions by external projects from the global community in the form of integration and testing work

·         Conduct stability enhancements to increase the tools’ robustness. This will include the establishment of automated testing systems

·         Enhance documentation for the tools and associated information to enable external contributors to easily provide input.

·         Provide for interoperation with inSORS (now called IOCOM) IG2 to maintain compatibility for the eScience community (approximately half of the AGSC registered sites use IG2). This work builds on work done by the SUMOVER project to add H.264 codec to VIC for high quality video. This work would not require development of new features but modification to existing functionality to achieve interoperability. Whilst we have established collaborative links with inSORS this work is dependent upon appropriate input from inSORS.

·         Maintain close ties with the AGSC to ensure that project outputs are effectively disseminated and included in related developments such as PAG and to ensure that user needs are adequately represented

·         Explore avenues for longer-term sustainability of these activities, perhaps under the auspices of the AGSC.

AVATS will not itself undertake major developments of new features for the tools; its role is one of maintenance to ensure that they continue to work for users of the AG (including PAG).

The work undertaken by this proposal is best done with one Full-Time Equivalent (FTE) person as the scope of the work is sufficiently wide that, in our experience of having run the SUMOVER project, it should require the dedicated effort of a full time person. Whilst the SUMOVER utilised 1.5 FTE over 2 years the estimated workload for AVATS should be 1FTE over 12 months (because of the reduced scope of work of AVATS compared to SUMOVER), with 0.05 FTE at AGSC providing for liaison activities and work on sustainability.

The work in AVATS has been broken down into workpackages and tasks in the ‘Detailed work plan’ section below. Briefly summarising, the work of providing the baseline support will require an ongoing effort of analysis and some development, whilst the enhancement of the testing systems and documentation for continued stable operation of the tools is essential for sustainable progression. The work of liaising with the AGSC and external parties will also entail a good proportion of the work and form an important component of the tool’s future sustainability. The 0.05 FTE for Manchester University is required over and above the 1 FTE for work on sustainability and ensuring that user issues are fully represented. This work will be conducted by the AGSC.

Contribution to the user community

The most significant contribution AVATS will make is to enable the AG to continue to work on the current and new operating environments, and take advantage of exciting new developments, such as those offered by PAG. Work to support VIC and RAT is similar to work to support any infrastructure, in that the work is often not noticed unless it is absent or goes wrong.

The project will also ensure that the tools can be taken forward after the project by enhancement of support systems for users and external developers enabling them to easily continue to contribute. The sustainability plan will lay out the suggested future directions in reference to the user community.

The testing process

The project plans to enhance the testing systems for the tools to ensure that the tools are more reliable, and so that problems may be discovered and fixed earlier. Such systems will be largely drawn from existing projects. This includes the deployment of:

·         Enhancement of unit tests and deployment of regression testing of the tools and code base

·         Automated regular compile and test system (such as performed by Mozilla’s BuildBot)

·         User led tests in conjunction with AGSC on User Interface and visual elements

·         A specified set of guidelines will be developed for testing and evaluation of the tools before releases.

The testing infrastructure will require to operate for the three supported platforms; Windows, Linux and Mac OSX. To facilitate the automated testing it is suggested that an iMac is purchased using project hardware budget. The reason for using an iMac is firstly that it contains all the Audio and Video (iSight) hardware is built-in, and secondly that the OSX operating system is not readily run on non-Apple hardware, nor in a virtual machine. However, an OSX machine can provide for all three platforms by running both Linux and Window within a virtual machine (e.g. Parallels or VMware Fusion). This approach has been used by another UCL run project – the XORP router project - whose expertise we can draw upon.

The existing test infrastructure includes some unit tests for parts of RAT and UCL common library (which provides for common functionality for RAT and VIC). There are also tests in some of the VIC codecs. These existing tests need updating and integrating together into an automated test suite.

Support arrangements for completed software

Support is the very essence of AVATS – it will continue support for tools that are widely used by research and teaching groups across the UK and globally. Sustainability of this activity requires investigations into appropriate mechanisms, management and funding. One of the key deliverables of AVATS is a sustainability plan to outline a strategy for securing funding for its longer-term future. This is likely to recommend a closer relationship to the management and funding of the AGSC.

By the end of the project it is expected that the tools will be fully updated for use on the current operating systems, with any externally generated enhancements integrated and tested. An automatic test suite, developed by AVATS, will test the core functionality of the tools on all three supported platforms. The tools’ interoperation with AG, and particularly PAG, will undergo integration testing. The core documentation will have been expanded to make it as easy as possible for external developers to be informed about how best they can continue to contribute to the tools.

Detailed work plan

Work on AVATS will consist of activity in three main workpackages:

1. Project management: The project management activity will include the regular advisory board meetings with stakeholders (e.g. AGSC and ANL) to provide clear direction to the project. Another important task will include the development and implementation of the sustainability plan (D1) and related activities. The final report (D2) will include full details of the developments across all workpackages and will provide a critical overview of the projects’ progress.

                Deliverables:        D1: Sustainability plan
                                                D2
: Final report

2. Tools maintenance: This workpackage will provide for baseline support of VIC and RAT, ensuring compatibility with new developments in the tools’ operating environments. This workpackage would also include work on compatibility for inSORS/IOCOM interoperation. This workpackage will also handle the regular releases of the tools and associated procedures. Additionally this workpackage will include integration and testing work of external developmental contributions.

                Milestones:           M1-M4: Software releases

3. Tools infrastructure: The work on the tools’ infrastructure includes the maintenance and support of the existing code management systems (i.e. source code repository and the web-based problem tracking system) deployed by the SUMOVER project. This workpackage will also be involved in working on stability enhancements including the setting up of automated testing environments for the tools. The work will also include enhancement of the documentation on the tools, including details on their usage, and for developers their APIs.

Support work will be mainly reactive, according to changes in the tools’ operating environment and issues raised through the problem tracking system by users, user representatives (such as the AGSC) and related development groups (such as PAG developers).

 

Deliverable/Activity

Month

1

2

3

4

5

6

7

8

9

10

11

12

1. Project management

 

1.1 Advisory board meetings

 

 

 

 

 

 

 

 

 

 

 

 

1.2 Sustainability plan

 

 

 

 

 

D1

 

 

 

 

 

 

1.3 Sustainability activity

 

 

 

 

 

 

 

 

 

 

 

 

1.4 Final report

 

 

 

 

 

 

 

 

 

 

 

D2

2. Tools maintenance

 

2.1 Software releases

 

 

M1

 

 

M2

 

 

M3

 

 

M4

2.2 Baseline support

 

 

 

 

 

 

 

 

 

 

 

 

2.3 Integration support

 

 

 

 

 

 

 

 

 

 

 

 

3. Tools infrastructure

 

3.1 Automated regression tests

 

 

 

 

 

 

 

 

 

 

 

 

3.2 Source management maintenance

 

 

 

 

 

 

 

 

 

 

 

 

2.3 Documentation

 

 

 

 

 

 

 

 

 

 

 

 

Figure 1 - Work plan, showing the timing of deliverables(D), activities and milestones (M)

Development environment & standards

The source code management systems deployed by the SUMOVER project will be used to provide access to and maintenance of the code base. Specifically the Subversion revision control system will be used in conjunction with the Trac issue tracking system and management platform.

The cross platform nature of the tools necessitates two main host based development environments; On the Windows platform the tools are developed within Microsoft Visual Studio environment. On Linux and Mac OSX the standard UNIX build tools are employed – including configure for configuration, make to build the binaries, and gcc to actually compile the source code.

The media tools themselves implement a number of Internet Engineering Task Force (IETF) standards, and have also contributed to the development of some of these RFCs. The IETF standards implemented include those from the Audio/Video Transport (AVT) Working Group:

  • RFC3550   RTP: A Transport Protocol for Real-Time Applications
  • RFC3551   RTP Profile for Audio and Video Conferences with Minimal Control
  • RFC2198   RTP Payload for Redundant Audio Data
  • RFC2429   RTP Payload Format for the 1998 Version of ITU-T Rec. H.263 Video(H.263+)
  • RFC2035   RTP Payload Format for JPEG-compressed Video
  • RFC2032   RTP Payload Format for H.261 Video Streams
  • RFC3984   RTP Payload Format for H.264 Video
  • RFC3640   RTP Payload Format for Transport of MPEG-4 Elementary Streams

 

Those from the Multiparty Multimedia Session Control (MMUSIC) Working Group:

  • RFC2327   SDP: Session Description Protocol
  • RFC3259   MBUS: A Message Bus for Local Coordination

 

Risks and dependencies

Risk

Probability     (1-5)

Severity
(1-5)

Score
(PxS)

Action to Prevent/Manage Risk

Staffing

3

2

6

The code base is made easily available to external developers through the web-based code management systems. Enhanced documentation of the code and its operation enable other staff to adopt the development of the code.

Organisational

1

2

2

The main collaborators are spread over a two other organisations, with other contribotors spread globally.

Technical

3

2

6

The systems use widely used systems for deployment and development of the tools, though the code base is complex

Legal

1

3

3

The code utilised in the tools is covered under the BSD style license, however there are some sections (which may be optionally included) covered by the GPL liense which could present issues for certain organisations. Addionally certain codecs have some potential intellectual property isssues, though these are less likely to affect open source software.

 

 

 

 

 

 

 

 

 

 

 

Named researchers and project management

The project will be directed by Professor Peter Kirstein, whose job it will be to steer high level objectives and manage the overall workflow. The project will be managed by Piers O’Hanlon, based at the University College London. The Project Manager is to provide direction for the project and monitor progress of project activities. He will also perform the bulk of the work on project deliverables and actions.

The primary point of contact with the AGSC and associated user community will be Javier Gomez Alonso from University of Manchester. He will assist in the various activities which involve the AGSC’s participation such as representation of the UK AG user community and work on sustainability.

We propose to form an advisory board to assist in the direction of the project and its sustainability and dissemination. This would meet monthly and be comprised of a representative from OMII-UK, AGSC, ANL, and UCL. Furthermore the project will work with OMII-UK on consenting and prioritising any relevant tasks.

Professor Peter Kirstein has extensive management and technical experience on many different projects over the years. Piers O’Hanlon managed the SUMOVER project and has had other management experience on other projects Piers O’Hanlon has a long history of working on the media tools under a number of projects in the past, and has a detailed understanding of their design and operation.  Javier Gomez Alonso is the deputy team leader of the Collaborative Working Developments group in Research Computing Services at the University of Manchester. His main roles are Operational Manager for the Access Grid Support Centre and Project Manager of RACE.

Software licensing arrangements and issues

There are a number of different contributors to the tools. Some of the contributors hold copyright on certain files, whilst other files have slightly differing licenses, all of which allow for distribution and use of the software. However the bulk of the code is covered by a 4-clause BSD style licence.

Specifically the licenses in use are mainly a 4-clause BSD style licence from University College London for RAT and the Common multimedia library. The network name to address conversion functions use an open license from the Internet Software Consortium. One codec in RAT, specifically the WB-ADPCM codec, is licensed by British Telecommunications Plc with permission granted to use in for non-commercial research and development projects – however it is possible to exclude that codec as required.

VIC is mainly covered by a 4-clause BSD licence from the Regents of the University of California. Other source files are under a 3-clause-BSD licence from external institutions including Stichting Mathematisch Centrum, Amsterdam, Sun Microsystems Inc, Xerox Corporation, Apple Computer Inc, University of British Columbia, and WIDE Project. Other files are under the 4-clause-BSD license from Argonne National Laboratory/University of Chicago. Additionally VIC also uses some optional LGPL and GPL code from external libraries for support of H.264 and MPEG4 codecs – the code may be included, or not, at configuration time.

In addition to the license holders above there are minor sections of the code covered by other copyright holders including; Bell Communications Research, RSA Data Security, Inc. Nortel Networks, University of Sydney, Technische Universitaet Berlin, British Telecommunications Plc, Brook Milligan, Intel Corporation, HEWLETT-PACKARD COMPANY, Luigi Rizzo, University of Sydney Vislab, Software Research Associates, Inc, Telenor Research and Development.