distributed software. distributed computing it is a field of computer science that studies...

38
Distributed Software Distributed Software

Upload: alicia-lee

Post on 18-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed SoftwareDistributed Software

Page 2: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed ComputingDistributed Computing

It is a field of computer science that It is a field of computer science that studies distributed systems. A studies distributed systems. A distributed systemdistributed system consists of consists of multiple autonomous computers that multiple autonomous computers that communicate through a computer communicate through a computer network. The computers interact network. The computers interact with each other in order to achieve a with each other in order to achieve a common goal. common goal.

Page 3: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed ComputingDistributed Computing

Distributed computing also refers to Distributed computing also refers to the use of distributed systems to the use of distributed systems to solve computational problems. In solve computational problems. In distributed computing, a problem is distributed computing, a problem is divided into many tasks, each of divided into many tasks, each of which is solved by one computer.which is solved by one computer.

Page 4: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed Program & Distributed Program & ProgrammingProgramming

A computer program that runs in a A computer program that runs in a distributed system is called a distributed system is called a distributed programdistributed program, and , and distributed programmingdistributed programming is the is the process of writing such programs.process of writing such programs.

Page 5: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Parallel Vs Distributed Parallel Vs Distributed ComputingComputing

The terms "parallel computing", and The terms "parallel computing", and "distributed computing" have a lot of overlap, "distributed computing" have a lot of overlap, and no clear distinction exists between them. and no clear distinction exists between them.

The same system may be characterized both The same system may be characterized both as "parallel" and "distributed"; the processors as "parallel" and "distributed"; the processors in a typical distributed system run in a typical distributed system run concurrently in parallel. concurrently in parallel.

Parallel computing may be seen as a Parallel computing may be seen as a particular tightly-coupled form of distributed particular tightly-coupled form of distributed computing, and distributed computing may computing, and distributed computing may be seen as a loosely-coupled form of parallel be seen as a loosely-coupled form of parallel computing.computing.

Page 6: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Parallel Vs Distributed Parallel Vs Distributed ComputingComputing

It is possible to roughly classify concurrent It is possible to roughly classify concurrent systems as "parallel" or "distributed" using the systems as "parallel" or "distributed" using the following criteria:following criteria:

In parallel computing, all processors have access In parallel computing, all processors have access to a shared memory. Shared memory can be used to a shared memory. Shared memory can be used to exchange information between processors. to exchange information between processors.

In distributed computing, each processor has its In distributed computing, each processor has its own private memory (distributed memory). own private memory (distributed memory). Information is exchanged by passing messages Information is exchanged by passing messages between the processors.between the processors.

Page 7: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Parallel Vs Distributed Parallel Vs Distributed ComputingComputing

Page 8: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Parallel Vs Distributed Parallel Vs Distributed ComputingComputing

Figure (a) is a schematic view of a typical Figure (a) is a schematic view of a typical distributed system; as usual, the system is distributed system; as usual, the system is represented as a graph in which each node represented as a graph in which each node (vertex) is a computer and each edge (line (vertex) is a computer and each edge (line between two nodes) is a communication link.between two nodes) is a communication link.

Figure (b) shows the same distributed system Figure (b) shows the same distributed system in more detail: each computer has its own local in more detail: each computer has its own local memory, and information can be exchanged only memory, and information can be exchanged only by passing messages from one node to another by passing messages from one node to another by using the available communication links. by using the available communication links.

Figure (c) shows a parallel system in which each Figure (c) shows a parallel system in which each processor has a direct access to a shared processor has a direct access to a shared memory. memory.

Page 9: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Examples Of Distributed Examples Of Distributed SystemsSystems

Telecommunication networks: Telecommunication networks: Telephone networks and cellular networks. Telephone networks and cellular networks. Computer networks such as the Internet. Computer networks such as the Internet.

Network applications: Network applications: World wide web and peer-to-peer networks. World wide web and peer-to-peer networks. Massively multiplayer online games Massively multiplayer online games Distributed databases and distributed database Distributed databases and distributed database

management systems. management systems. Distributed information processing systems such as Distributed information processing systems such as

banking systems and airline reservation systems. banking systems and airline reservation systems. Real-time process control: Real-time process control:

Aircraft control systems. Aircraft control systems. Parallel computation: Parallel computation:

Scientific computing, including cluster computing and Scientific computing, including cluster computing and grid computing grid computing

Distributed rendering in computer graphics. Distributed rendering in computer graphics.

Page 10: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Grid ComputingGrid Computing

““The essence of grid computing The essence of grid computing lies in the lies in the efficientefficient and and optimal optimal utilizationutilization of a wide range of of a wide range of heterogeneousheterogeneous, , loosely coupledloosely coupled resources in an organization tied resources in an organization tied to sophisticated workload to sophisticated workload management capabilities”management capabilities”

Page 11: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Cluster ComputingCluster Computing

A group of tightly coupled computers A group of tightly coupled computers that work together closely so that in that work together closely so that in many respects they can be viewed as many respects they can be viewed as though they are a single computerthough they are a single computer

They are often connected to each They are often connected to each other through fast LANother through fast LAN

Page 12: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Grid Vs Cluster Grid Vs Cluster ComputingComputing

The key difference between grids and The key difference between grids and traditional clusters are that grids connect traditional clusters are that grids connect collections of computers which do not fully collections of computers which do not fully trust each other, or which are geographically trust each other, or which are geographically disperseddispersed

Grid computing is optimized for workloads Grid computing is optimized for workloads which consist of many independent jobs or which consist of many independent jobs or packets of work, which do not have to share packets of work, which do not have to share data between the jobs during the computation data between the jobs during the computation process. Grids serve to manage the allocation process. Grids serve to manage the allocation of jobs to computers which will perform the of jobs to computers which will perform the work independently of the rest of the grid work independently of the rest of the grid cluster. Resources such as storage may be cluster. Resources such as storage may be shared by all the nodes, but intermediate shared by all the nodes, but intermediate results of one job do not affect other jobs in results of one job do not affect other jobs in progress on other nodes of the grid.progress on other nodes of the grid.

Page 13: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Grid Vs Cluster Grid Vs Cluster ComputingComputing

Clusters usually contain a single Clusters usually contain a single type of processor and operating type of processor and operating system; grids can contain machines system; grids can contain machines from different vendors running from different vendors running various operating systemsvarious operating systems

Page 14: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Grid Vs Cluster Grid Vs Cluster ComputingComputing

Grids are dynamic by their nature, Grids are dynamic by their nature, resources come and go on the grid resources come and go on the grid whereas Clusters typically contain a static whereas Clusters typically contain a static number of processors and resourcesnumber of processors and resources

Grids are inherently distributed over a Grids are inherently distributed over a local, metropolitan, or wide-area network. local, metropolitan, or wide-area network. Usually, clusters are physically contained Usually, clusters are physically contained in the same complex in a single locationin the same complex in a single location

Page 15: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed ArchitecturesDistributed Architectures

Distributed programming typically Distributed programming typically falls into one of several basic falls into one of several basic architectures or categories: architectures or categories:

Client-serverClient-server 3-tier architecture 3-tier architecture N-tier architectureN-tier architecture Tight couplingTight coupling Peer-to-PeerPeer-to-Peer

Page 16: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed ArchitecturesDistributed Architectures Client-server Client-server

Smart client code contacts the server for data, then Smart client code contacts the server for data, then formats and displays it to the user. Input at the client is formats and displays it to the user. Input at the client is committed back to the server when it represents a committed back to the server when it represents a permanent change. permanent change.

Page 17: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed ArchitecturesDistributed Architectures• Tier 1: the client contains the

presentation logic, including simple control and user input validation. This application is also known as a thin client.

• Tier 2: the middle tier is also known as the application server, which provides the business processes logic and the data access.

• Tier 3: the data server provides the business data.

Page 18: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed ArchitecturesDistributed Architectures

Page 19: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed ArchitecturesDistributed ArchitecturesThese are some of the advantages of a

three-tier architecture:

1.It is easier to modify or replace any tier without affecting the other tiers.

2.Separating the application and database functionality means better load balancing.

3.Adequate security policies can be enforced within the server tiers without hindering the clients.

Page 20: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed ArchitecturesDistributed Architectures

N-tier architectureN-tier architecture N-Tier refers typically to web applications N-Tier refers typically to web applications which further forward their requests to other which further forward their requests to other enterprise services. This type of application is enterprise services. This type of application is the one most responsible for the success of the one most responsible for the success of application servers. application servers.

Tightly coupled (clustered)Tightly coupled (clustered) Refers typically to a cluster of machines that Refers typically to a cluster of machines that closely work together, running a shared closely work together, running a shared process in parallel. The task is subdivided in process in parallel. The task is subdivided in parts that are made individually by each one parts that are made individually by each one and then put back together to make the final and then put back together to make the final result. result.

Page 21: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Distributed ArchitecturesDistributed Architectures

Peer-to-peer Peer-to-peer

An architecture where there is no An architecture where there is no special machine or machines that special machine or machines that provide a service or manage the provide a service or manage the network resources. Instead all network resources. Instead all responsibilities are uniformly responsibilities are uniformly divided among all machines, known divided among all machines, known as peers. Peers can serve both as as peers. Peers can serve both as clients and servers.clients and servers.

Page 22: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Challenges Of Distributed Challenges Of Distributed SoftwareSoftware

FailureFailureA failure is an event that occurs A failure is an event that occurs when a component fails to behave when a component fails to behave according to its specification. according to its specification.

Page 23: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Challenges Of Distributed Challenges Of Distributed SoftwareSoftware

Processing site failuresProcessing site failures Because the processing sites of a Because the processing sites of a

distributed system are independent of each distributed system are independent of each other, they are independent points of other, they are independent points of failure. failure.

A processing site failure means that the A processing site failure means that the software on the remaining sites needs to software on the remaining sites needs to detect and handle that failure in some way. detect and handle that failure in some way.

This may involve redistributing the This may involve redistributing the functionality from the failed site to other, functionality from the failed site to other, operational, sites, or it may mean switching operational, sites, or it may mean switching to some emergency mode of operation. to some emergency mode of operation.

Page 24: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Challenges Of Distributed Challenges Of Distributed SoftwareSoftware

Communication media failures Communication media failures Another kind of failure that is inherent in Another kind of failure that is inherent in

most distributed systems comes from the most distributed systems comes from the communication medium. The most obvious, of communication medium. The most obvious, of course, is a complete hard failure of the course, is a complete hard failure of the entire medium, whereby communication entire medium, whereby communication between processing sites is not possible. between processing sites is not possible.

In the most severe cases, this type of failure In the most severe cases, this type of failure can lead to partitioning of the system into can lead to partitioning of the system into multiple parts that are completely isolated multiple parts that are completely isolated from each other. from each other.

Page 25: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Challenges Of Distributed Challenges Of Distributed SoftwareSoftware

Transmission delays Transmission delays

While transmission delays are not necessarily While transmission delays are not necessarily failures, they can certainly lead to failures. failures, they can certainly lead to failures.

Two different types of problems are caused Two different types of problems are caused by message delays. One type of problem by message delays. One type of problem results from variable delays results from variable delays (jitter).(jitter).

That is, the time taken for messages to reach That is, the time taken for messages to reach the destination may vary significantly. The the destination may vary significantly. The delays depend on a number of factors, such delays depend on a number of factors, such as the route taken through the as the route taken through the communication medium, congestion in the communication medium, congestion in the medium, congestion at the processing sites medium, congestion at the processing sites (for example, a busy receiver).(for example, a busy receiver).

Page 26: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Challenges Of Distributed Challenges Of Distributed SoftwareSoftware

Heterogeneity Heterogeneity

Many distributed systems arose out of the need Many distributed systems arose out of the need to integrate legacy stand-alone software systems to integrate legacy stand-alone software systems into a larger more comprehensive system. into a larger more comprehensive system.

Since the individual systems were often Since the individual systems were often developed independently of each other, they developed independently of each other, they may have been based on different architectural may have been based on different architectural principles and even different programming and principles and even different programming and operating system technologies. operating system technologies.

This creates another common problem of This creates another common problem of distribution: integration of heterogeneous distribution: integration of heterogeneous technologies. technologies.

Page 27: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Challenges Of Distributed Challenges Of Distributed SoftwareSoftware

For example, one system might use a For example, one system might use a 16-bit integer format with the most 16-bit integer format with the most significant bit in the leftmost position, significant bit in the leftmost position, while its peer may use a 32-bit format while its peer may use a 32-bit format with the most significant bit in the with the most significant bit in the rightmost position. rightmost position.

Page 28: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Multimedia SoftwareMultimedia Software

Page 29: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

MultimediaMultimedia

The use of computers to present text, The use of computers to present text, graphics, video, animation, and sound in graphics, video, animation, and sound in an integrated way.an integrated way.

Multimedia is media and content that uses Multimedia is media and content that uses

a combination of different content forms. a combination of different content forms.

Multimedia includes a combination of text, Multimedia includes a combination of text, audio, still images, animation, video, and audio, still images, animation, video, and interactivity content forms.interactivity content forms.

Page 30: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

MultimediaMultimedia

Text Audio Still Image

Animation Interactivity Video Footage

Page 31: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Multimedia Data TypesMultimedia Data Types

Text:Text: Data in the form of letters, numbers, and Data in the form of letters, numbers, and

other special characters.other special characters. File formats include DOC, TXT, ASCII, File formats include DOC, TXT, ASCII,

RTF, PDFRTF, PDFGraphics:Graphics: Are pictures like drawings, paintings, Are pictures like drawings, paintings,

photos.photos. Are displayed using pixels (picture Are displayed using pixels (picture

elements), the smallest part of the screen elements), the smallest part of the screen that can be controlled by the computer.that can be controlled by the computer.

Page 32: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Multimedia Data TypesMultimedia Data Types

Raster graphicsRaster graphics Pictures found on the Web and photos you import Pictures found on the Web and photos you import

from your digital camera are raster graphics. They from your digital camera are raster graphics. They are made up of grid of pixels, commonly referred to are made up of grid of pixels, commonly referred to as a bitmap. as a bitmap.

The larger the image, the more disk space the image The larger the image, the more disk space the image file will take up. For example, a 640 x 480 image file will take up. For example, a 640 x 480 image requires information to be stored for 307,200 pixels requires information to be stored for 307,200 pixels

Produce good quality images where shading and fine Produce good quality images where shading and fine detail are needed.detail are needed.

Can create jaggies (Distort) when enlarged.Can create jaggies (Distort) when enlarged. File formats include File formats include

BMP = Bit MappedBMP = Bit Mapped JPEG, JPG = Joint Picture Expert GroupJPEG, JPG = Joint Picture Expert Group GIF = Graphical Interchange FormatGIF = Graphical Interchange Format TIFF = Tagged Image File formatTIFF = Tagged Image File format

Page 33: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Multimedia Data TypesMultimedia Data TypesVector graphicsVector graphics

Vector graphics are not made up of a grid of Vector graphics are not made up of a grid of pixels.pixels.

Store pictures as a collection of objects like Store pictures as a collection of objects like shapes and lines.shapes and lines.

Instead, vector graphics are comprised of Instead, vector graphics are comprised of paths, which are defined by a start and end paths, which are defined by a start and end point, along with other points, curves, and point, along with other points, curves, and angles along the way. A path can be a line, a angles along the way. A path can be a line, a square, a triangle, or a curvy shape. These square, a triangle, or a curvy shape. These paths can be used to create simple drawings or paths can be used to create simple drawings or complex diagrams. complex diagrams.

Because vector-based images are not made up Because vector-based images are not made up of a specific number of dots, they can be scaled of a specific number of dots, they can be scaled to a larger size and not lose any image quality. to a larger size and not lose any image quality.

Page 34: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Multimedia Data TypesMultimedia Data Types

If you blow up a raster graphic, it If you blow up a raster graphic, it will look blocky, or "pixelated." will look blocky, or "pixelated."

When you blow up a vector graphic, When you blow up a vector graphic, the edges of each object within the the edges of each object within the graphic stay smooth and clean. This graphic stay smooth and clean. This makes vector graphics ideal for makes vector graphics ideal for logos, which can be small enough to logos, which can be small enough to appear on a business card, but can appear on a business card, but can also be scaled.also be scaled.

Common file formats include CDR, Common file formats include CDR, WMF( WMF( Windows metafile), Windows metafile), EPS, PICT EPS, PICT etc.etc.

Page 35: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Multimedia Data TypesMultimedia Data Types

AudioAudio:: Sound that has been digitised or Sound that has been digitised or

represented in the form of digitsrepresented in the form of digits The digitised signals from a computer are The digitised signals from a computer are

converted into analogue sound waves for converted into analogue sound waves for transmission through speakers.transmission through speakers.

Common file formats includeCommon file formats includeWAV(WAV(Waveform AudioWaveform Audio), MP3(), MP3(MPEG1 MPEG1 Audio layer-3Audio layer-3), WMA(), WMA(Windows Media Windows Media AudioAudio), MIDI(), MIDI(Musical Instrument Digital Musical Instrument Digital InterfaceInterface))

Page 36: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Multimedia Data TypesMultimedia Data Types

AnimationAnimation:: is the apparent movement of an object. It is the is the apparent movement of an object. It is the

result of a series of graphics or frames result of a series of graphics or frames presented in rapid succession. Common file presented in rapid succession. Common file formats includeformats include SWF, MOV, Animated GIFSWF, MOV, Animated GIF

Path based animationPath based animation displays the movement of displays the movement of an object onto a fixed background in a an object onto a fixed background in a particular sequence. The shape of the particular sequence. The shape of the animated object remains the same.animated object remains the same.

Cel-based animationCel-based animation uses a sequence of still uses a sequence of still images, each displayed in a frame. The position images, each displayed in a frame. The position or shape of the animated object changes.or shape of the animated object changes.

TweeningTweening is the process of generating the is the process of generating the intermediate frames between two objects in intermediate frames between two objects in frames. (in betweening)frames. (in betweening)

Page 37: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Multimedia Data TypesMultimedia Data Types

Video:Video: Made up of frames that contain Made up of frames that contain

individual images. When the video is individual images. When the video is played the frames are displayed in played the frames are displayed in sequencesequence

Frame rateFrame rate is the number of frames per is the number of frames per second. (15-60 fps)second. (15-60 fps)

Common file formats include Common file formats include MPEG(MPEG(Moving Picture Experts GroupMoving Picture Experts Group), ), AVI(AVI(Audio Video InterleavedAudio Video Interleaved), Div X, ), Div X, WMV(WMV(Windows Media VideoWindows Media Video), MOV.), MOV.

Page 38: Distributed Software. Distributed Computing It is a field of computer science that studies distributed systems. A distributed system consists of multiple

Examples of Multimedia Examples of Multimedia SoftwareSoftware

PRESENTATION SOFTWARE:PRESENTATION SOFTWARE: Is used to make multimedia presentations to a group Is used to make multimedia presentations to a group

of people using a series of slides.of people using a series of slides. Eg. Microsoft PowerPointEg. Microsoft PowerPointMULTIMEDIA AUTHORING SOFTWARE:MULTIMEDIA AUTHORING SOFTWARE: Is used to create and edit a multimedia product. Is used to create and edit a multimedia product.

Parts of the project can be prepared in various Parts of the project can be prepared in various software, and is then imported into the authoring software, and is then imported into the authoring software to create the interactivity.software to create the interactivity.

Eg. Macromedia Director, Hyperstudio, Macromedia Eg. Macromedia Director, Hyperstudio, Macromedia authorwareauthorware

WEB AUTHORING SOFTWARE:WEB AUTHORING SOFTWARE: Is used to create and manage a multimedia website.Is used to create and manage a multimedia website. Eg. Macromedia Dreamweaver, Microsoft FrontPage.Eg. Macromedia Dreamweaver, Microsoft FrontPage.