Coder Social home page Coder Social logo

content_addressable_network's Introduction

Content-Addressable-Network

A P2P hash table based network system.

Introduction

This CAN system is implemented by Java. It can do file insert, file retrieve, node join and displaying the peer information. Node leave is not implemented. I mainly use Java RMI to implement all the functions of the CAN system, and use the socket to assist the routing mechanism.

File description

For implement the bootstrap: BootStrap.java Implement the interface that need to call remotely BootStrapInt.java The interface of the RMI function BootstrapServer.java Start the RMI service and bind the bootstrap object to network For implement the CAN system: CanNode.java All the remote function of the CAN system in this file CanNodeInt.java The interface of the CAN functions CanNodePeer.java Start RMI service and implement the join, view, insert and search InetArea.java The object for contain area of the node in the zone InetPoint.java The object for contain the coordinate and the IP address for find RoutingTable.java The object contain the surrounding peer IP and area information SysParameter.java The system parameter of the CAN system RunNetwork.java Main function for accept the required command

How to compile and run

All the files need to compile: javac *.java To start the bootstrap server: java BootstrapServer.java To start a peer: java RunNetwork.java

Set Bootstrap server IP

I assume the bootstrap server is running on: glados.cs.rit.edu. So make sure the bootstrap server is running on glados. If want to run the bootstrap server on other machine, open file SysParameter.java and change the variable: public static final String BOOT_IP = “glados.cs.rit.edu” to the IP address of the machine that you want running the bootstrap server.

Run the peer

The peers can run on the machine with different IP. It accept the command required by the project. To exit the program can use command “exit” or “quit”. To exit the bootstrap server press Ctrl + C on keyboard.

Yi Huang

content_addressable_network's People

Contributors

yxh1126 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.