The Bonjour-aware Access Grid Venue Server (also known as the the Rendezvous-aware Access Grid Server - BAGServer is just too good an acronym) is a project to develop a high-availability Access Grid Venue server utilizing Apple's Bonjour (formerly known as as Rendezvous) technology.
Table Of Contents TableOfContents
People
Supervisor:
- Steve Smith
Developer:
- Ashnil Kumar
Description
The work will modify the current Access Grid Venue server software to utilize multiple Mac-based server machines dynamically discovered by the Bonjour technology in order to maintain the performance and quality of service.
Database
Venue session information has to be shared between Venue-servers via a common backend datatbase. Implementation has to be pluggable although the development system should use PostgreSQL or MySQL.
For more information see /BagDatabase .
See here for /DatabaseAg3Updates .
Server Setup
These sections cover things about getting a Mac OS X Server on a G5 XServe set up.
["Remote UNIX Install of MacOS X Server 10.3 on XServe G5"]: Basic server setup
/PostGreSqlInstall : PostGreSQL will be used to create the backend database
/PyGreSqlInstall : PyGreSQL will be used to utilize the PostGreSQL database
/InstallOsxVnc : OSXVnc runs a VNC server allowing VNC clients to connect to it
/InstallingAccessGridToolkit : To help get the BAGServer up, we need the AccessGrid
AccessGrid Modifications
This section will cover the changes that will have to be made to the existing AccessGrid code. This will cover:
- Changing from a flat-file system to a relational database
- Adding Bonjour support
Scratch Pad
This section will contain my notes in any random jumbled order. View at your own risk!
Reminders
This section contains reminders to myself about things which I am likely to forget. What can I say: I'm getting old.
Student Project Possibilities
BAGServer is at the moment incomplete, lacking proper Bonjour integration, use of databases with different names, and also without more efficient SQL usage. It would make an ideal Student Project to complete the various things that still need to be done.
Documents
Miscellaneous documentation for the project can be found here.
Blog
Further information about what is currently going on with the project can be found on the ViSLAB blog.
[http://blogs.vislab.usyd.edu.au/index.php/Ashnil The blog!]
Links
Bonjour
[http://www.apple.com/macosx/features/bonjour/ General]: MacOSX Description of Bonjour
[http://images.apple.com/macosx/pdf/MacOSX_Bonjour_TB.pdf Technical Brief]: Apple's Technical Brief on Bonjour
[http://developer.apple.com/darwin/projects/bonjour/ Developer Page]: Apple's developer page for Bonjour
[http://developer.apple.com/documentation/Networking/Bonjour-date.html#doclist API Reference List]: Apple's developer API references for Bonjour
[http://developer.apple.com/documentation/Networking/Reference/DNSServiceDiscovery_CRef/dns_sd/index.html DNSServiceDiscovery C reference]
[http://developer.apple.com/samplecode/Networking/idxBonjour-date.html#doclist Sample Code]
[http://developer.apple.com/networking/bonjour/index.html Networking Page]: Contains code, documentation etc.
Zeroconf
[http://www.zeroconf.org Main]: Zero Configuration Networking main page
[http://en.wikipedia.org/wiki/ZeroConf Wikipedia]: Wikipedia page on Zeroconf
Access Grid
[http://www.accessgrid.org Access Grid Home]
[http://www-unix.mcs.anl.gov/fl/research/accessgrid/bonjour-py/bonjour-py.html Python Bonjour Interface]
[http://www-unix.mcs.anl.gov/fl/research/accessgrid/documentation/VirtualVenuesArchitectureDRAFT.doc Access Grid Virtual Venues Architecture]
[http://www-unix.mcs.anl.gov/fl/research/accessgrid/documentation/VirtualVenuesDesignDRAFT.doc Virtual Venues Design]: includes information on the Venue server design
[http://fl-cvs.mcs.anl.gov/viewcvs/viewcvs.cgi/*checkout*/AccessGrid/doc/AG-Mac-Build-HOWTO.rtf?rev=1.2.2.4&only_with_tag=r_2_3_final Build Instructions]: how to build the AG from source
[http://www-unix.mcs.anl.gov/fl/research/accessgrid/documentation/VENUE_MANAGEMENT_MANUAL_HTML/VenueManagementManual.htm Access Grid Manual]
Python Resources
[http://www.python.org/ Python Home]: Because I tend to forget where this is
[http://pyunit.sourceforge.net/pyunit.html PyUnit]: unittest module help page
Postgresql Resoucres
[http://www.postgresql.org/ PostgreSQL Home]
[http://www.postgresql.org/docs/8.1/interactive/tutorial.html PostgreSQL Tutorial]
PyGreSQL
[http://www.pygresql.org/ PyGreSQL Home]: PyGreSQL is a module to allow Python program useage of PostgreSQL.
[http://www.pygresql.org/pg.html pg Module]: The classic PyGreSQL interface.
[http://www.lishawebconcepts.com/tutorials.python.pygresql.php A helpful PyGreSQL tutorial]
PHP and PostgreSQL Tutorial
Mac OS X Server
[http://www.apple.com/server/macosx/ Offical Apple Page]
[http://www.apple.com/server/documentation/ Apple Documentation] - to access v. 10.3 documentation remove not replace the _v10.4 in the document name.
[http://www.nathanielcross.com/ Nathaniel Cross's Tips]
Other Links
[http://www.pythonmac.org/wiki/PackageManager pimp.py]: Usage explanation of the command-line package manager.
[http://www.redstonesoftware.com/vnc.html OSXVnc]: A VNC Server for Mac OS X.
ViSLAB