The objective of this assignment is to explore two aspects of Internet behavior.
- How Internet traffic can be modeled?
(2)Study the behavior of Internet from a user’s point when they are running multiple Internet
applications which has different characteristics.
Part 1 is a report on how Broadband traffic can be modeled. You can use the included papers as a starting point for modeling. Also you can search on the Internet for the recent papers on this topic. Please restrict to a maximum of 4 pages for this part.
To find the answer for the second question, you need to collect the traffic by running two sets of multiple applications whose characteristics you know and analyse the traffic to make a comparative behavior between the two sets of applications. You will gather real traffic (may be for 5 to 10 mts or so) using a packet sniffing software such as “wireshark”. Also you need to decide the two sets and their corresponding applications that you want to invoke at the beginning of the traffic data collection. Carefully think of those applications and identify their characteristics so that the comparative evaluation is meaningful.
Identify the factors or characteristics that you want to derive from the traffic data and compute appropriate metrics (mainly statistical information such as mean, standard deviation, Hurst parameter, etc. – see the attached PowerPoint slides) to make your inference.
Marking is only for the conclusion drawn and the supporting reasons for your conclusion. However you need to mention in your report how the cleaning is performed. You can include the cleaning program in the appendix of your report.
Please ensure all referenced documents are properly cited, as per Faculty policy on citations.
The aim of this assignment is to design and develop both the client and server programs for the following application. The application specification is not precisely defined in this document. The primary reason being that you start with a minimal design and make sure that it works (and hence able to learn how to create TCP connections between two processes) and later, if time permits, add additional functionalities.
A server maintains and provides the stock prices in real-time (almost). In other words, it updates its own information database whenever a trade (buy or sell) is made on a particular stock. It also provides a retrieval service to the clients through the Internet. The client can specifya single stock name and its current highest buy and sell prices will be returned by the server. The sell price is the latest sale price for the stock.
What you need to do? (for 15 marks)
- Design the data format for messages being exchanged between the client and the server programs. (3marks)
- Develop the programs (client and server) and use socket programming to create TCP connections. Assume that both the programs runs on the same host and use two hard coded port numbers for these two programs (or hard code the port number of server program in the client program and a random port number for the client program).
- Also assume that the stock information is kept in a tabular form and for the time being ignore any updates to this table entries. May be you can hard code artificial data in an array inside the program itself for this assignment. In the real application, this data will be stored in a database and will be updated by another program and your server program will use query language to retrieve the data to be presented to the client.
- Run the programs on the same host and verify that theprograms workscorrectly. (10 marks for parts 2, 3 and 4)
- Modify the programs so that the client can make request for multiple stock prices. (2 marks)
For possible extension for the extra 5 marks:
- Test for multiple clients at the same time and comment on performance.
- When the client makes a request for a stock or for a set of stocks, he/she can specify the duration and the frequency at which the delivery of information from the server is provided.
- How do you sense in-active connections or terminate clients who are no longer alive? You do not need to implement this, but provide strategies in the report.
What you need to turn in as part of this assignment submission?
- The operational design of the application is expressed as a finite state machine transition
- List of formats for the messages being exchanged or possible formats of the message type when certain fields take different values. Number each one of them sequentially and use these numbers to label the transitions in the finite state diagram.
- Show some evidence that the programs worked correctly.
- State your assumptions clearly. Also include any limitations of your design, for example, abnormal failures, failure in safe mode, consumption of unnecessary Internet bandwidth, functionally that are desirable, but are not supported, etc.