Unit name | Server Software |
---|---|
Unit code | COMSM2001 |
Credit points | 10 |
Level of study | M/7 |
Teaching block(s) |
Teaching Block 2 (weeks 13 - 24) |
Unit director | Dr. Steve Gregory |
Open unit status | Not open |
Pre-requisites |
None |
Co-requisites |
None |
School/department | Department of Computer Science |
Faculty | Faculty of Engineering |
In this unit, you will be shown how to develop network servers and clients. Syllabus will contain:
Basics: functionality; requirements; software; performance; reliability; building server software.
Concurrent Programming: Processes; Threads; Synchronisation; Deadlock; Livelock; Starvation; Communication.
Servers: State; Client/server communication; Network (TCP/IP) client/server interface; RPC client/server interface.
Implementing Servers: Network (TCP/IP) client/server implementation; Sockets; Server and client structure; Data representation; Atomic transactions; Performance; Caching; Reliability; RPC client/server implementation.
On successful completion of this unit, you will be able to: Understand and apply concurrency, Understand client/server protocols, Develop a server that interacts appropriately with its clients.
20 lectures plus 20 hours laboratory sessions. A further 60 hours are nominally set aside for coursework, private study, etc.
100% Practical Work
D.E. Comer and D.L. Stevens. Internetworking with TCP/IP (Volume 3): Client-Server Programming and Applications (Linux/Posix Sockets version). Prentice Hall. 2001. ISBN: 0130320714 Recommended
D. Butenhof. Programming with Posix Threads. Addison Wesley. 1997. ISBN: 0201633922 Recommended