The University of Western Ontario
Department of Computer Science
CS9868b Internet Algorithmics
2011
Instructor
- Roberto Solis-Oba
- Office: MC 417
- Email: solis@csd.uwo.ca
- Office hours: Monday and Thursday from 3:00 pm to 4:30 pm.
Course Description
-
- Outline.
Projects
-
-
- Topics
- Organization of your report
- Presentations: April 18-21
Assignments
- Assignment 1. Due date: February 2 during class.
- Assignment 2. Due date: March 2 during class.
- Assignment 3. Due date: April 6 during class.
-       Chat server and chat client in C
-
- cnaiapi library. Computer Networks and Internets API
Library (Written by Michael H. Evangelista)
- Cnaiapi library documentation
- readln auxiliary library
- cnaiapi.h
- compile script
- chat server
- chat client
- To compile the chat client and chat server, place all above files in the same
directory, type
    compile chatclient
to compile the chat client, and type
    compile chatserver
to compile the chat server. To run the server type
    chatserver portnumber,
where portnumber is the port number that you
want to use for the server. To run the client type
    chatclient serveraddress portnumber,
where serveraddress is the symbolic address of the machine running the chat
server, and portnumber is the port number selected by the chat server. The
chat server must be started first.
-       Chat server and chat client in Java
-
- ChatClient.java
- ChatServer.java
- To compile the programs type
    java ChatClient.java ChatServer.java.
To run the chat server type
    java ChatServer portnumber.
To run the client type
    java ChatClient servernumber portnumber,
where serveraddress is
the symbolic address
of the machine running the chat server, and portnumber is the port number selected by the
chat server. The chat server must be started first.
Marks
-
- You can see your marks using WebCT.
Simulator for Synchronous Distributed Systems
-
- Simulator (simulator.jar)
- How to use the simulator
- Leader election algorithm (LeaderElection.java)
- LeaderElection.class
- Input file for the leader election algorithm
- Broadcasting algorithm (Broadcast.java)
- Broadcast.class
- Input file for the broadcasting algorithm
- runsim script (for UNIX)
- runsim script (for Windows)
- compile java file (for UNIX)
- compile java file (for Windows)
Papers and notes
-
-
Paper about name servers
-
Lecture notes on distributed algorithms by Hagit Attiya.
-
Paper about consistent hashing
-
Paper about Pastry.
-
Paper describing the architecture of a web crawler
-
Paper describing PageRank
-
Paper about the structure of the Web Graph
-
Paper describing the greedy dual size algorithm