UNIT – 5

Unit-05/Lecture-01

           Distributed Data Base Management System(DDBMS) (2012)

A distributed database (DDB) is a collection of multiple, logically interrelated databases distributed over a computer network. A distributed database management system (D–DBMS) is the software that manages the DDB and provides an access mechanism that makes this distribution transparent to the users.

Distributed database system (DDBS) = DDB + D–DBMS

What is not a DDBS?

(i)                 A timesharing computer system

(ii)               A loosely or tightly coupled multiprocessor system

(iii)             A database system which resides at one of the  nodes of a network of computers this is a  centralized database on a network node

 

                   

 

Implicit Assumptions

Data stored at a number of sites:-each site logically consists of a single processor. Processors at different sites are interconnected by a computer network:-no multiprocessors  ,it is parallel database systems. Distributed database is a database, not a collection of files-data logically related as exhibited in the users’ access patterns relational data model. D-DBMS is a full-fledged DBMS-not remote file system, not a TP system’

Advantages of distributed database:

1) In a distributed database, data can be stored in different systems like personal computers, servers, mainframes, etc.

2) A user doesn’t know where the data is located physically. Database presents the data to the user as if it were located locally.

3) Database can be accessed over different networks.

4) Data can be joined and updated from different tables which are located on different machines.

5) Even if a system fails the integrity of the distributed database is maintained.

6) A distributed database is secure.

 

Disadvantages of distributed database:

1) Since the data is accessed from a remote system, performance is reduced.

2) Static SQL cannot be used.

3) Network traffic is increased in a distributed database.

4) Database optimization is difficult in a distributed database.

5) Different data formats are used in different systems.

6) Different DBMS products are used in different systems which increases in complexity of the system.

7) Managing system catalogue is a difficult task.

8) While recovering a failed system, the DBMS has to make sure that the recovered system is consistent with other systems.

9) Managing distributed deadlock is a difficult task.

 

……………Reference{ https://cs.uwaterloo.ca}

 

Video link  {https://www.youtube.com/watch?v=qMjCliHkdZk}

 

 

 

 

S.NO

RGPV QUESTIONS

Year

Marks

Q.1

Explain Distributed database. Write the advantage and disadvantage of distributed database system?

 

 Dec2012

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                           Unit-05/Lecture-02

                Types of Distributed Database(Dec2013)

DDBMS may be classified as homogeneous or heterogeneous:

Homogeneous

A homogeneous distributed database environment is depicted in Figure 5.1.

                             FIGURE:  Homogeneous distributed database environment

This environment is typically defined by the following characteristics (related to the non autonomous category described previously):

(i)                  Data are distributed across all the nodes.

(ii)                The same DBMS is used at each location.

(iii)               All data are managed by the distributed DBMS (so there are no exclusively local data)  

 

                          

In Homogeneous: The same DBMS is used at each node.

A.      Autonomous :Each DBMS works independently, passing messages back and forth to share data updates.

B.      Non autonomous: A central, or master, DBMS coordinates database access and updates across the nodes.

Heterogeneous

In Heterogeneous:

(i)                 All users access the database through one global schema or databasedefinition.

(ii)               The global schema is simply the union of all the local database schemas.

It is difficult in most organizations to force a homogeneous environment, yet heterogeneous environments are much more difficult to manage.

A heterogeneous environment will be defined by the following characteristics (as depicted in Figure)

(i)                 Data are distributed across all the nodes.

(ii)               Different DBMSs may be used at each node.

(iii)              Some users require only local access to databases, which can be accomplished by using only the local DBMS and schema.

(iv)              A global schema exists, which allows local users to access remote data.

Heterogeneous Database:

Potentially different DBMSs are used at each node.

A.         Systems Supports some or all of the functionality of one logical database.

1. Full DBMS functionality Supports all of the functionality of a distributed database,

2. Partial-multidatabase Supports some features of a distributed database,

a          Federated Supports local databases for unique data requests.

(i.)        Loose integration Many schemas exist, for each local database, and each local DBMS must communicate with all local schemas.

(ii)        Tight integration One global schema exists that defines all the data across all local databases.

b.         Un federated Requires all access to go through a central coordinating module.

B.         Gateways Simple paths are created to other databases, without the benefits of one logical database

……………Reference { }

 

 

S.NO

RGPV QUESTIONS

Year

Marks

Q.1

Define and explain briefly Homogenous and Heterogeneous DDBMS?

Dec2013,2014

7

                                                     

              

 

 

 

 

 

                                                         Unit-05/Lecture-03

                                            Distributed Multimedia (Dec 2012)

Definition: Distributed multimedia systems consist of multimedia databases, proxy and information servers, and clients, and are intended to for the distribution of multimedia content over the networks. Multimedia applications generate and consume continuous streams  of data in real time. They contain large quantities of audio, video  and other time-based data elements, and the timely processing and  delivery of the individual data elements is essential

Modern computers can handle streams of continuous, time-based data such as digital audio and video. This capability has led to the development of distributed multimedia applications such as networked video libraries, Internet telephony and video conferencing. Such applications are viable with current general-purpose networks and systems, although the quality of the resulting audio and video is often less than satisfactory. More demanding applications such as large-scale video conferencing, digital TV production, interactive TV and video surveillance systems are beyond the capabilities of current networking and distributed system technologies.

 

Multimedia applications demand the timely delivery of streams of multimedia data to end users. Audio and video streams are generated and consumed in real time, and the timely delivery of the individual elements (audio samples, video frames) is essential to the integrity of the application. In short, multimedia systems are real-time systems: they must perform tasks and deliver results according to a schedule that is externally determined. The degree to which this is achieved by the underlying system is known as the quality of service(QoS) enjoyed by an application.

 

Architecture

A distributed multimedia system consists of three different basic components:

An Information server, a wide area network and a multimedia client on the user site. The user interface or the multimedia client deals with the issues related to presentation and manipulation of multimedia objects and the interaction with the user. The network provides the communication mechanism between the user and the server.

             The server is responsible for managing multimedia databases  and also composing general multimedia objects for the user. The composition of the object is a complex process of integrating and synchronizing multimedia data for transport, display and  manipulation. The system usually consists of multiple users,  servers and networks as shown below

 

                             

                                                             Figure.:Architecture of DMS

                                Characteristics Of Multimedia Data (Dec 2013)

·         We have referred to video and audio data as continuous and time-based. How can we define these characteristics more precisely? The term ‘continuous’ refers to the user’s view of the data. Internally, continuous media are represented as sequences of discrete values that replace each other over time. For example, the value of an image array is replaced 25 times per second to give the impression of a TV-quality view of a moving scene; a sound amplitude value is replaced 8000 times per second to convey telephone-quality speech.

 

·         Multimedia streams are said to be time-based(or isochronous) because timed data elements in audio and video streams define the semantics or ‘content’ of the stream. The times at which the values are played or recorded affect the validity of the data. Hence systems that support multimedia applications need to preserve the timing when they handle continuous data.

 

·         Multimedia streams are often bulky. Hence systems that support multimediaapplications need to move data with greater throughput than conventional systems. Figure -a ,shows some typical data rates and frame/sample frequencies We note that the resource bandwidth requirements for some are very large. This is especially so for video of reasonable quality.

 

 

 

 

 

                 

                                                              Figure -a

 

·         For example, an uncompressed standard TV video stream requires more than 120 Mbps, which exceeds the capacity of a 100-Mbps Ethernet network. A program that copies or applies a simple data transformation to each frame of a standard TV video streamrequires less than 10% of the CPU capacity of a PC.

 

·         The figures for high-definition television streams are higher, and we should note that in many applications, such as video conferencing, there is a need to handle multiple video and audio streams concurrently. The use of compressed representations to overcome these problems is therefore essential, although transformations such as video mixing and editing are difficult to accomplish with compressed streams

 

·         Although the use of compressed video and audio data reduces bandwidth requirements in communication networks it imposes substantial additional loads on processing resources at the source and destination. This processing has often been supplied through the use of special-purpose hardware to process and despatch video and audio information – the video and audio coders/decoders (Codecs) found on video cards manufactured for personal computers.

 

·         But increasing central processor power of personal computers and multiprocessor architectures are likely to enable them to perform much of this work in software using software coding and decoding filters. This approach offers greater flexibility with better support for application-specific data formats, special-purpose application logic and the simultaneous handling of multiple media streams.

 

 

 

……………Reference { george-coulouris-distributed-systems-concepts-and-design,886}

 

 

 

 

 

 

 

Q.1

What is multimedia database.Explain in detail?

 Dec2012

10

Q.2

Explain different characteristic of multimedia data?

 

Dec2013

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                              Unit-05/Lecture-04

                                                     Quality of service management   

·         When multimedia applications run in networks of personal computers they compete for resources at the workstations running the applications (processor cycles, bus cycles,buffer capacity) and in the networks (physical transmission links, switches, gateways).

 

·         Workstations and networks may have to support several multimedia and conventional applications. There is competition between the multimedia and conventional applications, between different multimedia applications and even between the media streams within individual applications.

 

·         The concurrent use of physical resources for a variety of tasks has long been possible with multi-tasking operating systems and shared networks. In multi-tasking operating systems the central processor is allocated to individual tasks (or processes) in a round-robin or other scheduling scheme that shares the processing resources on a best-efforts basis amongst all of the tasks currently competing for the central processor.

 

·         Networks are designed to enable messages from different sources to be interleaved allowing many virtual communication channels to exist on the same physical channels. The predominant local-area network technology, Ethernet, managesa shared transmission medium in a best-efforts manner.

 

·         Any node may use the medium when it is quiet. But packet collisions can occur and when they do sending nodes wait for random backoff periods in order to prevent repeated collisions. Collisions are likelyto occur when the network is heavily loaded and this scheme cannot provide anyguarantees regarding the bandwidth or latency in such situations

 

·         The key feature of these resource allocation schemes is that they handle increases in demand by spreading the available resources more thinly between the competing tasks. Round-robin and other best-efforts methods for sharing processor cycles and network bandwidth cannot meet the needs of multimedia applications.

 

·         As we have seen, the timely processing and transmission of multimedia streams is crucial for them. Late delivery is valueless. In order to achieve timely delivery, applications need guarantees that the necessary resources will be allocated and scheduled at the required times.

 

 

 

 

 

·         The management and allocation of resources to provide such guarantees is referred to as quality of service management.

.

      

                 Figure -b  Typical infrastructure components for multimedia applications

 

·         Figure b, shows the infrastructure components for a simple multimedia conferencing application running on two personal computers, using software data compression and format conversion. The white boxes represent software components whose resource requirements may affect the quality of service of the application.

·         The figure shows the most commonly-used abstract architecture for multimedia software, in which continuously flowing streams of media data elements (video frames,audio samples) are processed by a collection of processes and transferred between theprocesses by inter-process connections.

 

·         The processes produce, transform and consume continuous streams of multimedia data. The connections link the processes in a sequence from a source of media elements to a target at which it is rendered or consumed. The connections between the processes may be implemented by networked connections or by in-memory transfers when processes reside on the same machine.

 

·         For the elements of multimedia data to arrive at their target on time, each process must be allocated adequate CPU time, memory capacity and network bandwidth to perform its designated task and must be scheduled to use the resources sufficiently frequently to enable it to deliver the data elements in its stream to the next process on time

 

 

                   Figure –c   QoS specs for components of the application

In Figure –c, we set out resource requirements for the main software components

and network connections in Figure –b.

 

 

                 

                                                 Figure –d The QoS manager’s task

Figure -d shows the QoS manager’s responsibilities in the form of a flowchart.

 

In the next two sub-sections we describe the QoS manager’s two main sub-tasks:

 

Quality of service negotiation : The application indicates its resource requirements to the QoS manager. The QoS manager evaluates the feasibility of meeting the requirements against a database of the available resources and current resource commitments and gives a positive or negative response. If it is negative, the application may be reconfigured to use reduced resources and the process is repeated.

 

Admission control:  If the result of the resource evaluation is positive, the requested resources are reserved and the application is given a Resource Contract, stating the resources that have been reserved. The contract includes a time limit.The application is then free to run. If it changes its resource requirements it must notify the QoS Manager. If the requirements decrease, the resources released are returned to the database as available resources. If they increase, a new round of negotiation and admission control is initiated

 

……………Reference { george-coulouris-distributed-systems-concepts-and-design,887}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                               Unit-05 /Lecture-05

                            Case Study of Distributed System:- Amoeba, Mach, Chorus

                                                 Amoeba

The Amoeba operating system is designed to run on multiple machines across a network which appears to each user as a single shared machine. It is a heterogeneous distributed operating system designed for general-purpose computing. “It is designed to take a collection of machines and make them act together as a single integrated system.”  Details about where processes are run or files are being stored are hidden to the user. Amoeba can be used both as a distributed system for multiple users with multiple tasks, or a parallel system for a single difficult job.

Background

There was an explosion in personal computing in the 1980's when computers became affordable enough for each user to have a workstation. Around this time, a group at the Vrije Universiteit (VU) in Amsterdam started working on the problem of using multiple individual user systems in distributed and parallel ways.

System Design

The design goals for the Amoeba operating system included distribution, parallelism, transparency, and performance:

·         Distribution – Amoeba is a heterogeneous system which can be built on a LAN.

·         Parallelism – Amoeba can use multiple processors for a single job to decrease the total run time  for the job.

·         Transparency – Amoeba hides details about how the resources of the various machines are handled from the user.

·         Performance – Amoeba uses an optimized communication system to reduce the overhead associated with distributed and parallel computing.

Amoeba also uses a microkernel architecture in which a copy runs on each node in the system. This kernel supports only the basics needed locally for that system such as minimal process and communication primitives, memory management, and raw device I/O. Server processes which run on top of the microkernel are usually in user space.

The main communication mechanism for Amoeba is remote procedure call (RPC). This is also hidden from the user in the Amoeba Interface Language (AIL) which provides functions and procedures that handle the details of communication.

 

 

System architecture

Amoeba implements a universell distributed Client-Server-Modell. In fact, basically the whole system needs only three Functions to do all the work: The transaction call from the Client, and the GetRequest and PutReply functions on the Server side. 
An Amoeba System consists of four principle components: 

1.      Workstations

2.      Pool Processors

3.      Specialized Servers (File server...)

4.      Gateways

http://fsd-amoeba.sourceforge.net/images/arch.GIF

 

 

File system

Amoeba has dedicated file servers called Bullet servers. These servers store only the file data and not the names or hierarchy of the file system. “When a user program needs a file, it will request that the Bullet server send it the entire file in a single RPC.”This means that a file server must have at least 16 MB of RAM, and the amount of physical memory limits the maximum file size. Directories and file names are handled by separate directory servers.

    TCP/IP

Amoeba doesn't use TCP/IP for it's internal communication. However, an Amoeba system can contain a special server to provide TCP/IP communication to other systems.

“Amoeba is available for free to universities and other educational institutions and for special commercial prices and conditions to corporate, government, and other users.”         

…….. Reference{http://www.cs.vu.nl/pub/amoeba/Intro.pdf,P.K Sinha,643}

 

                                                       Unit-04/Lecture-06

                                                                      Mach

·         The Mach project [Acetta et al. 1986, Loepere 1991, Boykin et al. 1993] was based at Carnegie-Mellon University in the USA until 1994. Its development into a real-time kernel continued there [Lee et al. 1996], and groups at the University of Utah and the Open Software Foundation continued its development.

 

·         The Mach kernel was developed to provide direct compatibility with BSD UNIX. It was designed to provide advanced kernel facilities that would complement those of UNIX and allow a UNIX implementation to be spread across a network of multiprocessor and single-processor computers

 

·         Version 3.0 Mach is a basis for building user-level emulations of operating systems, database systems, language run-time systems and other items of system software that we call subsystems

 

                 

 

 

 

 

                                             

                        

                                                Figure-e Mach tasks, threads and communication   

 Design goals and chief design features :

 The main Mach design goals and features are as follows:

·         Multiprocessor operation:Mach was designed to execute on a shared memory multiprocessor so that both kernel threads and user-mode threads could be executed by any processor. Mach provides a multi-threaded model of user processes, with execution environments called tasksThreads are pre-emptively scheduled, whether they belong to the same tasks or to different tasks, to allow for parallel execution on a shared-memory multiprocessor.

 

·         Transparent extension to network operation:In order to allow for distributed programs thatextend transparently between uniprocessors and multiprocessors across a network, Mach has adopted a location-independent communication model involving ports as destinations. The Mach kernel, however, is designed to be 100% unaware of networks. The Mach design relies totally on user-level network server processes to ferry messages transparently across the network (Figure -e).

 

·         User-level servers:Mach implements an object-based model in which resources are managedeither by the kernel or by dynamically loaded servers. Originally, only user-level servers were allowed but later Mach was adapted to accommodate servers within the kernel’s address space.A primary aim was for most UNIX facilities to be implemented at user level, while providing binary compatibility with existing UNIX. With the exception of some kernel-managed resources, resources are accessed uniformly by message passing, however they are managed. To every resource, there corresponds a port managed by a server.                                                                                                                   

 

 

·         Operating system emulation:To support the binary-level emulation of UNIX and other operating systems, Mach allows for the transparent redirection of operating system calls to emulation library calls and thence to user-level operating system servers – a technique known as  trampolining. It also includes a facility that allows exceptions such as address space violations arising in application tasks to be handled by servers.

 

·         Flexible virtual memory implementation:Much effort was put into providing virtual memory enhancements that would equip Mach for UNIX emulation and for supporting other subsystems. This included taking a flexible approach to the layout of a process’s address space. Mach supports a large, sparse process address space, potentially containing many regions. Both messages and open files, for example, can appear as virtual memory regions. Regions can be private to a task, shared between tasks or copied from regions in other tasks. The design includes the use of memory mapping techniques, notably copy-on-write, to avoid copying data when, for example, messages are passed between tasks. Finally, Mach was designed to allow servers, rather than the kernel itself, to implement backing storage for virtual memory pages. Regions can be mapped to data managed by servers called external pagers

 

·         Portability:Mach was designed to be portable to a variety of hardware platforms. For this reason, machine-dependent code was isolated as far as possible. In particular, the virtual memory code was divided between machine-independent and machine-dependent parts

 

Communication model

Mach provides a single system call for message passing:  mach_msg

               

                                                       Figure -f

 

        

Messages:

A message consists of a fixed-size header followed by a variable-length list of data items (Figure-f).

The fixed-size header contains:

·         The destination port: For simplicity, this is part of the message rather than being specified as a separate parameter to the mach_msg system call. It is specified by the local identifier of the appropriate send  rights.

·         A reply port: If a reply is required, then send rights to a local port (that is, one for which the sending thread has receive rights) are enclosed in the message for this purpose.

·         An operation identifier : This identifies an operation (procedure) in the service interface and is meaningful only to applications

·         Extra data size : Following the header (that is, contiguous with it) there is, in general, a variable-sized list of typed items. There is no length limit to this, except the number of bitsin this field and the total address space size.

·         Each item in the list after the message header is one of the following (which can occur in any order in the message):

Typed message data: individual, in-line type-tagged data items;

 

Port rights: referred to by their local identifiers;

 

Pointers to out-of-line data: data held in a separate non-contiguous block of memory.

 

Ports: A Mach port has a message queue whose size can be set dynamically by the task with receive rights.

Mach_msg:

The Mach_msgsystem call provides for both asynchronous message passing and request-reply-style interactions, which makes it extremely complicated. We shall give only an overview of itssemantics. The complete call is as follows:

mach_msg(msg_header, option, snd_siz, rcv_siz, rcv_name, timeout, notify)

msg_header points to a common message header for the sent and received messages, option specifies send, receive or both, snd_siz and rcv_siz give the sizes of the sent and received message buffers, rcv_namespecifies the port or port set receive rights (if a message is received), timeout sets a limit to the total time to send and/or receive a message, notify supplies port rights

which the kernel is to use to send notification messages under exceptional conditions.

 

 

 

·         Mach_msg either sends a message, receives a message, or both. It is a single system call that clients use to send a request message and receive a reply, and servers use to reply to the last client and receive the next request message. Another benefit of using a combined send/receive call is that in the case of a client and server executing at the same computer the implementation can employ an optimization called handoff scheduling. This is where a task about to block after sending a message to another task ‘donates’ the rest of its timeslice to the other task’s thread. This is cheaper than going through the queue of RUNNABLE threads to select the next thread to run.

·         Messages sent by the same thread are delivered in sending order, and message delivery is reliable. At least, this is guaranteed where messages are sent between tasks hosted by a common kernel – even in the face of lack of buffer space. When messages are transmitted across a network to a failure-independent computer, at-most-once delivery semantics are provided

 

 

…….. Reference{http://www.cdk5.net,PK Sinha ,674 }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                       Unit-04/Lecture-07

                                                          Chorus

Chorus OS

Chorus is an operating system for embedded systems. An embedded system is a specialized system that is part of a larger system or machine. Chorus is a real-time OS (RTOS) which means that it responds immediately to input and can be used in real-time applications to solve real-time problems.

At its heart is the Chorus nucleus (microkernel). A microkernel is an OS with only the essential services such as interprocess communication, short-term scheduling, and memory management. Chorus implements these simple tools and makes them distributed on the lowest level.

Chorus is designed for reliability, availability, and scalability for critical telecommunications applications.

Background

Chorus started in 1980 as a research project at the French research institute INRIA. It started with version 0 which implemented structured processes called “actors.” In 1982, version 1 continued with multi-processor research and included structured messages and support for fault tolerance. Version 2 came out in 1984 and was source compatible with UNIX, meaning that UNIX programs could be recompiled and run on Chorus. In 1987, with version 3, Chorus went commercial, becoming Chorus Systems Inc. Furthermore, version 3 implemented RPC as the communication model.

Design goals and chief design features:

 

Chorus has the following design goals in common with Mach

•microkernel support for open system services, accessed by message passing;

•support for binary-level operating system emulation (in particular the emulation of UNIX) and other subsystems;

•transparent extensibility of kernel facilities to network operation;

•flexible virtual memory implementation.

• portability (the Chorus kernel is written in C++ and designed to be modular and split into machine-dependent and machine-independent parts);

•exploitation of shared memory multiprocessors.

 

 

 

 

 

 

 

Chorus also has the following goals and features:

 

Dynamically loadable servers: Chorus aims to achieve the same degree of modularity and openness as does Mach. Chorus supports dynamically loadable servers which may execute either at user-level or within the kernel address space.

 

Enhancement of UNIX: The Chorus design anticipates that users of the UNIX emulation might want to use enhanced facilities provided by the underlying kernel from within UNIX processes, such as multiple threads and the ability to create a new process at a remote computer.

 

Support for server groups and server reconfiguration: Chorus provides support for server groups in the form of group addressing modes for sending messages, including multicast. Port migration can be used to transfer management of a resource or collection of resources dynamically between servers, and is similar to the transfer of port receive rights in Mach.

 

Distributed memory multiprocessor operation: Chorus has been implemented on several distributed memory multiprocessors. Processors used in embedded multiprocessor systemsmay have relatively primitive hardware support for memory management. This has constrained the provision of features that assume the existence of sophisticated MMU hardware.

 

 

 

 

Real-time operation : The Chorus design aims to support real-time subsystems on the kernel.To this end, Chorus provides for flexible allocation of thread priorities and allows forcustomized thread scheduling policies; threads executing within the kernel can be scheduled pre-emptively

 

Chorus Microkernel

The Chorus microkernel (which they like to call the “nucleus”) has 4 major parts. The first part, the supervisor, handles hardware interrupts, traps, and exceptions. This portion must be rewritten when it is ported to a new system. The second part, the real-time executive, manages the processes, threads, and scheduling, along with the synchronization between threads. The virtual memory manager takes care of the low-level part of the paging system. The inter-process communication manager handles the UI’s (unique identifiers), ports, and sending messages in a transparent way.

The Chorus microkernel has low-level transparent connectivity services that let you distribute functions across multiple PCs. When one fails, you can automatically off-load to another. The size of the Chorus microkernel is about 50 to 60 Kb.

Processes

There are 3 kinds of processes which interact with each other and the nucleus to get jobs done. Starting with the lowest level, the processes are kernel, system, and user. Kernel processes reside in kernel space along with the nucleus. System and user processes reside in user space.

(i)                 Kernel processes are trusted and privileged, able to make demands on the nucleus and implement their own hardware functions. Kernel processes complete the necessary requirements for a basic operating system, and provide things such as file managers, stream and sock managers, device drivers, etc. However, these processes are only loaded as needed and can be removed or added during system execution. The relationship between kernel processes and the nucleus provide a way to extend and configure the functionality of the OS.

(ii)               System processes are trusted, able to send requests to kernel processes and to the nucleus itself. A subsystem consists of a collection of system processes that work together, eg. the UNIX subsystem known as MiX allows binary compatibility with UNIX.

(iii)             User processes are neither trusted or privileged. They may only ask something of the nucleus or kernel through a subsystem. No direct calls are allowed.

Real-time processes can run as system processes to reduce overhead

 

 

Comparisons and Conclusions

Amoeba was designed to be used on multiple CPU's connected by a LAN, whereas Chorus was designed to provide distributed services and architecture for embedded systems. Chorus started out far from UNIX, but has increasingly become closer and closer to UNIX. While Amoeba is designed to abstract or hide the multiple machines from users, Chorus was designed with the idea that users would not only be logging into a particular machine but would be doing most of their work on that machine.

                                      

                                       Fig:A compare is on of A moeba, Mach, and Chorus

…….. Reference{http://www.cdk5.net,PK Sinha ,696 }

 

 

 

 

 

 

 

 

 

 

                                                   Unit-04/Lecture-08

What is a middleware? What do we expect it to solve? Illustrate with CORBA? (2014)

Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".[1] Middleware makes it easier for software developers to perform communication and input/output, so they can focus on the specific purpose of their application. Middleware is the software that connects software components or enterprise applications. Middleware is the software layer that lies between the operating system and the applications on each side of a distributed computer network. Typically, it supports complex, distributed business software applications.

Middleware includes Web servers, application servers, content management systems, and similar tools that support application development and delivery.

Among the middleware supports for distributed objects, the Object Management Group (OMG)

Common Object Request Broker Architecture (CORBA) is certainly the most widespread, complex and mature infrastructure,. CORBA is a middleware that permits a very rich variety of coordination modalities between its components.

 

The architecture is based on the concept of a common software bus allowing for distributed object interoperability and providing a wide set of bus-related services to interacting objects. The main aim is to release application developers from all the duties that stem from the possible heterogeneity and distribution of C/S components:

 

CORBA client objects have no visibility of the location of the CORBA server objects they collaborate with, and their interaction is completely independent of both their implementation language and the platform where they are running. The most notable consideration in this context is that CORBA, apart from the variety of available policies for communication and coordination between components, has been designed from the beginning as a complex and layered architecture of facilities and services to support the implementation of

distributed C/S applications

…….. Reference{http://en.wikipedia.org}

                          Concurrency control in distributed databases ?(Dec -2014)

Concurrency Control: In distributed database systems database is typically used by many users. These systems usually allow multiple transactions to run concurrently i.e. at the same time. Concurrency control is the activity of coordinating concurrent accesses to a database in a multiuser database management system (DBMS). Concurrency control permits users to access a database in a multi-programmed fashion while preserving the illusion that each user is executing alone on a dedicated system. The main technical difficulty in attaining this goal is to prevent database updates performed by one user from interfering with database retrievals and updates performed by another.When the transactions are updating data concurrently, it may lead to several problems with the consistency of the data.

…….. Reference{. www.ijarcsse.com/docs/papers}

                      Top-Down and bottom-up approach to the design of data distribution

Top-down approach :

 

Top-down design process is mostly used in designing system from scratch. Figure illustrates the

process of top-down design. The process starts from a requirement analysis phase including analyzing of the company situation, defining problems and constraints, defining objectives, and designing scope and boundaries. The next two activities are conceptual design and view design.

 

Focus on the data requirements, the conceptual design deals with entity relationship modeling and normalization . It creates the abstract data structure to represent the real world items. The view design defines the user interfaces. The conceptual schema is a virtual view of all databases taken together in a distributed database environment. It should cover the entity and relationship requirement for all user views.

 

Furthermore, the conceptual model should support existing applications as well as future applications. The definition of the global conceptual schema (GCS) comes from the conceptual design. The next step is distribution design . The global conceptual schema and the access information collected from the view design activity are inputs of this step. By fragmenting and distributing entities over the system, this step designs the local conceptual schemas.

 

Therefore, this step can be further divided into two steps: fragmentation and allocation. Distribution design also includes the selection of DBMS software in each site. The mapping of the local conceptual schemas to the physical storage devices is accomplished through the physical design activity. Throughout the design and development of the distributed database system, constant monitoring and periodic adjustment and tuning are also critical activities in order to achieve successful database implementation and suitable user interfaces.

…….. Reference{. http://www.ijeset.com/media/11N5-IJESET0202505.pdf}

 

                                   

Bottom-up approach

 

Bottom-upapproach is suitable when the objective of the design is to integrate existing database

systems. The bottom-up design starts from the individual local conceptual schemas and the objective of the process is integrating local schemas into the global conceptual schema. One of the most important aspects of design strategy is to determine how to integrate multiple database system together. Implementation alternatives are classified according to the autonomy, distribution, and heterogeneity of the local systems.

Autonomy indicates the independency of individual DBMS. In the autonomous system, the individual DBMS are able to perform local operations independently and have no reliance on centralized service or control. The consistency of the whole system should not be affected by the behavior of the individual DBMS .

 

Three possible degrees of autonomy are tight integration, semiautonomous system, and total isolation. In a system which is tightly integrated, although information is stored in multiple databases, users only see a single image of the entire system [3]. One of the DBMS controls the processing of the user request. The DBMS in semiautonomous system can operate separately and they are also willing to share their local data. In total isolated systems, individual DBMS do not know the existence of other DBMS.

 

The physical distribution of data over multiple sites is another characteristic of distributed databases. Distributed system can be classified as client/server distribution or peer-to-distribution based on how the data are distributed and how to manage them. Heterogeneous DDBMS integrate multiple independent databases into a single distributed database system and provide transparency of the heterogeneity. Individual DBMS can implement different data model, use different query language and transaction management protocols

 

S.NO

RGPV QUESTIONS

Year

Marks

Q.1

Explain  T op-Down and bottom-up approach to the design of data distribution.

 

 Dec2014

7

Q.2

Concurrency control in distributed databases ?

Dec2014

7

Q.3

What is a middleware? What do we expect it to solve? Illustrate with CORBA?

Dec2014

7

 

References

 

S no.

BOOK

Author

Priority

1

Advance Concept in Operating System, McGraw Hill

Singhal & Shivratari

1

2

Distributed System Concepts and Design, Pearson Pub

Coulouris & Dollimore

2

3

Distributed Operating System Concept & Design, PHI

P.K.Sinha

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.