Find Jobs
Hire Freelancers

Simplified RPC Run-time System

$30-60 USD

Completed
Posted about 22 years ago

$30-60 USD

Paid on delivery
For this project, you will implement a simplified RPC run-time system, along with client and server side stub routines for a set of functions provided to you, and a set of functions/programs that you design to demonstrate that your system works properly. The system should support function versioning, a choice of at-most-once and at-least-once semantics, and a dynamic binding process realized by a binder that exists at a well-known address within the system. Your implementation does NOT have to include a front-end mechanism for generating client side and server side stubs automatically. However, the design and organization of your software should reflect the fact that real-world RPC systems are used that way, and should be designed so that a front-end stub generator could be conveniently added to your solution. Your implementation also does not have to deal with matters of data conversion. All processes in the system will run on the Sun machines in the South Pod Laboratory on the first floor of the Engineering building. Your system should allow parameters and return values of type int, float, or char, along with arrays of these types consisting of up to 1024 elements. You do not have to handle any other types (e.g. double, short, etc.), nor records (structs) or pointers. At the time of registering an RPC function with the binder, the server should somehow indicate the call semantics of the function; that is, the server should say whether the semantics are "at-most-once" or "at-least-once". This call semantics should be returned to the client when it binds to the server, and should be reflected in calls to that function. Your RPC system should be built on top of Unix sockets, using C (or C++). You may want to use a threads package as well. As mentioned, you should implement a binder that runs at a well-known address, but this address (IP / port number pair) should be somehow configurable at run-time... (either by having it be read from a file by the server, client, and binder itself, or by including it as a command line argument, etc.---this will make things much easier on you during testing.) Make sure your binder and servers can deal with multiple simultaneous requests from clients. Grading You will be graded according to the following criteria: (1) [40%] Does it work?: Does your solution implement the basic functionality required. We will provide a test case for you to play with shortly (as soon as the TA gets back in town!) ## Deliverables Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Complete copyrights to all work purchased. code, with lots of documentation, clear comments, executable, separate c files for client.c , server.c and binder.c , header functions for serverstub.h, clientstub.h, etc. ## Platform Unix/sun solaris C code only
Project ID: 2841026

About the project

1 proposal
Remote project
Active 22 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
See private message.
$42.50 USD in 14 days
4.9 (139 reviews)
5.6
5.6

About the client

Flag of UNITED STATES
United States
5.0
8
Member since Feb 21, 2002

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.