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.
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