17
1.Explain about different forms of computing? Cloud Computing : Cloud computing is a computing paradigm shift where computing is moved away from personal computers or an individual application server to a “cloud” of computers. Users of the cloud only need to be concerned with the computing service being asked for, as the underlying details of how it is achieved are hidden. This method of distributed computing is done through pooling all computer resources together and being managed by software rather than a human.  The servic es being req uested of a clou d are not limi ted to using web applic ations, but ca n also be T management tasks such as requesting of systems, a software stack or a specific web appliance. Grid Computing: !ultiple independent computing clusters which act like a “grid” because they are composed of resource nodes not located within a single administrative domain. "formal# $ffering online computation or storage as a metered commercial service, known as utility computing, computing on demand, or cloud computing.  The creatio n of a “virtual supercomp uter” by usi ng spare co mputing reso urces withi n an organi%ation. Utility Computing : Conventional nternet hosting services have the capability to quickly arrange for the rental of individual servers, for e&ample to provision a bank of web servers to accommodate a sudden surge in traffic to a web site. “Utility computing” usually envisions some form of virtuali%ation so that the amount of storage or computing power available is considerably larger than that of a single time'sharing computer. !ultipl e servers are used on the “back end” to make this possible. These might be a dedicated computer cluster specifically built for the purpose of being rented out, or even an under'utili%ed supercomputer. The technique of running a single calculation on multiple computers is known as distributed computing. Distributed Computing: ( method of computer processing in which different parts of a program are run simultaneously on two or more computers that are communicating with each other over a network. )istributed computing is a type of segmented or parallel computing, but the latter term is most commonly used to refer to processing in which different parts of a program run simultaneously on two or more processors that are part of the same computer. *hile both types of processing require that a program be segmented+divided into sections that can run simultaneously, distributed computing also requires that the division of the program take into account the different environments on which the different sections of the program will be running. or e&ample, two computers are likely to have different file systems and different hardware components. Cluster Computing: ( computer cluster is a group of linked computers , working together closely so that in many respects they form a single computer. The components of a cluster are commonly, but not

I-Mid Distributed computing.doc2

Embed Size (px)

Citation preview

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 1/17

1.Explain about different forms of computing?

Cloud Computing :

• Cloud computing is a computing paradigm shift where computing is moved away from

personal computers or an individual application server to a “cloud” of computers. Users of the

cloud only need to be concerned with the computing service being asked for, as the underlying

details of how it is achieved are hidden. This method of distributed computing is done throughpooling all computer resources together and being managed by software rather than a human.

•  The services being requested of a cloud are not limited to using web applications, but can also

be T management tasks such as requesting of systems, a software stack or a specific web

appliance.

Grid Computing:

• !ultiple independent computing clusters which act like a “grid” because they are composed of

resource nodes not located within a single administrative domain. "formal#

• $ffering online computation or storage as a metered commercial service, known as utility

computing, computing on demand, or cloud computing.

•  The creation of a “virtual supercomputer” by using spare computing resources within an

organi%ation.

Utility Computing :

• Conventional nternet hosting services have the capability to quickly arrange for the rental of

individual servers, for e&ample to provision a bank of web servers to accommodate a sudden

surge in traffic to a web site.

• “Utility computing” usually envisions some form of virtuali%ation so that the amount of storage

or computing power available is considerably larger than that of a single time'sharing

computer. !ultiple servers are used on the “back end” to make this possible. These might be a

dedicated computer cluster specifically built for the purpose of being rented out, or even an

under'utili%ed supercomputer. The technique of running a single calculation on multiple

computers is known as distributed computing.

Distributed Computing:

• ( method of computer processing in which different parts of a program are run simultaneously

on two or more computers that are communicating with each other over a network. )istributed

computing is a type of segmented or parallel computing, but the latter term is most commonly

used to refer to processing in which different parts of a program run simultaneously on two or

more processors that are part of the same computer. *hile both types of processing require

that a program be segmented+divided into sections that can run simultaneously, distributedcomputing also requires that the division of the program take into account the different

environments on which the different sections of the program will be running. or e&ample, two

computers are likely to have different file systems and different hardware components.

Cluster Computing:

• ( computer cluster is a group of linked computers, working together closely so that in many

respects they form a single computer. The components of a cluster are commonly, but not

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 2/17

always, connected to each other through fast local area networks. Clusters are usually

deployed to improve performance and-or availability over that provided by a single computer,

while typically being much more cost'effective than single computers of comparable speed or

availability.

2.Explain inter O! protocols?

Internet Inter-ORB Protocol (IIOP) is an object-oriented protocol used to facilitate network

interaction between distributed programs written in different programming languages. IIOP is

used to enhance Internet and intranet communication for applications and services.

IIOP is an integral component of the Common Object Request Broker Architecture (CORBA),

which is a well-known IT industry standard. IIOP is an implementation of General Inter-ORB

Protocol (GIOP), which is an abstract interation protocol used by object request brokers

(ORB).

IIOP is similar to Microsoft's Distributed Component Object Model (DCOM), which is a

primary CORBA/IIOP competitor.

""O#: "nternet "nter$O!

#rotocol

We are witnessing paramount changes in the last four or five years - changes that effect us in our

everyday life - the way we live, the way we communicate and the way we do business. TheInternet or the web technologies are giving us new powerful tools, everyday, to make our life

easier and better. We still need to constantly overcome the hurdles or stumbling blocks inherent

in any technology to gain a better living-style. Internet Inter-OR !rotocol "IIO!# is a paradigm-shift that promises to unite distributed ob$ects and applications with no language or platform

 barriers, and overcomes all the limitations of the current web technologies.

IIO! is an ob$ect-based protocol and has the potential to massively enhance the types of

applications or services or databases that are built and communicate on the web. IIO! provides a

comprehensive system through which live ob$ects can re%uest services from one another across

the corporate networks over the internet or intranet. IIO! is e&pected to become the ne&t standardcommunication protocol on the Internet, replacing, or coe&isting with, 'TT!()*I.

IIO! is a critical part of a strategic industry standard, the )ommon Ob$ect Re%uest roker+rchitecture ")OR+# and is defined by Ob$ect anagement *roup "O*, a consortium of

over companies world-wide#. /sing )OR+0s IIO! and related protocols, a company can

write programs that will be able to communicate with their own or other company0s e&isting orfuture programs wherever they are located, without having to understand anything about the

 program other than its service and a name.

IIO! offers several advantages like better architecture neutrality, communication transparency,

scalability and code reuse. This is not a concept $ust on paper, but is already happening and

working successfully in the most diversified organi1ations across the globe. IIO! is the

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 3/17

communication protocol across the 2 different organi1ations at +merican +utomobile

+ssociation "+++# and the hundreds of cell-sample centers at 3uropean ioinformatics Institute

to e&change information.

What is IIOP

efore diving into IIO!, let me first e&plain some of the terminology used in this article.

)OR+ is a distributed technology that supports access to remote ob$ects developed in multiple

languages across a variety of platforms. The core of the )OR+ architecture is the Ob$ectRe%uest roker "OR#, which is the ob$ect bus. The OR allows client applications to find

ob$ects and invoke methods on them locally or across a network. It handles passing re%uests,

responses and e&ceptions between a client ob$ect and a server ob$ect. When the clientapplications uses an ob$ect, it doesn4t need to know the ob$ect4s location, programming language

or type of platform because the OR masks these details. The OR handles the location of

server ob$ects in a repository that keeps this level of detail from the client.

3ach OR must define a standard representation for the ob$ects it transmits, the so-called on-the-

wire format. In an ideal world, all ORs would use the same on-the-wire format, but this is not

how )OR+ implementations have evolved. To cope with this problem, )OR+ 5. defines astandard format that ORs can use to e&change ob$ects6 the *eneral Inter-OR !rotocol "*IO!#.

The Internet Inter-OR !rotocol "IIO!# in turn specifies how *IO! maps to T)!.

To present things in a different way,

• )OR+ is to ob$ect oriented computing what the WWW is to documents

• I78 is to )OR+ what 'T8 is to the web

• IIO! is to )OR+ what 'TT! is to the www

• IOR is to )OR+ what /R8 is to the www

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 4/17

The working of IIOP

IIO! is a high-level protocol that takes care of many of the services associated with the levels

above the transport layer, including data translation, memory buffer management, dead-locks and

communication management. It is also responsible for directing re%uests to the correct ob$ectinstance within an OR.

)OR+ and IIO! assume the client-server model of computing in which a client programalways makes re%uests and a server program waits to receive re%uests from clients. 9or a client

to make a re%uest of a program somewhere in a network, it must have an address for the program

"ob$ect instance#. This address is known as the Interoperable Ob$ect Reference "IOR#. !art of the

address is based on the server0s I! address and port number. In the client0s computer, a table can be created to map IORs to pro&y names that are easier to use. + )ommon 7ata Representation

")7R# provides a way to encode and decode data so that it can be e&changed in a standard way.

The client application can access the ob$ect using the IOR, which masks the client application4sOR implementation from the OR implementation used to host the )OR+ ob$ect.

+t the lowest level, you have the physical device "an 3thernet

card# which gives you a +) address. 9rom there, you moveup into the 3thernet protocol, which gives you a connection-

 based, broadcast, bus-network topology, where messages are

encoded and collisions resolved. :e&t, you get into the Internet

!rotocol "I!#, which specifies the format of packets thattraverse the Internet and gives a hostname, specified in four

octets ";<5.;=.555.;25#. This hostname, along with additional

information, allows I! to be routed. +bove I! is the Transport)ontrol !rotocol "T)!#, which adds the functionality of port

number and control directives such as packet segmentation and

time to live. IIO! is built on T)!. This gives us reliable,

stream-based delivery and T)! is responsible for ensuring thatthe right application on a machine receives the message. +bove

IIO! is the OR level, which marshals and unmarshals the IIO!re%uests. 8ast is the application level, which includes ob$ect

implementations and other OR ob$ects such as the :aming

and other services. IIO! doesn4t have a default port to listen at.

IIO! helps )OR+ achieve language, site and platform independence but )OR+ is not the

only architecture that uses IIO!. ecause a T)!(I!-based pro&y is usable on almost any machine

that runs today, more parties now use IIO!. When another architecture is IIO!-compliant, it notonly establishes a well-proven communication transport for its use, but it also can communicate

with any OR implementation that is IIO!-compliant. The possibilities are endless.

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 5/17

%. Compare and contrast bet&een '" and emote

procedure call?

RI or Remote ethod Invokation is very similar to R!) or Remote !rocedure call in

that the client both send pro&y ob$ects "or stubs# to the server however the subtle

difference is that client side R!) invokes FUNCTIONS through the pro&y function and

RI invokes METHODS through the pro&y function. RMI is considered sight!

s"#erior as it is an o$%ect&oriented version of R!).

The main difference between R!) and RI is that RMI in'o'es objects. Instead of calling procedures remotely by use of a pro&y function, we instead use a pro&y object .

There is greater transparency with RI, namely due the e&ploitation of ob$ects, references,

inheritance, polymorphism, and e&ceptions as the technology is integrated into the language.

RI is also more advanced than R!), allowing for dynamic invocation, where interfaces can tochange at runtime, and object adaption, providing an additional layer of abstraction.

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 6/17

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 7/17

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 8/17

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 9/17

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 10/17

(. Explain about client$ser)er paradigm?

est known paradigm for network applications '' the client'server modelassigns asymmetric roles to two collaborating processes.

 $ne process, the server, plays the role of a service provider which waits

passively for the arrival of requests. The other, the client, issues specific

requests to the server and awaits its response.

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 11/17

/imple in concept, the client'server model provides an efficient abstraction

for the delivery of services.

$perations required include those for a server process to listen for and to

accept requests, and for a client process to issue requests and accept

responses.

y assigning asymmetric roles to the two sides, event synchroni%ation is

simplified0 the server process waits for requests, and the client in turn waitsfor responses.

 !any nternet services are client'server applications. These services are

often known by the protocol that the application implements. *ell known

nternet services include 1TT2, T2, )3/, finger, gopher, etc.

  (

  (

  (

s e r v i c e r e % u e s t

a s e r v e r p r o c e s s

a c l i e n t p r o c e s s

a s e r v i c e

T h e C i e n t & S e r ' e r P a r a d i g ) * c o n c e # t " a

S e r ' e r h o s t

C i e n t h o s t

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 12/17

*. #eer$to$#eer distributed computing?

*hereas the client'server paradigm is an ideal model for a centrali%ed network

service, the peer'to'peer paradigm is more appropriate for applications such as

instant messaging, peer'to'peer file transfers, video conferencing, and collaborative

work. t is also possible for an application to be based on both the client'server

model and the peer'to'peer model.

( well'known e&ample of a peer'to'peer file transfer service is Napster.com or

similar sites which allow files "primarily audio files# to be transmitted among

computers on the nternet. t makes use of a server for directory in addition to the

peer'to'peer computing.

 The peer'to'peer paradigm can be implemented with facilities using any tool that

provide message'passing, or with a higher'level tool such as one that supports the

point'to'point model of the !essage /ystem paradigm.

or web applications, the web agent  is a protocol promoted by the 43/$56 "the

43/ 2ublic Trust $rgani%ation# for peer'to'peer interprocess communication

“2ro7ect 84T( is a set of open, generali%ed peer'to'peer protocols that allow any

connected device "cell phone, to 2)(, 2C to server# on the network to communicate

and collaborate. 84T( is short for 8u&tapose, as in side by side. t is a recognition

that peer to peer is 7u&tapose to client server or *eb based computing '' what is

considered today9s traditional computing model. “

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 13/17

+. ,-e 'essage ystem #aradigm /'O'0?

 The !essage /ystem or !essage'$riented !iddleware "!$!# paradigm is an

elaboration of the basic message'passing paradigm.

n this paradigm, a message system serves as an intermediary among

separate, independent processes.

 The message system acts as a switch for messages, through which processes

e&change messages asynchronously, in a decoupled manner.

( sender deposits a message with the message system, which forwards it to

a message queue associated with each receiver. $nce a message is sent,

the sender is free to move on to other tasks.

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 14/17

,-e #oint$,o$#oint 'essage 'odel

n this model, a message system forwards a message from the sender to the

receiver:s message queue. Unlike the basic message passing model, the

middleware provides a message depository, and allows the sending and the

receiving to be decoupled. ;ia the middleware, a sender deposits a

message in the message queue of the receiving process. ( receiving process

e&tracts the messages from its message queue, and handles each one

accordingly. 

Compared to the basic message'passing model, this paradigm provides the

additional abstraction for asynchronous operations. To achieve the sameeffect with basic message'passing, a developer will have to make use of

threads or child processes.

 The 2ublish-/ubscribe !essage !odel

n this model, each message is associated with a specific topic or event.

(pplications interested in the occurrence of a specific event may subscribe to

messages for that event. *hen the awaited event occurs, the process

publishes a message announcing the event or topic. The middleware

message system distributes the message to all its subscribers.

 The publish-subscribe message model offers a powerful abstraction for

multicasting or group communication. The publish operation allows a

process to multicast to a group of processes, and the subscribe operation

allows a process to listen for such multicast.

( ( (

( ( (

) e s s a g e s ! s t e )

r e c e i ' e r s

s e n d e r

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 15/17

. ,-e Distributed Obects #aradigms?

 The idea of applying ob7ect orientation to distributed applications is a natural

e&tension of ob7ect'oriented software development.

(pplications access ob7ects distributed over a network.

$b7ects provide methods, through the invocation of which an applicationobtains access to services.

 $b7ect'oriented paradigms include0

5emote method invocation "5!#

3etwork services

$b7ect request broker

$b7ect spaces

5emote method invocation is the ob7ect'oriented equivalent of remote

method calls.

n this model, a process invokes the methods in an ob7ect, which may reside

in a remote host.

(s with 52C, arguments may be passed with the invocation.

3etwork services 0

n this paradigm, service providers register themselves with directory servers

on a network. ( process desiring a particular service contacts the directory

) e t h o d +

) e t h o d ,

P r o c e s s +P r o c e s s ,

a r e ) o t e o $ % e c t

T h e R e ) o t e M e t h o d C a P a r a d i g )

r e ) o t e ) e t h o d i n ' o c a t i o n

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 16/17

server at run time, and, if the service is available, will be provided a

reference to the service. Using the reference, the process interacts with the

service.

 This paradigm is essentially an e&tension of the remote method call

paradigm. The difference is that service ob7ects are registered with a global

directory service, allowing them to be look up and accessed by service

requestors on a federated network.

 8ava:s 8ini technology is based on this paradigm.

3. ,-e Collaborati)e 4pplication /Group&are0#aradigm?

n this model, processes participate in a collaborative session as a group.

<ach participating process may contribute input to part or all of the group.

2rocesses may do so using0

 multicasting to send data to all or part of the group, or they may use a

virtual sketchpads or whiteboards which allows each participant to read and write

data to a shared display.

S e r ' i c e r e - " e s t o r

D i r e c t o r ! s e r ' i c e

s e r ' i c e o $ % e c t

m e s s a g e

m e s s a g e

m e s s a g e

M e s s a g e & $ a s e d g r o " # w a r e # a r a d i g ) W h i t e $ o a r d & $ a s e d g r o " # w a r e # a r a d i g )

7/27/2019 I-Mid Distributed computing.doc2

http://slidepdf.com/reader/full/i-mid-distributed-computingdoc2 17/17

5. ,-e 'essage #assing #aradigm?

 !essage passing is the most fundamental paradigm for distributed applications.

( process sends a message, often representing a request.

 The message is delivered to a receiver, which processes the message, and

possibly sending a message in response.

n turn, the reply may trigger a further request, which leads to a subsequent

reply, and so forth.

 The basic operations required to support the basic message passing

paradigm are send, and receive.

or connection'oriented communication, the operations connect  and

disconnect  are also required.

*ith the abstraction provided by this model, the interconnected processes

perform input and output to each other, in a manner similar to file -$. The-$ operations encapsulate the details of network communication at the

operating'system level.

P r o c e s s .P r o c e s s /

a m e s s a g e

M e s s a g e # a s s i n g