270 likes | 502 Views
Team Members Ben Miller Kevin Moore Steven Rysavy . Faculty Advisor Prof. Manimaran Govindarasu. Microsoft .NET P2P. Dec01-09. May 1, 2002. Client Dan Fay. Presentation Outline. Definition of Terms Problem Statement Design Objectives End-Product Description
E N D
Team Members Ben Miller Kevin Moore Steven Rysavy Faculty Advisor Prof. Manimaran Govindarasu Microsoft .NET P2P Dec01-09 May 1, 2002 Client Dan Fay
Presentation Outline • Definition of Terms • Problem Statement • Design Objectives • End-Product Description • Assumptions and Limitations • Project Risks and Concerns • Technical Approach • Milestones • Future Work • Human and Financial Budgets • Lessons Learned • Conclusion
Definition of Terms • .NET Framework • Environment for developing software • C# (pronounced “C Sharp”) • Object oriented language derived from C and C++ • Peer-to-Peer Application • Internet applications with no central servers
Problem Statement • Develop a peer-to-peer application using .NET framework • Communicate using server-less environment • Exchange multiple types of data • Write in the C# language • Document source code for developers
Examples ICQ MSN AOL
Design ObjectiveFunctionality • Rich Text Messaging • Rich Text has colors, fonts, and sizes • File Transfer • Special Support for File Types • Local Message History • IP Caching
Design ObjectiveConstraints • Functionality provided by .NET Framework • System Resources • Connection Resources • No central server
Design ObjectivesUsers • .NET environment enthusiasts • People seeking a rich text messaging application
Documented Code Connect using TCP/IP One-to-Many Connections Pure P2P Functional GUI Rich text (multiple fonts, colors, sizes, etc) Support for special types (emoticons) Message History (stored locally) IP Caching End-Product DescriptionFeatures
End-Product DescriptionOwnership • Code will be sent to our sponsor at Microsoft • Full project will be submitted to .NET community sites: • www.gotdotnet.com • www.devhood.com • www.c-sharpcorner.com
Assumptions • The user is running an operating system that supports the .NET Framework • Functionality of .NET will not vary among platforms • The users are on an TCP/IP network • Users will know the IP address of other clients.
Limitations • Assuring unique identity and finding users might not be possible within a purely peer-to-peer environment. • Firewalls may limit or deny communication between clients. • Functionality will be limited by the capacity and availability of the network.
Project Risks and Concerns • The .NET Platform may change between beta and final release • .NET/C# are new technologies • Group members have to learn new a new language, framework, and tools • There is less information about .NET/C# than other, more established technologies
Technical Approach • MSN Integration • .NET P2P Framework • Roll our own
Benefits Wide scale deployment Well defined, simple interface Drawbacks Not at all P2P Implementation would be trivial MSN Integration
Benefits Designed with/for the .NET Framework Purely P2P in nature Provides functionality we couldn’t create in a semester Drawbacks Implementation would be trivial Only available in beta release Not stable .NET P2P Framework
Benefits Fine control over features Demonstrates lower level programming Pride of building it ourselves Drawbacks Implementation is not trivial Limits our features No firewall support Roll our Own
Milestones • M1 - Basic Functionality • M2 - Additional Chat Features • M3 – Special Features
M1 – Basic Functionality • Connect to multiple clients • Send simple text messages • Functional Interface • Projected Date: 4/27/01 • Revised Date: 2/28/02
M2 – Additional Chat Features • Sending of rich text messages • Send files (push model) – Local end initiates the transfer • Sharing files (pull model) – Remote end initiates the transfer • Projected Date: 3/30/02 • Finished Date: 3/30/02
M3 – Special Features • Interoperability with other messaging applications and services • Friendly names • Emoticons • Firewall connectivity • Projected Date: 4/30/02 • Finished: 4/30/02
Milestone Progress • M1 - 2/28/02 • M2 - 3/30/02 • M3 - 4/30/02
Future Work Long term • Additional features • Voice chat • Whiteboard • File Transfer
Lessons Learned • Testing should be ongoing part of development process • Research features thoroughly before committing • Managing development
Conclusion • Goal • Build a peer-to-peer application that leverages the .NET framework • Solution • Designed a peer-to-peer chat client using C# which is well documented and easy to expand