Ask Question, Ask an Expert


Ask Programming Language Expert

Implementing Dynamic Binding for RPC:

In this assignment you will use sockets to implement dynamic binding and a simplified form of RPC. You will have three programs: a client, a server and a name server. The client comprises of a test program which calls your remote procedure. This program is linked to a client stub which does the usual jobs: marshalling parameters, connecting to the server, sending a request, receiving the reply and returning the outcome to the test program. You must do the connection by using Internet domain stream sockets. The server must accept requests, unmarshall the parameters, call the remote procedure and return the result. The server is linked to the remote procedure. You must prepare a client stub which has the same name, number of parameters and return type as your remote procedure. In another words, you are implementing a limited form of RPC. The client and server programs must run on different Linux machines. Your implementation must use dynamic binding meaning that your client program does not know the address of the server. Rather it knows the IP address and port number of a third program - the name server. The name server accepts requests containing an identifier for the remote procedure and returns a handle containing the address of the server to be used in contacting the server or an error message if it does not know where the server is. The connection from the client to the name server must also be done by using stream sockets. The server will as well contact the name server to register (it notifies the name server of its identifier and its address). When the server shuts down it deregisters with the name server.

Your name server must be written in such a way that it could handle more than one remote procedure. Your client stub must signal to the client if it cannot find the server by raising a signal. Your test program should be written in such a manner that we can test the following:

a) Server registers;

b) Client gets handle;

c) Client calls remote procedure and gets result;

d) Server deregisters and moves then is successfully contacted by client which formerly held a handle;

e) Server deregisters, client stub which previously held a handle can’t contact server thus it raises a signal. describe the procedure to test each of these cases in your readme file.

Extra credit: Further implement RPC by automatically generating client and server stubs from the IDL file. Your generator (a stand-alone program) must work on general files (not just one specific file). The file (whose format you can decide on) must allow one remote procedure to be describeed. The file must give the name of the remote procedure, an identifier for the remote procedure, the names and types of parameters and the return type. Parameters can be integers, characters, or arrays of integers or characters.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M9908

Have any Question? 

Related Questions in Programming Language

Assignmentyou will write a program that acts like a simple

Assignment You will write a program that acts like a simple calculator for binary numbers. You should read in a string of input that has the format: number operator number. Each of the numbers should be presented in two' ...

Pair programming phase 1talent agency user stories1 user

Pair Programming Phase 1 Talent Agency User Stories 1. User Story 1 As a head office administrator I want to be able to produce formatted output of all the information about our talent agencies so that I can easily incor ...

The given machine description will provide the basis for

The given machine description will provide the basis for this assignment. You will create a virtual machine/operating system for the machine described below that will accept programs in the target machine language. The d ...

Part a-1 what arguments can you make for the idea of a

Part A- 1. What arguments can you make for the idea of a single programming language for all programming domains? It would be ideal to have a single programming language for all 2. What arguments can you make against the ...

Engineering programmingi need this now please accurate

Engineering programming I need this now please accurate answers and must be high rated Problem #1 Write a program that asks the user to input the number of miles and convert the miles to kilometers, and then print the ou ...

1 implement dfs by using prolog2 implement bfs by using

1. Implement DFS by using PROLOG. 2. Implement BFS by using PROLOG. 3.  Solve the problem of Question 3 in Assignment 1 by using your PROLOG programs of DFS and BFS, respectively. Question 3 from Assignment 1 to Solve wi ...

1 construct a markov algorithm that will reverse the order

1) Construct a Markov Algorithm that will reverse the order of an input string that consists of zero or more upper case letters. ABCDE should become EDCBA, AB should become BA, A should stay A, and A should stay A. NOTE: ...

Write a program that calculates several possible tips to

Write a program that calculates several possible tips to give to a waiter at a restaurant. Ask the user to enter the total cost of the meal and then calculate a tip at 10%, 12.5%, 15%, 17.5%, and 20%. Write the original ...

1 loops the greatest and the least- write a program with a

1. Loops: The greatest and the least- Write a program with a loop that lets the user to enter a series of integers. The use should enter -99 to signal the end of the series. After all the numbers have been entered, the p ...

Programming assignment 1 grocery storethis assignment

Programming Assignment #1: Grocery Store This assignment attempts to serve as a refresher for concepts that I hope you learned in CS 122. In this assignment, you will be building a simple storefront for a small grocery s ...

  • 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

A cola-dispensing machine is set to dispense 9 ounces of

A cola-dispensing machine is set to dispense 9 ounces of cola per cup, with a standard deviation of 1.0 ounce. The manuf

What is marketingbullwhat is marketing think back to your

What is Marketing? • "What is marketing"? Think back to your impressions before you started this class versus how you

Question -your client david smith runs a small it

QUESTION - Your client, David Smith runs a small IT consulting business specialising in computer software and techno

Inspection of a random sample of 22 aircraft showed that 15

Inspection of a random sample of 22 aircraft showed that 15 needed repairs to fix a wiring problem that might compromise

Effective hrmquestionhow can an effective hrm system help

Effective HRM Question How can an effective HRM system help facilitate the achievement of an organization's strate