Distributed Systems

Interprocess Communication

Interprocess Communication (IPC)

Overview

Java APIs for Internet Protocols

Data Representation

Higher level Protocols

API for IP

Communication send receive
Synchronous blocking blocking
Asynchronous non-blocking blocking (usually)

Sockets

Java Internet Address

IntAddress aComputer = IntAddress.getByName("registermachine.com")

UDP datagram Communication

Blocking

Timeouts

Possible failures

Java API

TCP Stream Communication

Establishing TCP stream socket

Closing a socket

Issues

Failure model

Java API

External Data Representation and Marshalling

CORBA’s Common Data Representation

CORBA CDR Message

Java Object serialization

public class Person implements Serializable {...}

XML Extensible Markup Language

<person id="123456789">
    <name>Smith</name>
    <place>London</place>
    <year>1934</year>
    <!-- comment -->
</person>

Elements, attributes

Namespace

<person pers:id="123456789" xlmns:pers ="http://abc.def/person">
    <pers:name>Smith</pers:name>
    <pers:place>London</pers:place>
    <pers:year>1934</pers:year>
    <!-- comment -->
</person>

Schema

```

JSON JavaScript Object Notation

Parsing Numbers

JSON Syntax: numbers

JSON vs XML

Group Communication

Uses

IP Multicast: Java API

API

Failure model

Overlay Networks: Network virtualisation

Advantages

Disadvantages

Types

Types of overlay

Skype

Skype overlay network

Properties

Various Configurations

Overlay 1

Overlay 2

Overlay 3

Overlay 4


Edit this page.