Problem Definition ------------------- Implementation of a (lite) version of Chord Distributed hash table system. We have developed a P2P system for downloading RFCs. Every communication is done via messages that resemble HTTP-like message formats. Team Members ------------- 1) Salil Kanitkar : sskanitk@ncsu.edu 2) Sagar Sane 3) Mayur Awagadhe 4) Sagar Natekar Types of Messages ------------------- Chord Peer <-> Peer Messages 1) RegisterNode 2) NodeIdentity 3) FixFingers 4) GetDb 5) GetKey 6) NodeList 7) GetRFC 8) ForwardGet 9) GetFinger 10) PutKey 11) RemoveNode 12) ExitNow Chord Peer <-> Client Messages -> 1) PrintRFCDb 2) PeerDetails 3) FetchRFC 4) PeerExit Message Types and formats --> 1) FetchRFC GET FetchRFC <RFC_TITLE> <RFC_Value> Chord-LT/1.0 IP: <IP_Addr> Port:<Port_num> 2) RegisterNode GET RegisterNode Chord-LT/1.0 IP:<IP_Addr_P0> Port:<Port_num_P0> 3) NodeIdentity #This message format may change. Do we need to add some more fields POST NodeIdentity Chord-LT/1.0 chord_id:<chord_id> successor_id:<chord_id of successor> pred_id:<chord_id of predecessor> successor_IP:<IP_Addr of successor> successor_Port:<Port_num of successor> pred_IP:<IP_Addr of predecessor> pred_Port:<Port_num of predecessor> 4) GetKey GET Getkey Chord-LT/1.0 IP:<IP_Addr> Port:<Port_num> Chord-Id:<chord_id> 5) NodeList POST NodeList Chord-LT/1.0 IP: <IP_Addr> Port:<Port_num> count:<count of RFCs to be sent to this node> <RFC1_key>:<RFC1_value>:<RFC1_title> <RFC2_key>:<RFC2_value>:<RFC2_title> . . . . . <RFCn_key>:<RFCn_value>:<RFCn_title> 6) GetRFC GET GetRFC Chord-LT/1.0 IP: <IP_Addr> Port:<Port_num> RFC-Value:<RFC_value> Flag:0 7) PrintRFCDb GET PrintRFCDb Chord-LT/1.0 8) ForwardGet GET ForwardGet Chord-LT/1.0 IP: <IP_Addr> Port:<Port_num> RFC-Value:<RFC_value> 9) PeerDetails GET PeerDetails Chord-LT/1.0 IP:<IP_Addr> Port:<Port_num>