CS521 Network Architecture II : Project Review

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    CS521 Network Architecture II : Project Review - Presentation Transcript

    1. CS521: Projects A Review
    2. CS521: Projects
      • Prerequisites for doing the projects
        • Understanding of any one Programming Language (e.g. C, C++, C# or Java)
        • Basic Socket Programming
        • Understanding of Protocols
        • Understanding of the Problem Statement (most important)
        • Ask questions of you don’t understand the Problem Statement!
    3. Project 1: RDP Implementation
      • What was the major objective?
        • Students should learn how to implement the sliding window protocol to get a feel of implementing Reliable data transfer over unreliable media or network.
      • Generally the lab environment doesn’t provide unreliable data transfer.
        • A “Virtual Router” process was given to provide unreliability
        • Introduced a protocol to talk with router so that we can test the sliding window implementation
    4. Project 1: RDP Implementation
      • Things to be implemented
        • Sliding Window Protocol
        • Communication with Router
      • Implementation of both of them were equally important
    5. Project 1: RDP Implementation
      • Review of Project 1 submission
        • Teams started very late to implement
          • When you have less time to work or think your quality degrades
        • Very few teams actually asked questions when they faced problems
        • Some Teams gave more importance to Router communication and forgot or neglected the importance of RDP implementation
        • Some implemented a completely different project that was not related with the project 1 !
    6. Project 2: IPP Implementation
      • What was the major objective?
        • Students should learn how to design an Instant Messaging Protocol and implement the Presence part of IM.
        • The major focus was to come up with a simple and scalable design for your version of protocol
    7. Project 2: IPP Implementation
      • Things to be implemented
        • Presence Protocol
        • Application to demonstrate that your protocol works!
      • Implementation of both of them were equally important
    8. Project 2: IPP Implementation
      • Review of Project 2 submission
        • Most of the teams did well in the Application part of this project
        • Most of the implementations had Application and their Protocol mixed with each other when they submitted first draft
        • Most teams gave importance to GUI but that was not a major requirement.
        • Buddy list management should be with the help of protocol, some teams had delegated this to database or application
    9. Project 3: SIP
      • What was the major objective?
        • Students should learn how to understand and implement the real protocol (SIP in this case) from RFC.
        • The major focus was to implement as specified in the Standard RFC
        • Implementations from different groups should interoperate if they all follow the Standard RFC (that’s why standards are there !)
    10. Project 3: SIP
      • Things to be implemented
        • Atleast one of the Session Messages (e.g. INVITE, REGISTER, SUBSCRIBE)
    11. Project 3: SIP
      • Review of Project 3 submission
        • Most of the teams did good
        • Some teams implementation was not working properly
        • They did not have proper documentation of how to run their projects (especially with inputs that won’t crash your programs)
    12. Finally
      • Design your implementation first
        • Spending time in a good design is less likely to fail and more likely to finish earlier than an attempt to jump directly into coding
        • I have seen some teams that did brainstorming in their design before implementation performed well
      • Know your tools
        • Especially you should know what is the behavior of your language
          • E.g. what is the size of int in your choice of language and operating system platform
          • How a struct or class is stored inside memory? If you want to send these objects?
          • Is the memory representation of these objects compatible with the representation you want in the Protocol you are using? (big-endian vs. little-endian)
          • Is your machine blocking incoming packets! Any firewall issues?
      • Handle Error conditions
        • Exceptions are bad when they are not caught!
      • Think from end-user perspective.
        • How would the end-user can use your program if he/she was not in your development team and doesn’t know what you have done!
        • Asking user for input from command line or gui is good as compared to expecting user to change some variable inside your program !

    + jigneshjignesh, 4 years ago

    custom

    1362 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1362
      • 1362 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories