Skip to content

Peer-to-peer system for seamless communication and collaboration among distributed nodes.

License

Notifications You must be signed in to change notification settings

carmenabans/P2P-Network

Repository files navigation

P2P-Network

Summary

In the peer-to-peer system project, we designed and implemented a robust distributed system by integrating three key technologies: TCP/IP sockets, SOAP+HTTP, and RPC. The project consisted of three main parts: firstly, the development of a TCP/IP socket-based communication system to enable connectivity between system nodes; secondly, the addition of SOAP+HTTP services to enhance functionality, such as providing current date and time information via a web service; and finally, the integration of RPC to handle remote procedure calls and facilitate the printing of user operations on the server side. By combining these technologies, we successfully created a scalable and efficient peer-to-peer system, showcasing my expertise in distributed systems and proficiency in implementing diverse communication protocols.

Network diagram

Protocol Diagram

Key Features

  1. TCP/IP Sockets Communication: Implemented robust communication channels using TCP/IP sockets to facilitate data exchange between nodes in the peer-to-peer network, ensuring reliable and efficient transmission of information.

  2. SOAP+HTTP Services: Developed SOAP-based web services over HTTP protocol to extend the system's functionality, including features such as retrieving the current date and time information, enhancing the system's utility and versatility.

  3. RPC Integration: Integrated Remote Procedure Call (RPC) technology to enable seamless communication between distributed components, allowing for efficient execution of remote procedures and method invocations across the network.

  4. Service-Oriented Architecture (SOA): Adopted a service-oriented architecture approach to design and implement modular and loosely coupled components, promoting scalability, maintainability, and reusability of system functionalities.

  5. User Operation Logging: Implemented a logging mechanism to record user operations performed within the system, providing insight into user activities and facilitating system monitoring and analysis.

  6. Scalability and Reliability: Designed the system with scalability and reliability in mind, allowing it to accommodate a growing number of nodes and users while ensuring consistent performance and fault tolerance.

  7. Comprehensive Documentation: Provided detailed documentation, including README files and user manuals, to guide users through the installation, configuration, and usage of the peer-to-peer system, ensuring ease of adoption and troubleshooting.

  8. Adherence to Best Practices: Followed industry best practices and standards in software development, including code commenting and error handling to ensure the quality, stability, and maintainability of the system codebase.

  9. Cross-Platform Compatibility: Ensured cross-platform compatibility by developing the system using platform-independent programming languages and technologies, allowing it to run seamlessly on various operating systems and environments.

  10. Collaborative Development: Engaged in collaborative development practices, working effectively within a team to plan, coordinate, and execute the project tasks, leveraging collective expertise and fostering a culture of knowledge sharing and innovation.

Technologies

Python C Linux

Team

About

Peer-to-peer system for seamless communication and collaboration among distributed nodes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published