Course Information for Distributed Systems CMT607 and CM0356/CM0456 - 2011

Course Material

This is the course webpage for modules CMT607 and CM0356 given by Andrew Harrison (email ).

All Modules

Lecture slides for all modules will be available from the day the lecture is given in both PDF and PowerPoint format. Select the relevant link in the menu for your module. The slides will also be available on Blackboard.

CMT607 also has a course pack associated with it. This is a collection of relevant papers and is available from the menu on the left. This course pack is also useful for students taking the CM0356/CM0456 courses.

You can also check out the tutorials page which is relevant to all modules. This has a link to a zip file containing Java code examples for some of the technologies covered in the lectures and a description of how to build and run the examples. The tutorials and zipped code also forms the basis of any lab assignments you receive.

NOTE: Lab assignments are not assessed for any modules. The tutorials and assignments are for you to gain a better understanding of certain technologies through a hands-on approach.

A link to the course book, From P2P and Grids to Services on the Web, is in the menu on the left. This is also available from the library. The book covers most of the material in the course in greater detail than the lectures.

CM0356/CM0456

An overview of the CM0356/CM0456 lectures will be available from the menu on the left on the first day we meet. Please check this overview periodically as small changes to weeks may be made if the lecturer's availability changes.

CM0456 Coursework

Module CM0456 has coursework as part of its assessment. You receive hard copies of this, including instructions and deadlines. Links on the menu will be available at this time.

CMT607 Coursework

Module CMT607 has coursework as part of its assessment. You receive hard copies of this, including instructions and deadlines, when we meet up. You will also be able to download PDF versions of the coursework (after the day it is set). Links on the menu will be available at this time.

Useful Links

The Web

The W3C, http://www.w3.org/ is the World Wide Web consortium, which is the foremost forum for information, commerce, communication and collective understanding for the Web-related technologies. The W3C develops interoperable technologies and releases specifications, guidelines, software and tools. For example, the W3C has developed the specifications for XML, SOAP and WSDL. It is the first stop on discovering standardized Internet technologies.

The W3C, http://www.w3.org/2002/ws/ is a starting point on the W3C Web site that lists Web service-related technologies on which W3C is currently working.

Architectural Styles and the Design of Network-based Software Architectures Fielding's Dissertation Chapter 5 describes Representational State Transfer.

HTTP, http://www.w3.org/Protocols/ W3C gateway to documents relating to the HTTP protocol.

Berners-Lee page at the W3C, http://www.w3.org/People/Berners-Lee/ provides links, biographies and some nice questions and answers.

W3C Semantic Web Activity http://www.w3.org/2001/sw/ is a gateway to various Semantic Web technologies.

Web Design Issues http://www.w3.org/DesignIssues/ A series of essays and thought by Tim Berners-Lee on the Web, the Semantic Web and general architectural and philosophical points. Some of these writings are now ten years old, but they still make insightful reading.

HTTP/1.1: Header Field Definitions http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html Quick link for HTTP headers.

HTTP/1.1: Status Code Definitions http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html Quick link for HTTP status codes.

Web 2.0

http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html. The concept of ``Web 2.0'' began with a conference brainstorming session between O'Reilly and MediaLive International. Dale Dougherty, Web pioneer and O'Reilly VP, noted that ``far from having crashed, the web was more important than ever, with exciting new applications and sites popping up with surprising regularity.'' This Tim O'Reilly on-line article is a good start to the Web 2.0 discussions and how the term was coined.

Microformats homepage http://microformats.org/ links to news, mailing lists and wiki.

Mashups and APIs, http://www.programmableweb.com/ is a great collection of the latest developments in the world of mashups and service APIs.

Atom Syndication Format http://tools.ietf.org/html/rfc4287 Atom from the horse's mouth. This is the Request for Comments.

Atom Publishing Protocol http://tools.ietf.org/html/rfc5023 This is the current state of the APP proposal.

Web Application Description Language https://wadl.dev.java.net/ This is the WADL project page.

Web Services

OASIS, http://www.oasis-open.org/ is a non-profit consortium, which attempts to drive the development and adoption of e-business standards. For example, it has developed specifications for ebXML and UDDI.

XML.com, http://www.xml.com/ provides various resources for XML including a section on Web Services.

WebServices.org, http://www.webservices.org/ is a portal for finding out about Web Services. It contains newsletters, introductions to Web services, news and numerous articles.

Web Services Architect, http://www.webservicesarchitect.com/ hosts a collection of articles and links for Web Services from both a business and a technical perspective.

Microsoft's Web Services Developer Center is a site dedicated to providing information to Web Service developers. It hosts many useful articles on the use of various Web Service technologies and lists the new Web service specifications.

IBM Developer Works for Web Services contains a number of technical articles and specifications about Web Services and related technologies. It also has a download section and learning resources.

WS-I, http://www.ws-i.org/ WS-I is an open, industry organization chartered to promote Web Services interoperability across platforms, operating systems, and programming languages.'' It works with industry and standards organizations to respond to customer needs.

XMethods, http://www.xmethods.com/ lists the publicly available Web Services. You can access the lists of Web Services by using their UDDI server, for example, to dynamically discover and connect to available resources.

Java Technology and Web Services, http://java.sun.com/webservices/index.jsp covers the various Java tools and packages that can support the development and deployment of Web Services.

Grid Computing

Open Grid Forum (OGF), http://www.ogf.org/ contains information about Grid-related events. The OGF is a forum of some 5000+ individual researchers and practitioners working on distributed computing or Grid technologies, and has a wide range of technical groups working on aspects of Grid technology and deployment.

GridForge, http://forge.gridforum.org/ is the working respository for OGF Working and Research Groups, housing the related documents through an open public comment process.

Globus: http://www.globus.org/ hosts the Globus middleware for Grid computing and all associated documentation.

GRIDSTART, http://www.gridstart.org/ contains information about the EU Framework 5 IST-funded Grid research projects. You can find links to CrossGrid, DAMIEN, DataGrid (EDG and EGEE), DataTAG, EGSO, EuroGrid, GRIA, GridLab and GRIP, along with a number of other projects that form the GRIDSTART cluster. The project's intention is to stimulate the widespread deployment of Grid technology by raising the awareness of potential users of the solutions already developed or being developed. They also organize IST Concertation Meetings on Grid Research, twice yearly, which host a number of plenary talks and European technical working groups.

UK e-Science, http://www.rcuk.ac.uk/escience/ Here you can find more information about the UK e-Science program.

National e-Science Center: http://www.nesc.ac.uk/ is a site containing links to a number of projects within the UK e-Science program.

GridCafe, http://gridcafe.web.cern.ch/gridcafe/ is a place to learn various aspects of Grid computing, from the name and the dream to a list of concrete projects around the world.

Grid Technology Repository (GTR), http://gtr.globus.org/ was set up as a place for people to publish and discover work related to Grid technology.

The Grid Computing, http://www.gridcomputing.com/ information center is designed to promote the development of technologies which provide seamless and scalable access to wide-area distributed resources.

Grid Today, http://www.gridtoday.com/ provides daily news and information for the Grid community.

The Grid Report, http://www.thegridreport.com/ is a collection of news items about distributed and Grid computing. It contains the latest news and information about Grid computing; it's run by software engineers and its focus is for software engineers.

Grid Computing Planet is one of many sites run by JupiterWeb, the on-line division of Jupitermedia, which is a leading global provider of information, images, research and events for information technology, business and creative professionals. The Grid Computing Planet is in the EarthWeb information section and provides numerous articles, news events and so on, for Grid computing.

P2P Tools and Software

P2P and XML in Business, http://www.xml.com/pub/a/2001/07/11/xmlp2p.html provides an article discussing the integration of P2P and XML for businesses.

Peer-to-Peer Computing, http://p2p.ingce.unibo.it/ is a popular yearly conference on Agents and P2P Computing (AP2PC).

P2P4B2B, http://www.stratvantage.com/directories/p2pworkgroups.htm is a site listing non-commercial peer-to-peer efforts. The sites listed are non-profit, open source or informational and have relevance to the business use of P2P technology. The sites also represent standards efforts.

O'Reilly OpenP2P.com, http://www.openp2p.com/ is a site dedicated to various articles on P2P-related technology. Always interesting!

Global and Peer-to-Peer Computing, http://gp2pc.lri.fr/ is an international yearly workshop held in conjunction with CCGrid.

Intel P2P Developer Center is a site dedicated to technologies that can leverage the power of the existing end-user's resources on the Internet.

Distributed Hash Tables, http://en.wikipedia.org/wiki/Distributed_hash_table is the wikipedia page for DHT technology.

BitTorrent, Inc., http://www.bittorrent.com/ is the home page of BitTorrent, Inc. and provides a number of BitTorrent related resources.

Wired, http://www.wired.com/techbiz/startups/news/2007/12/YE_10_startups}, \emph{Wired magazine 2003 interview with Bram Cohen, author of BitTorrent.

BitTorrent Protocol, http://www.bittorrent.org/beps/bep_0003.html} is the location of the Official {BitTorrent Protocol Specification.

Doug Walker Interview, http://gigaom.com/2008/03/09/bittorrrent-ceo-doug-walker-interview/ - video interview with new CEO for BitTorrent.

Gnutelliums, http://www.gnutelliums.com/ provides a comprehensive directory of Gnutella clients for Windows, Linux/Unix and Macintosh, some of which are provided below:

BearShare, http://www.bearshare.com is a Windows file sharing program from Free Peers, Inc.

Gnotella, http://www.gnotella.com is a clone of Gnutella for Windows.

Gnucleus, http://gnucleus.sourceforge.net/ is an open Gnutella client for Windows.

LimeWire, http://www.limewire.com is a very popular Java-based Gnutella client.

Phex, http://www.konrad-haenel.de/phex/ is also a Java client, based on William W. Wong's Furi.

Toadnode, http://www.toadnode.com is an extensible platform for P2P networks. Its core functionality revolves around the ability to find, retrieve and distribute data between users across multiple networks.

Gnut, http://www.gnutelliums.com/linux_unix/gnut/ is a com-mand-line client which implements the Gnutella protocol. It will run on a wide range of POSIX-compliant systems including: SunOS, Linux, FreeBSD, HP-UX and Win32.

Distributed Object Systems

The Distributed Component Object Model (DCOM), http://www.microsoft.com/com/tech/DCOM.asp is a Web site for finding out about distributed DCM technology, which enables software distributed components to communicate in a reliable, secure and efficient manner. It was previously called ``Network OLE'' and was based on the Open Software Foundation's DCE-RPC specification.

CORBA, http://www.corba.org/ is the home page for the Common Object Request Broker Architecture (CORBA) middleware. It contains a number of resources, CORBA success stories and pointers to the Object Management Group.

Object Management Group (OMG), www.omg.org which is establishing a model-driven architecture through its worldwide standard specifications including CORBA, CORBA/IIOP, the UML, XMI, MOF, Object Services, Internet Facilities and Domain Interface specifications.

Jini, http://www.jini.org/ is a central place for finding information about Jini. It contains new information, has discussion groups and allows users to exchange code and ideas.

Underlying Transport and Discovery Protocols

IANA, http://www.iana.org/, home page for the Internet Assigned Numbers Authority (IANA), responsible for the assigned IP address range.

Multicast Protocol, http://www.ietf.org/rfc/rfc1112.txt is the request for comments (RFC) Web site for the original Multicast protocol.

UDP Protocol, http://www.ietf.org/rfc/rfc768.txt is the RFC Web site for the UDP protocol.

TCP Protocol, http://www.ietf.org/rfc/rfc793.txt is the RFC Web site for the TCP protocol.

SLP Protocol, http://www.ietf.org/rfc/rfc2608.txt is the RFC Web site for the Service Location Protocol.