| |
|
|
Job Summary:
|
| |
| Job Type: |
Project |
| Budget: |
$ 20-100 |
| Required
Skills: |
|
| Attached
Files: |
(None) |
| |
|
| Status: |
Work Performed (selected user rolandm)
|
| |
|
|
|
Buyer Summary:
|
| |
| Username: |
|
| Feedback Score: |
        
1
reviews
|
| Award Reliability: |
1 posted 1 paid |
| |
|
| Location: |
Astoria, United States
|
| Member Since: |
December 5, 2005 |
| |
|
|
|
| Invited Users: |
There are no invited users
|
Description
Need to implement a file transfer protocol using UDP between two computers in Solaries. Please see the note below and attached for details:
14300: Implementation project.
Computer Communications Due in 2nd week of Dec. '05 (handed out on 28th Sept) Instructor: K. R
The following protocol is designed to transfer large files (say, about 10-15 megabytes size) from one machine to another machine in full blast, i.e., the protocol generates minimal overhead in terms of acknowledgements and processing. The protocol uses a datagram subnet. To implement the protocol, the sender process first sets up a UNIX interprocess communication path wiith a receiver process, choosing a datagram service at the network layer. Figure 1 shows the various functional components of the file transport system. The file transfer protocol employed by the system has two entities: the file sender and the file receiver. The protocol has 3 phases, as follows:
Phase 1: For connection setup, the sender sends a file header packet FILE-HDR which contains information on the file size, the record size which can be chosen to be one of {256, 512, 1024} bytes (usually, to match disk block sizes), the name of the file under which the file is to be stored at the receiver (note that a chosen record size does not change thereafter in a given execution). Upon file header acknowledgement by receiving FILE_HDR_ACK, the sender considers the connection setup as successful.
Ph,ase 2: The sender sends the file contents as a sequence of blasts, with each blast containing one or more packets and each packet containing a sequence of file records, totalling a data up to M records per blast (M is in the range of 200-10000, depending on the amount of buffers available at the sender/receiver - this is also a negotiable parameter during connection setup). The maximum number of records that can fit into a packet is 16. The provision for variable number of records in a packet is needed because the reading of file data from disk to transport buffers at the sender, the transport of data between the sender and receiver buffers through the network, and the writing of data from buffers to disk at the receiver may proceed asynchronously. This aspect has to be incorporated into the project. A packet may contain up to N (© 1) segments, with each segment containing a sequence of file records. To allow multiple segments in a packet, the sender prep ends the segments by a list of the form
{(st_rec1 , end_rec1), (st_rec2 , end_rec2) , … , (st_recN, end_recN) }for N © 1.
in the packet header, where st_reci, st_reci | i=1,2,... indicate the record numbers of the first and last records respectively in the ith segment of the packet. At the end of transmission of a blast, the file sender sends a IS_BLAST_OVER (Mst, Mfin) quering the file receiver if all of the records from Mst through Mfin were received. Upon receiving the IS_BLAST_OVER, the file receiver sends a packet REC_MISS containing a list of missing records in the blast cycle Mst - Mfin.The file sender then sends the missing records, again using the same format as before. The procedure repeats until the file sender receives a REC_MISS with an empty list.
Phase 3: Upon receiving a REG_MISS with empty list for the last blast, the file sender disconnects the receiver. The disconnect protocol should allow the file receiver process to linger on for a short period of time to ensure that any potential retransmissions of the IS-BLAST _OYER from the file sender can be responded to.
The file sender has a time out for FILE_HDR and IS_BLAST _OYER to allow retransmission-based recovery from packet loss. Remember that the datagram service can drop packets at will. Figure 2 shows a timing scenario to illustrate the main features in the data transfer phase of the protocol. Implement the above protocol on Solaris/Linux using the UDP (User Datagram Protocol) that is supported by the underlying UNIX kernel. The kernel provides a socket interface to the UDP (refer to UNIX system calls on interporcess communications, viz., send, receive, alarm and the related ones.) Your implementation involves: i) coding the protocol state machine (including timeouts), ii) translating the state machine into a UNIX networking program , and iii) testing the program as to wheather it functions correctly under packet loss conditions in the network. You need to measure the maximum throughput rate acievable by the blast protocol under various packet loss rates in the network (for this purpose you will be supplied a 'garbler' module that can inject 'packet loss' in the network at a specified rate). Note that your program should be able to transfer both text and binary files.
At the end of each program run, collect statistics on how many packets were lost in the throughput rate, and submit a report. Be sure to include a graph showing the variation of protocol throughput rate vs packet loss rate in the network.
Reminder
You may not start working in this and any request before
your bid is accepted. Users who violate this policy
may have their accounts permanently suspended.
|
|
|
|
| |
| Get the Free
Step-by-Step Guide on How to Use GetACoder |
The act of
outsourcing jobs has become easy in the past few years
thanks to GetACoder. However, our team aims at making the
whole process even easier. So, it has now come the time to
provide you with a step-by-step guidance on how to use this
service and succeed in the outsourcing world totally for
FREE.
It doesn't matter if you are a more experienced user or a
novice; using GetACoder will become even simpler with the
help of this E-book. There are two major sections: a Buyers
section and a Coders section.
Buyers will learn:
- How to outsource safely
- How to pick the best freelancers
- How to manage time and money
Coders will learn:
- How to get the best jobs
- How to secure their payments
- How to build a long-lasting relationship with buyers
...and MUCH MORE
Clear examples and pictures illustrating key situations,
great tips and real testimonies of some of our best users...
all in this Outsourcing Guide. So don't loose the
outstanding opportunity to download GetACoder FREE E-book.
|

 |
|
GetACoder is a leading Global Services Marketplace doing business in more than 200 countries. Our unique system accelerates your time to market and provides your business with key competitive advantages. When you use GetACoder you are stretching your budget and saving as much as 60% over traditional outsourcing. GetACoder is changing business, now it's no longer about what you own or build but which resources and talent you can access. With GetACoder you reduce expenses, increase efficiencies, aggressively grow your business, and create a sustainable competitive advantage. GetACoder makes outsourcing to any part of the world an easy task! With GetACoder it's simple to outsource any business request, gain access to global talent and manage jobs online. One of the main advantages of GetACoder is the low labor cost. The typically rates are about seven times lower than the ones in the US or Europe. Posting a request at GetACoder allows the right professional or company to find you and to bid for your work. We are building a reputation for exceeding our customers' expectations and for becoming an extremely cost effective way to outsource work. Use GetACoder when you want to save money, increase efficiency or accelerate the development of your request. With GetACoder you focus on growing your business and let others do the tedious work. Post your request on GetACoder for free. Find out why people outsource jobs with us day after day. Thousands of Satisfied Customers - Submit/View Quotes
| - | Now only i came to this site..I think its better than others..Thanks to getacoder team... - | | - | super,excellent,marvelous, hey I am talking about getacoder - | | - | Really every thing of this website in maintained way thanks. - |
|
|
| |
© 2004-2012 GetACoder. All rights reserved. |
|