Distributed Systems

Only available on StudyMode
  • Download(s) : 171
  • Published : May 14, 2013
Open Document
Text Preview
Group communication:
A group with associated group membership, whereby processes may join or leave the group. Processes can then send a message to this group and have it propagated to all members of the group with certain guarantees in terms of reliability and ordering. Types:

Closed group: A group is said to be closed if only members of the group may multicast to it Open group: a group is open if processes outside the group may send to it.

Processes and threads:

Threads can be created and destroyed dynamically, as needed. The central aim of having multiple threads of execution is to maximize the degree of concurrent execution between operations.

Operating system architecture
There are two key examples of kernel design: the so-called monolithic and microkernel approaches:

Monolithic: It is massive – it performs all basic operating system functions and takes up in the order of megabytes of code and data – and that it is undifferentiated

Microkernel: The kernel provides only the most basic abstractions, principally address spaces, threads and local interprocess communication.

Comparison:
The chief advantages of a microkernel-based operating system are its:Extensibility and its ability to enforce modularity behind memory protection boundaries. In addition, a relatively small kernel is more likely to be free of bugs.| The relative efficiency with which operations can be invoked.|

Multicast:
A multicast operation is an operation that sends a single message from one process to each of the members of a group of processes, usually in such a way that the membership of the group is transparent to the sender. E.g. Sending an e-mail message to a mailing list, teleconferencing and videoconferencing. Multicast messages provide a useful infrastructure for constructing distributed systems with the following characteristics: 1. Fault tolerance based on replicated services: client requests are multicast to all the members of the group, each of which performs an identical operation. Even when some of the members fail, clients can still be served. 2. Discovering services in spontaneous networking: multicast messages can be used by servers and clients to locate available discovery services in order to register their interfaces or to look up the interfaces of other services in the distributed system. 3. Better performance through replicated data: data are replicated to increase the performance of a service 4. Propagation of event notifications: multicast to a group may be used to notify processes when something happens. For example, in facebook, when someone changes their status, all their friends receive notifications. A multicast group is specified by a class d internet address that is, an address whose first 4 bits are 1110 in Sending a message Receiving a Message bind(s, ClientAddress)

sendto(s, "message", ServerAddress)
bind(s, ServerAddress)
amount = recvfrom(s, buffer, from)
s = socket(AF_INET, SOCK_DGRAM, 0)
s = socket(AF_INET, SOCK_DGRAM, 0)
Sending a message Receiving a Message
bind(s, ClientAddress)
sendto(s, "message", ServerAddress)
bind(s, ServerAddress)
amount = recvfrom(s, buffer, from)
s = socket(AF_INET, SOCK_DGRAM, 0)
s = socket(AF_INET, SOCK_DGRAM, 0)
ipv4.

* sockets used for datagrams

* Sockets used for streams

Distributed Objects And Remote Invocation

1. RPC: which allows client programs to call procedures in server programs running in separate processes and generally in different computers from the client. 2. RMI – extension of local method invocation that allows an object living in one process to invoke the methods of an object living in another process. 3. The event-based programming model allows objects to receive notification of the events at other objects in which they have registered interest.

Interfaces
Service interfaces – is used to refer to the specification of the procedures offered by a server, defining the type of the input...
tracking img