GetACoder.com

 
 

Home | My Account | Post Job | Browse Jobs | RSS Feeds | Careers New!

 

UDP File Transfer In Solaries

 
 
     
Job Summary:
 
Job Type: Project
Budget: $ 20-100
Required Skills:
Attached Files: (None)
 
Status: Work Performed (selected user rolandm)
 
Buyer Summary:
 
Username:
rumana8463  
Feedback Score: 10.00/1010.00/1010.00/1010.00/1010.00/1010.00/1010.00/1010.00/1010.00/1010.00/10 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.



 Bids Received (0)   Shortlist (0)   Declined Bids (0)   
Average bid amount:   $0.00   Average delivery time:   0 Day(s)
Place Bid | Post Similar Job | Send Request | Contact rumana8463

Order by:

 

Remember that contacting the other party outside the site (by email, phone, etc.) on all business jobs (before the request is awarded) is a violation of our terms of use. We supervise all site activity for such infringements and can immediately expel transgressors on the spot, so we thank you in advance for your cooperation. If you notice a violation please help out the site and report it. Thank you for your help.
 

 
 


 
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.
The Outsourcing Revolution: Why It Makes Sense and How to Do It Right
The Outsourcing Revolution: Why It Makes Sense and How to Do It Right
What is GetACoder?

GetACoder.comGetACoder 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... - shriramesh
-super,excellent,marvelous, hey I am talking about getacoder - mohmadullah
-Really every thing of this website in maintained way thanks. - lokeshsingh
Report Violation    Privacy Policy     Affiliate Program    Terms of Use    Contact Us    Help      GetACoder.com on Facebook      Follow GetACoder on Twitter      GetACoder.com Latest Requests RSS Feed
© 2004-2012 GetACoder. All rights reserved.