• Designed a multi-threaded network file server that client could interact via network messages. Implemented read, write, create, delete operations and designed routines to ensure crash consistency.
• Used Sockets programming to implement parsing and validating requests and sending responses.
• Implemented Hand-over-hand Locking for multithreads.
• Write suites of Unit Testing and Stress Testing to validate the concurrency and consistency of the file server.