Grid meets Economics: A Market Paradigm for Resource ...

Assignment 2 Team Project: Distributed System and Application Dr. Rajkumar Buyya Cloud Computing and Distributed Systems (CLOUDS) Laboratory School of Computing and Information Systems The University of Melbourne, Australia Other contributors: Maria Sossa and Shashi Ilager Distributed Shared White Board 2 In these slides, we are offering mainly guidelines for satisfactory work, but be innovative and creative, which will be valued a lot. Team Size: 4 (Strongly recommended) Note: Each member contribution will be evaluated and marked accordingly. General help: Ask tutors during/after tutorials in person. Also use Discussion Board in LMS. Marks Allocated: 25

Shared White Board Cha t .. 3 Shared whiteboards allow multiple users to draw simultaneously on a canvas. There are multiple examples found on the Internet that support a range of features such as freehand drawing with the mouse, drawing lines and shapes such as circles and squares that can be moved and resized, and inserting text. In addition to these features, your implementation should include a simple chat window, that allows all the current users of the system to broadcast messages to each other. Distributed White Board Develop a white board that can be shared between multiple users over the network. The system must be implemented in Java but you can choose the technology (e.g., it can be even Sockets) you want to use to build your distributed application:

Sockets TCP or UDP? Message format? (JSON suggested) Exchange protocol? Java RMI Remote Objects? Remote Interface? Databases for Storage Please Choose any technology of your choice 4

E.g., client broadcasts a message with updates to all other clients, other clients reply acknowledging the message. All team members need to make sure that can achieve the goal. Main Challenges Dealing with concurrency Structuring your application and handling the system state You have to decide when/what messages are sent across the network. You may have to design an exchange protocol that establishes which messages are sent in which situation and the replies that they should generate. If you use RMI, then you have to design your remote interface(s) and servants Implementing the GUI.

5 For example you can have multiple servers that communicate with each other or a single central one that manages all the system state. Dealing with networked communication Regardless of the technology you use, you will have to ensure that access to shared resources is properly handled and that simultaneous actions lead to a reasonable state. The functionality can resemble tools like MS Paint. You can use any tool/API/library you want. e.g.: Java2D drawing package (http://docs.oracle.com/javase/tutorial/2d/index.html) Requirements Whiteboard

Multiple users can draw on a shared interactive canvas. Your system will support a single whiteboard that is shared between all of the clients. GUI Elements: 6 Shapes: at least your white board should support for line, circle, rectangle and oval. Free draw and erase must be implemented (it will be more convenient if there are several sizes of eraser) Text inputting must be implemented allow user to type text everywhere inside the white board User can choose their favorite color to draw the above features. At least 16 colors should be available The new drawing should be always on the top (override the old ones) Chat Window (text based). A File menu with new, open, save, saveAs and close should be provided (only the

manager can control this) Requirements Clients 7 Users must provide a username when joining the whiteboard. There should be a way of uniquely identifying users, either by enforcing unique usernames or automatically generating a unique identifier and associating it with each username. All the users should see the same image of the whiteboard and should have the privilege of doing all the drawing operations. When displaying a whiteboard, the client user interface should show the usernames of other users who are currently editing the same whiteboard. Clients may connect and disconnect at any time. When a new client joins the system the client should obtain the current state of the whiteboard so that the same objects are always displayed to every active client.

Only the manager of the whiteboard should be allowed to create a new whiteboard, open a previously saved one, save the current one, and close the application. Requirements 8 Users should be able to work on a drawing together in real time, without appreciable delays between making and observing edits. There is no need to authenticate users that want to access the system. Important: you are NOT allowed to use ANY code taken from an existing shared whiteboard implementation. Proposed Operational Model The first user creates a whiteboard and becomes the whiteboards manager

Other users can ask to join the whiteboard application any time by inputting servers IP address and port number 9 java JoinWhiteBoard username A notification will be delivered to the manager if any peer wants to join. The peer can join in only after the manager approves java CreateWhiteBoard username A dialog showing someone wants to share your whiteboard. An online peer list should be maintained and displayed

All the peers will see the identical image of the whiteboard, as well as have the privilege of doing all the operations (draw and erase) Online peers can choose to leave whenever they want. The manager can kick someone out at any time. When the manager quits, the application will be terminated. All the peers will get a message notifying them. Guidelines These phases are suggestions for timely progression, you are most welcome to follow your own approach. Phase 1 (whiteboard) (Milestone 1 progress demo) 10 Single-user standalone whiteboard (OR you are most welcome to implement a single user and single server). Requirement A: Implement a client that allows a single user to draw all the expected elements (line, circle, rectangle, oval, freehand drawing, and erasing). Requirement B: Implement the open, new, save, save as, and

close functionality for a single client. Guidelines Phase 2 (user management skeleton) 11 Allow the manager to create a whiteboard Allow other peers to connect and join in by getting approval from the manager Allow the manager to choose whether a peer can join in In this phase, join in means the peer name will appear in the user list Allow the joined peer to choose quit Allow the manager to kick out certain peer Allow the manager to close the application, and all peers get notified

Guidelines Phases 3 (Final Milestone 2) Integrate the whiteboard with the user management skeleton (phases 1 and 2) Design issues: What communication mechanism will be used? How to propagate the modification from one peer to other peers? May need an event-based mechanism How many threads do we need per peer?

12 Socket, RMI, or Web service, whatever you like At least one for drawing, one for messaging Deliverables and Deadlines There are two deadlines for this assignment: 13 Deadline 1 Milestone 1 (Progress Review): Week 10 (Oct. 7-11) during you own tutorial. Deadline 2 Milestone 2 (Final Submission): Week 12, Friday (Oct 25) at 5:00pm. This approach ensures that Team members are working together and progressing right from the beginning. Milestone 1: Progress Review

You will have a quick discussion with your tutor and explain the design of your system. You will show your tutor a demo of the functionality you have already implemented: 4 marks will be given for demonstrating your progress in phase 1. They will be given individually, so all team members should attend. 14 You should have implemented at least a single-user whiteboard (phase 1) by this time and have a clear design of your system in place. Marks will be given based only on the functionality of phase 1 but to maximize your chances of completing on time, you are strongly encouraged to have made more progress by this stage (e.g. phase 1 + phase 2) Requirement A of Phase 1: 2 marks Requirement B of Phase 1: 2 mark

Milestone 2: Final Submission Report Name & Std. No. Contribution area Overall contribution (% out of 100) to Project .. Describe 20%? (decide reasonably) 15%? Dont document anything you havent implemented in the report. This is misconduct and will result in severe penalties.

You need to submit the following via LMS: 15 You should write a report that includes the system architecture, communication protocols and message formats, design diagrams (class and interaction), implementation details, new innovations, and a section that outlines the contribution of each member. Your report in PDF format only. The executable jar files used to run your systems clients/server(s) Your source files in a .ZIP or .TAR archive only. Milestone 2: Final Submission Demonstrations

16 You will showcase your system and discuss your design choices during the demos (as done for assignment 1). Dates and venues will be announced closer to the submission date. You will be required to bring your own laptops and a printed copy of the report. Penalties for late submissions of assignments Assignments submitted late will be penalized in the following way: 17 1 day late: -1 mark 2 days late: -3 marks (-1 - 2) 3 days late: -6 marks (-3 - 3) 4 days late: -10 marks (-6 - 4) etc.

Recently Viewed Presentations

  • Mendel & the Gene Idea - anderson1.k12.sc.us

    Mendel & the Gene Idea - anderson1.k12.sc.us

    When a dominant allele coexists with a recessive allele in a heterozygote, they do not actually interact. It's in the pathway from genotype to phenotype that dominance & recessiveness. come into play
  • Instructor Morteza Maleki PhD 2 3  An interview

    Instructor Morteza Maleki PhD 2 3 An interview

    Semi-structured interviews may also be used in relation to an exploratory study. In descriptive studies, structured interviews can be used as a means to identify general patterns. In an explanatory study, semi-structured interviews may be used in order to understand...
  • Diamond Blackfan Syndrome - iphos.ir

    Diamond Blackfan Syndrome - iphos.ir

    DBA is a pure red cell aplasia that is usually recognized in early infancy,associated with a reduction in or an absence of erythroid precursors in bone marrow, variable congenital anomalies, and a predisposition to malignant disease. Diamond-Blackfananemia red cells characteristically...
  • Wireless Hacking - Valpo Hacks

    Wireless Hacking - Valpo Hacks

    Length of your password provides security against bruteforcing, but even a 29 character password is not necessarily secure, and can be broken if it is in a wordlist, consider the password: "in the beginning was the word" This password was...
  • Creating win-win-situations for the German research landscape ...

    Creating win-win-situations for the German research landscape ...

    2) The Humboldt Foundation'srole in thecollaborative project "International Research Marketing" which is a joint initiative by the Alexander von Humboldt Foundation, the German Academic Exchange Service, the Deutsche Forschungsgemeinschaft and the Fraunhofer-Gesellschaft.
  • Text Features - Currituck County Schools

    Text Features - Currituck County Schools

    Text Features Table of Contents Narrative/Fiction Text 3 Characters 4 Setting 5 Plot 6 Non-Fiction Text 7 Table of Contents 8 Index 9 Photographs 10 Captions 11 Labels 12 Cutaways 13 Close-ups 14 Comparisons 15 Charts, Tables, & Graphs 16...
  • How did Slavery Develop in the American Colonies?

    How did Slavery Develop in the American Colonies?

    Holdings smaller. Status more fluid. Not any less brutal. Slave societies. slavery is central mode of production. master-slave relationship is model for all human relationships. How does the transition to a slave society happen?
  • ELEMENTS D2 & D1 2017 POWER POINT SLIDES

    ELEMENTS D2 & D1 2017 POWER POINT SLIDES

    ELEMENTS D2 & D1 2017 POWER POINT SLIDES Class #12: Wednesday, September 27 & Thursday September 28 STATE v. SHAW Brief NARROW HOLDING YES. The trial court erred in directing a verdict for the defendant on the grounds that defendant...