Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Java Expert


Home >> Java

Assessment

Task 1

You are to research five topics:

- The use of stacks in computer science; explain why stacks are important and how a stack can be implemented either in Java or Python.
- Explain two ways in which threads can be created in Java.
- The use of queues in computer science and how they might be implemented in Java or Python.
- Give details of two or more Input/Output devices and evaluate their usefulness, giving technical data of interest.
- What is meant by a recursive function definition? Give an example and explain how the definition works.

The result of each piece of research should be carefully written up, giving diagrams where appropriate and citing references used. You should aim at giving depth in answering these questions.

Task 2

You are to design and implement a simple TCP client-server system that makes use of a simple proxy server.

672_figure.jpg

Figure 1 the Architecture of the Proposed System

Overview

This assessed coursework assignment is designed to give you an opportunity of further developing and understanding software, how to configure a concurrent application using three separate pieces of software in order to allow Internet communications. It provides you with the opportunity of designing, implementing and understanding what in effect are a complete concurrent system serving one or more useful purposes.

Objectives

The main objective is to use your proxy within an operational system - executing all three programs (client, proxy and remote) server together - and testing the system's overall functionality. You will need to decide how best this is to be done, and draw appropriate conclusions.

Specific Requirements

Firstly, the proxy should accept a TCP connection request from a TCP client on Port 8080. It should open a TCP connection with your chosen TCP server and connect the client with the server, and the server to the client using streams provided by the sockets created. It is required that TCP communications from client to (remote) server are concurrent, with respect to TCP communications in the opposite direction. Minimally you should aim at constructing a system enabling an echo client to send messages via the proxy to an echo TCP server and correctly receive a copy of the message sent. The second capability of your proxy to be established is whether a client (such as the GenericClient.java found on Moodle) or an ordinary Web browser can connect via your proxy to a well-known Web server and successfully display the homepage in html format remembering that an HTTP client and Web server may should be capable of communicating with one another concurrently.

Secondly, you should investigate further how proxy servers might be used. These uses should be valuable to internet users. This investigation should be at least 1000 words long and written up formally, providing sources referred to, and using the Harvard referencing system.

Coursework - Project

Task 1

You are to provide an in-depth overview of Peer-to-Peer (P2P) computing by describing two or more well-known systems explaining what their role is and how they work at the level of network protocol used. In particular, you should explain how a client joins (and leaves) a P2P system, and in particular their advantages over normal client-server computing systems. You should address some of the professional, business and legal issues arising from the use of P2P networks by referring to the history of P2P networking and computer Systems and any relevant legislation. Finally, you should consider whether Skype is a P2P system, giving reasons for your answer.

Background Reading for Task 1
There is plenty of documentation and a range of short articles available on the Internet. However, a possible starting point might be the slides from Keith Ross and Dan Rubenstein "P2P Systems" (a copy is available on Moodle). These were written a while ago, but contain much essential background, and provide coverage of some of the main P2P systems in the past. Most of the material is quite straightforward, but some advanced material is covered. There is a bibliography at the end of the slides.

Task 2
You are to consider the problem of how a file can be distributed using UDP programming techniques. A file ("gutenberg.txt") is to be copied over the Internet from a host server to a client. This file is available on Moodle. The way in which the transfer takes places is by the server opening the file after it receives a request from the client. It then sends the file line-by-line.

You should initially set up the system (consisting of the server and client) using the two skeleton programs provided. Ultimately, data transmission should be designed to use a stop-and-wait protocol, i.e. on successful receipt of a line of text, the client will send an ACK, which implicitly is a request for the next line. You should attempt to add additional code to implement the simplest form of the protocol and to explain additions you would make to the code needed.

You may additionally wish to consider the case of the server not receiving an ACK back from the client after transmission of a line of code, and to suggest a reasonable action that should be taken by the sender. Why might and ACK not be received?

Instructions
Skeleton code for both client and server is provided as well as the file to be transferred. As the first step, you should provide a system that successfully transfers the file by executing the two programs in Eclipse, and give an explanation of the main features of the code. You should provide evidence of the file having been transferred.

You should then explain how the file would be transferred in principle by using the simplest version of stop-and-wait.

You should discuss the problem (or problems) that the stop-and-wait protocol are designed to solve, and outline one or more increasingly more elaborate steps to address corruption of data, or missing ACKs and data packets.

Finally, you should state what the protocol's main disadvantage is providing an explanation, and suggest how the protocol could make more efficient use of bandwidth by pipelining the protocol.

The client and server can both be executed using localhost ("127.0.0.1") and by using different UDP ports.

Reading for Task 2

The essential reading is contained in the tutorial material for UDP programming, and in particular the documentation on UDP Servers and clients. You may wish to consult the FileCopy Program the uses streams to read from and write to a file on a hard disk. You will need to remind yourself of socket creation in UDP, and how to use its relevant methods to read data from and write data to a communication partner.

Attachment:- Coursework.zip

Java, Programming

  • Category:- Java
  • Reference No.:- M93064885
  • Price:- $80

Guranteed 48 Hours Delivery, In Price:- $80

Have any Question?


Related Questions in Java

Operating systems assignment -problem 1 sharing the bridgea

Operating Systems Assignment - Problem 1: Sharing the Bridge A new single lane bridge is constructed to connect the North Island of New Zealand to the South Island of New Zealand. Farmers from each island use the bridge ...

Part a specification - robot simulationpart a

PART A Specification - Robot Simulation PART A Requirements To complete this assignment you will use the supplied eclipse project Robot P1/. It is already set up to execute a simple arm movement loop which you will build ...

Can someone help me please with those question1what is the

Can someone help me please with those question 1:what is the best data type for student id datatime,currency,number,decimal 2:which relationshipis preferable? one to one,one to many,many to many 3:if you add table A's pr ...

Can someone please help me with the following java

can someone please help me with the following java question The input is an N by N matrix of nonnegative integers. Each individual row is a decreasing sequence from left to right. Each individual column is a decreasing s ...

Chatbotscreate a small networked chat application that is

Chatbots Create a small, networked chat application that is populated by bots. Introduction On an old server park, filled with applications from the early days of the internet, a few servers still run one of the earliest ...

Can someone kindly help me to consider whether java

Can someone kindly help me to consider whether Java provides the facility of operator overloading? If it does, may you kindly describe how overloading operators can be accomplished? If not, may you kindly describe why yo ...

Assessment instructionsin this assessment you will complete

Assessment Instructions In this assessment, you will complete the programming of two Java class methods in a console application that registers students for courses in a term of study. The application is written using th ...

Overviewyou are required to use java se 80 and javafx to

Overview You are required to use Java SE 8.0 and JavaFX to develop a Graphical User Interface (GUI) for the FlexiRent rental property management program created in Assignment 1. This assignment is designed to help you: 1 ...

Project requirementsfor the problem described in the next

Project requirements For the problem described in the next section, you must do the following: 1. include your student ID at the end of all filenames for all java code files. Three classes have been identified in section ...

Simple order processing systemquestion given the classes

Simple Order Processing System Question: Given the classes Ship (with getter and setter), Speedboat, and SpeedboatTest. Answer the following questions: Refine the whole application (all classes) and create Abstract class ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As