Search code examples
socketsrmidistributeddistributed-computingcorba

Access transparency and location transparency


I have the following questions:

  1. Is UDP/IP Socket location transparent and access transparent? Why?
  2. Is TCP/IP Socket location transparent and access transparent? Why?
  3. Is Java RMI location transparent and access transparent? Why?
  4. Is CORBA location transparent and access transparent? Why?
  5. Is IPC location transparent and access transparent? Why?

I have trouble figuring out the difference between access transparency and location transparency.

I believe access transparency means you can access the remote and local methods using the same code.

and

Location transparency means that client would not know whether the procedure is remote or local.

However, this implies that if client is not access transparent then it is also not location transparent and vice-versa.

Please explain the relation between access transparency and location transparency as well.

Thanks!!


Solution

  • Is UDP/IP Socket location transparent and access transparent? Why?

    No. You have to know the location, and you can deal with the local object directly without a socket.

    Is TCP/IP Socket location transparent and access transparent? Why?

    Ditto.

    Is Java RMI location transparent

    Yes.

    and access transparent?

    No.

    Why?

    'Location transparent' because once you have the stub you don't know where its server is. 'Access non-transparent' because remote access has to deal with RemoteExceptions: local access may not have to.

    Is CORBA location transparent and access transparent? Why?

    Same answer as for RMI.

    Is IPC location transparent and access transparent? Why?

    Define 'IPC'.