This document provides an overview of distributed systems, including definitions, important aspects, examples, characteristics, goals, architectures, and techniques for scaling distributed systems. A distributed system is defined as a collection of independent computers that appears as a single coherent system to users. Key goals of distributed systems are making resources accessible, hiding the distribution of resources from users, being open through standard interfaces, and being scalable to additional users and resources.
The document provides an introduction to distributed systems, including definitions, goals, and characteristics. It discusses key problems in distributed systems like concurrency, security, and partial failures. Some techniques for achieving scalability are also covered, such as hiding communication latencies, offloading work to clients, distributing data and computations, and replicating/caching data across multiple machines. The overall goals of distributed systems are to share resources, provide distribution transparency, support openness, and achieve scalability.
chapter 1- introduction to distributed system.pptAschalewAyele2
油
This document provides an introduction to distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. The goals of distributed systems are discussed, including resource accessibility, distribution transparency, openness, and scalability. Various types of distributed systems are also outlined, such as distributed computing systems like clusters, grids and clouds, distributed information systems like transaction processing and enterprise application integration, and distributed embedded systems like home, healthcare and sensor networks. Key techniques for improving scalability like hiding communication delays, distribution, and replication are also summarized.
A distributed system is a collection of independent computers that appears as a single coherent system to users. It provides advantages like cost-effectiveness, reliability, scalability, and flexibility but introduces challenges in achieving transparency, dependability, performance, and flexibility due to its distributed nature. A true distributed system that solves all these challenges perfectly is difficult to achieve due to limitations like network complexity and security issues.
A distributed system is a collection of independent computers that appears to its users as a single coherent system. Key characteristics include no shared memory, each computer runs its own local OS, and heterogeneity. Distributed systems aim to present a single-system image to hide the underlying hardware complexity and provide transparency. Middleware plays an important role in enabling communication and resource sharing across networked computers in a distributed system.
distributed system chapter one introduction to distribued system.pdflematadese670
油
distributed system chapter one introduction to distribued system
Your score increases as you pick a category, fill out a long description and add more tags distributed system chapter one introduction to distribued system distributed system chapter one introduction to distribued system distributed system chapter one introduction to distribued system
This document provides an overview of distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. Key characteristics include hiding differences between computers and providing consistent, uniform interaction regardless of location or time. The main goals of distributed systems are making resources accessible, achieving distribution transparency, being open and scalable. Techniques for improving scalability include hiding communication latencies, distribution, and replication. Challenges include lack of global state information and handling slow/failed nodes.
Distributed computing involves a collection of independent computers that appear as a single coherent system to users. It allows for pooling of resources and increased reliability through replication. Key aspects of distributed systems include hiding the distribution from users, providing a consistent interface, scalability, and fault tolerance. Common examples are web search, online games, and financial trading systems. Distributed computing is used for tasks like high-performance computing through cluster and grid computing.
Lect 2 Types of Distributed Systems.pptxPardonSamson
油
This document discusses different types of distributed systems including distributed computing systems and distributed information systems. Distributed computing systems are used for high-performance computing tasks and include cluster computing, where similar computers are connected by a network, and grid computing, where heterogeneous systems from different domains are connected. Distributed information systems allow data sharing across networked computers. The document also covers advantages and disadvantages as well as design issues of distributed systems such as transparency, reliability, performance, and security.
Working of Distributed System, Architectural Design Patterns ,
Types of Distributed Systems
Client-server systems:油
The most traditional and simple type of distributed system, involves a multitude of networked computers that interact with a central server for data storage, processing, or other common goal.
Peer-to-peer networks:油
They distribute workloads among hundreds or thousands of computers all running the same software.
Cell phone networks: 油It is an advanced distributed system, sharing workloads among handsets, switching systems, and internet-based devices.
Content for distributed system and advanced operating system for Computer Science and Engineering and
Information Technology
"Design Issues of Distributed System"
This document discusses distributed operating systems. A distributed OS connects multiple computers via communication channels to distribute processing jobs between central processors. It consists of nodes joined by networks that enable sharing of computing resources and files while providing users with virtual machines. The document describes types of distributed OS like client-server and peer-to-peer, and features like openness, resource sharing, transparency, and flexibility. Examples of distributed OS mentioned are Solaris, OSF/1, Micros, and DYNIX.
This document provides an overview of distributed computer systems. It discusses how distributed systems arose due to falling hardware costs and increasing network connectivity. A distributed system is defined as a collection of independent computers that appears as a single system to users. Examples include the web, processor pools, and airline reservation systems. Distributed systems aim to provide various forms of transparency to hide the distributed nature from users. They face challenges around scalability that can be addressed through techniques like replication, distribution, and hiding communication latency. The document outlines concepts in distributed operating systems, network operating systems, and middleware and compares different approaches. It also discusses client-server models and multitier architectures commonly used in distributed systems.
This document defines and discusses key principles and characteristics of distributed systems. It states that a distributed system is a collection of independent computers that appear as a single coherent system to users. Important goals of distributed systems are connecting users to resources, transparency, openness, and scalability. Distributed systems are made up of hardware components like multiple autonomous machines that communicate over a network, as well as software like middleware that hides the underlying platform heterogeneity from applications.
A distributed system is a collection of independent computers that appears to users as a single coherent system. Key properties of distributed systems include transparency, where differences between computers are hidden from users, coherency in providing consistent interaction regardless of location or time, and scalability to expand the system size and resources. Distributed systems aim to be reliable, remaining continuously available despite potential failures of individual components.
Distributed computing is a system where the components of a computer program are distributed and run across multiple computers that communicate over a network. It involves splitting tasks between participants to solve problems faster. Key advantages include reliability through redundancy, scalability by adding more systems, and faster computation through parallel processing. However, distributed systems also present challenges like more difficult troubleshooting, less software support, and higher costs for network infrastructure.
The document outlines the objectives and units of a course on distributed systems. The objectives are to learn about distributed environments, processes and synchronization, peer-to-peer networks, fault tolerance, network filesystems and middleware technologies. Unit 1 introduces distributed systems and covers resource sharing challenges, API protocols, data representation, marshaling, multicast communication and remote procedure calls.
The document defines a distributed system and provides examples. It outlines the challenges in designing distributed systems, including heterogeneity, openness, security, scalability, failure handling, concurrency, and transparency. Distributed systems divide tasks across networked computers and aim to appear as a single computer to users.
The document introduces distributed systems, defining them as collections of independent computers that appear as a single system to users, discusses the goals of transparency, openness, and scalability in distributed systems, and describes three main types - distributed computing systems for tasks like clustering and grids, distributed information systems for integrating applications, and distributed pervasive systems for mobile and embedded devices.
The document discusses different types of operating systems and communication networks. It describes distributed operating systems, multiprocessor operating systems, database operating systems, and real-time operating systems. It also covers distributed system architectures, issues in distributed operating systems like naming and resource management, and communication networks including local area networks and protocols like CSMA/CD.
The document provides an introduction to distributed systems, including definitions, goals, types, and challenges. It defines a distributed system as a collection of independent computers that appear as a single system to users. Distributed systems aim to share resources and data across multiple computers for availability, reliability, scalability, and performance. There are three main types: distributed computing systems, distributed information systems, and distributed pervasive systems. Developing distributed systems faces challenges around concurrency, security, partial failures, and heterogeneity.
UNIT-1 Introduction to Distributed SystemPPT.pptcnpnraja
油
Introduction to Distributed Systems Characterization of Distributed SystemsDistributed Architectural ModelsRemote InvocationRequest-Reply Protocols Remote Procedure Call Remote Method InvocationGroup Communication
Distributed Operating system slides having detail of :
1- Distributed Systems.
2- Distributed Operating Systems.
3- Functions
4- Types
5- Pros & cons.
Feel free to send me Email in case of any Query i'm happy to help you out in you preparation. or if you feel any animation related problems than i will email you the slides:
Name: Hashir Ahmad
Email: hashirahmad330@gmail.com
15 Premium WordPress Plugins You Need to Know Aboutabu noim md toha
油
WordPress is a powerhouse CMS that can be extended using plugins to enhance its functionality. While free plugins offer basic features, premium plugins provide advanced functionalities, better support, and security updates. Here are 15 must-know premium WordPress plugins that can take your website to the next level.
Why Choose Premium WordPress Plugins?
With thousands of free plugins available, you might wonder why anyone would pay for a premium WordPress plugin. As of now, the WordPress repository offers 58,909 free plugins, and many popular ones include a free version. So, why invest in premium plugins?
The simple answer: theyre often superior! Even the best free plugins typically have premium versions or add-ons that enable dedicated teams or companies to develop and maintain top-tier solutions in their category. Premium plugins offer enhanced features, better support, and ongoing updates, making them a worthwhile investment for serious website owners.
When to Invest in Premium WordPress Plugins
Many popular plugins offer free versions, but they often come with limitations. While free plugins may be sufficient for small websites or personal blogs, larger websites and serious businesses require more advanced features, reliable support, and regular updates to ensure optimal performance and security.
With premium WordPress plugins, you typically get:
Premium Support Faster, higher-quality assistance, often included in the purchase price.
Regular Updates Frequent improvements, security patches, and better-optimized code.
Advanced Features Many essential tools and functionalities are exclusive to premium versions.
Comprehensive Training & Documentation Detailed guides and tutorials to help you maximize the plugins potential.
Long-Term Stability A well-funded plugin ensures continued development and support, making it a sustainable choice for your business.
For businesses and professionals, premium plugins provide the reliability and enhancements needed to keep their websites running smoothly and securely.
This document provides an overview of distributed systems. It defines a distributed system as a collection of independent computers that appears as a single coherent system to users. Key characteristics include hiding differences between computers and providing consistent, uniform interaction regardless of location or time. The main goals of distributed systems are making resources accessible, achieving distribution transparency, being open and scalable. Techniques for improving scalability include hiding communication latencies, distribution, and replication. Challenges include lack of global state information and handling slow/failed nodes.
Distributed computing involves a collection of independent computers that appear as a single coherent system to users. It allows for pooling of resources and increased reliability through replication. Key aspects of distributed systems include hiding the distribution from users, providing a consistent interface, scalability, and fault tolerance. Common examples are web search, online games, and financial trading systems. Distributed computing is used for tasks like high-performance computing through cluster and grid computing.
Lect 2 Types of Distributed Systems.pptxPardonSamson
油
This document discusses different types of distributed systems including distributed computing systems and distributed information systems. Distributed computing systems are used for high-performance computing tasks and include cluster computing, where similar computers are connected by a network, and grid computing, where heterogeneous systems from different domains are connected. Distributed information systems allow data sharing across networked computers. The document also covers advantages and disadvantages as well as design issues of distributed systems such as transparency, reliability, performance, and security.
Working of Distributed System, Architectural Design Patterns ,
Types of Distributed Systems
Client-server systems:油
The most traditional and simple type of distributed system, involves a multitude of networked computers that interact with a central server for data storage, processing, or other common goal.
Peer-to-peer networks:油
They distribute workloads among hundreds or thousands of computers all running the same software.
Cell phone networks: 油It is an advanced distributed system, sharing workloads among handsets, switching systems, and internet-based devices.
Content for distributed system and advanced operating system for Computer Science and Engineering and
Information Technology
"Design Issues of Distributed System"
This document discusses distributed operating systems. A distributed OS connects multiple computers via communication channels to distribute processing jobs between central processors. It consists of nodes joined by networks that enable sharing of computing resources and files while providing users with virtual machines. The document describes types of distributed OS like client-server and peer-to-peer, and features like openness, resource sharing, transparency, and flexibility. Examples of distributed OS mentioned are Solaris, OSF/1, Micros, and DYNIX.
This document provides an overview of distributed computer systems. It discusses how distributed systems arose due to falling hardware costs and increasing network connectivity. A distributed system is defined as a collection of independent computers that appears as a single system to users. Examples include the web, processor pools, and airline reservation systems. Distributed systems aim to provide various forms of transparency to hide the distributed nature from users. They face challenges around scalability that can be addressed through techniques like replication, distribution, and hiding communication latency. The document outlines concepts in distributed operating systems, network operating systems, and middleware and compares different approaches. It also discusses client-server models and multitier architectures commonly used in distributed systems.
This document defines and discusses key principles and characteristics of distributed systems. It states that a distributed system is a collection of independent computers that appear as a single coherent system to users. Important goals of distributed systems are connecting users to resources, transparency, openness, and scalability. Distributed systems are made up of hardware components like multiple autonomous machines that communicate over a network, as well as software like middleware that hides the underlying platform heterogeneity from applications.
A distributed system is a collection of independent computers that appears to users as a single coherent system. Key properties of distributed systems include transparency, where differences between computers are hidden from users, coherency in providing consistent interaction regardless of location or time, and scalability to expand the system size and resources. Distributed systems aim to be reliable, remaining continuously available despite potential failures of individual components.
Distributed computing is a system where the components of a computer program are distributed and run across multiple computers that communicate over a network. It involves splitting tasks between participants to solve problems faster. Key advantages include reliability through redundancy, scalability by adding more systems, and faster computation through parallel processing. However, distributed systems also present challenges like more difficult troubleshooting, less software support, and higher costs for network infrastructure.
The document outlines the objectives and units of a course on distributed systems. The objectives are to learn about distributed environments, processes and synchronization, peer-to-peer networks, fault tolerance, network filesystems and middleware technologies. Unit 1 introduces distributed systems and covers resource sharing challenges, API protocols, data representation, marshaling, multicast communication and remote procedure calls.
The document defines a distributed system and provides examples. It outlines the challenges in designing distributed systems, including heterogeneity, openness, security, scalability, failure handling, concurrency, and transparency. Distributed systems divide tasks across networked computers and aim to appear as a single computer to users.
The document introduces distributed systems, defining them as collections of independent computers that appear as a single system to users, discusses the goals of transparency, openness, and scalability in distributed systems, and describes three main types - distributed computing systems for tasks like clustering and grids, distributed information systems for integrating applications, and distributed pervasive systems for mobile and embedded devices.
The document discusses different types of operating systems and communication networks. It describes distributed operating systems, multiprocessor operating systems, database operating systems, and real-time operating systems. It also covers distributed system architectures, issues in distributed operating systems like naming and resource management, and communication networks including local area networks and protocols like CSMA/CD.
The document provides an introduction to distributed systems, including definitions, goals, types, and challenges. It defines a distributed system as a collection of independent computers that appear as a single system to users. Distributed systems aim to share resources and data across multiple computers for availability, reliability, scalability, and performance. There are three main types: distributed computing systems, distributed information systems, and distributed pervasive systems. Developing distributed systems faces challenges around concurrency, security, partial failures, and heterogeneity.
UNIT-1 Introduction to Distributed SystemPPT.pptcnpnraja
油
Introduction to Distributed Systems Characterization of Distributed SystemsDistributed Architectural ModelsRemote InvocationRequest-Reply Protocols Remote Procedure Call Remote Method InvocationGroup Communication
Distributed Operating system slides having detail of :
1- Distributed Systems.
2- Distributed Operating Systems.
3- Functions
4- Types
5- Pros & cons.
Feel free to send me Email in case of any Query i'm happy to help you out in you preparation. or if you feel any animation related problems than i will email you the slides:
Name: Hashir Ahmad
Email: hashirahmad330@gmail.com
15 Premium WordPress Plugins You Need to Know Aboutabu noim md toha
油
WordPress is a powerhouse CMS that can be extended using plugins to enhance its functionality. While free plugins offer basic features, premium plugins provide advanced functionalities, better support, and security updates. Here are 15 must-know premium WordPress plugins that can take your website to the next level.
Why Choose Premium WordPress Plugins?
With thousands of free plugins available, you might wonder why anyone would pay for a premium WordPress plugin. As of now, the WordPress repository offers 58,909 free plugins, and many popular ones include a free version. So, why invest in premium plugins?
The simple answer: theyre often superior! Even the best free plugins typically have premium versions or add-ons that enable dedicated teams or companies to develop and maintain top-tier solutions in their category. Premium plugins offer enhanced features, better support, and ongoing updates, making them a worthwhile investment for serious website owners.
When to Invest in Premium WordPress Plugins
Many popular plugins offer free versions, but they often come with limitations. While free plugins may be sufficient for small websites or personal blogs, larger websites and serious businesses require more advanced features, reliable support, and regular updates to ensure optimal performance and security.
With premium WordPress plugins, you typically get:
Premium Support Faster, higher-quality assistance, often included in the purchase price.
Regular Updates Frequent improvements, security patches, and better-optimized code.
Advanced Features Many essential tools and functionalities are exclusive to premium versions.
Comprehensive Training & Documentation Detailed guides and tutorials to help you maximize the plugins potential.
Long-Term Stability A well-funded plugin ensures continued development and support, making it a sustainable choice for your business.
For businesses and professionals, premium plugins provide the reliability and enhancements needed to keep their websites running smoothly and securely.
Mobile App Security Essential Tips to Protect Your App in 2025.pdfWebConnect Pvt Ltd
油
Maintain the integrity of your mobile app in 2025 with successful security implementations. Adopt secure coding, end-to-end encryption, and regular security audits to maintain user data security and trust.
Some DNSSEC Measurements, presented at ICANN 82APNIC
油
Geoff Huston, Chief Scientist at APNIC presented 'Some DNSSEC Measurements' during the DNSSEC and Security Workshop at ICANN 82 held from 8 to 13 March 2025 in Seattle, Washington.
Transform your business by merging software development with digital marketing services, utilising cloud solutions for scalability, efficiency, and innovation with Makelink Innovation.
ewfweqrwqerwrwqrwqr qwr qw r qwrqwrqwrqw rqwrqwr qwrq wr wqr qwrfdwqf qw f qwf qw r qw f qw f qwf qw fqw r q2wr q3 32 r qwf qw f as f werweqt we fr ewf we fw qe fw egew g we g ewg ew ewg weg w eg we g ewg we g ewew
The Best Streaming Services for Documentaries and Educational Content.pdfInternet Bundle Now
油
Explore top streaming platforms for documentaries and educational content. Learn how to choose the best service for your needs with Internet Bundle Now.
SDLC Corp offers Odoo Support Service, ensuring seamless business operations with expert assistance. Our Odoo ERP Support Services enhance performance, while Odoo Technical Support resolves issues efficiently, optimizing workflows, improving system reliability, and boosting productivity for long-term success.
SDLC Corp specializes in providing tailored Odoo development solutions to help businesses optimize their operations. With expertise in Odoo ERP systems, we offer comprehensive services including custom Odoo development, integration, migration, and automation. Our team works closely with clients to understand their unique requirements, ensuring that the Odoo platform is fully aligned with business goals. We offer end-to-end support, from consultation and system design to implementation and post-launch maintenance. Whether you need enhanced functionality, improved workflows, or seamless integration with other systems, SDLC Corp ensures a smooth, efficient, and scalable Odoo solution.
Mastering SEO: Understanding How Search Engines and Google Algorithms WorkShashank Skills Academy
油
This presentation by Sandeep Bajoria from Shashank Skills Academy offers a deep dive into Search Engine Optimization (SEO) and its importance in digital marketing and covers Major Google Ranking Factors.
The presentation also explores the 3 main types of SEO:
Technical SEO
On-Page SEO
Off-Page SEO
This comprehensive guide is perfect for marketers, business owners, and SEO enthusiasts looking to boost website visibility and improve search engine rankings. ?
SDLC Corp, a leading Odoo POS development company, specializes in providing customized Odoo POS solutions to meet the unique needs of businesses across various industries. With a focus on enhancing operational efficiency, SDLC Corp offers end-to-end services, including Odoo POS customization, integration, and mobile app development. Our team of experienced Odoo POS developers ensures seamless solutions that streamline point-of-sale processes, improve inventory management, and boost customer satisfaction.
SDLC Corp offers a team of highly skilled Odoo developers to help businesses streamline their ERP workflows, ensuring smooth operations and increased efficiency. Our expert developers specialize in Odoo implementation, integration, and ongoing support, providing tailored solutions that meet the unique needs of your business. By leveraging Odoos powerful ERP capabilities, we help businesses optimize processes, reduce operational costs, and enhance overall productivity.
Partner with SDLC Corp, a trusted sted Odoo Service Provider, for tailored Odoo ERP solutions. Our expert services enhance business efficiency through seamless implementation and migration, offering personalized Odoo consultancy services to optimize workflows and support informed decision-making.
3. What Is A Distributed System?
A collection of independent computers that
appears to its users as a single coherent system.
Features:
No shared memory message-based communication
Each runs its own local OS
Heterogeneity
Ideal: to present a single-system image:
The distributed system looks like a single
computer rather than a collection of separate
computers.
4. Distributed System
Characteristics
To present a single-system image:
Hide internal organization, communication details
Provide uniform interface
Easily expandable
Adding new computers is hidden from users
Continuous availability
Failures in one component can be covered by other
components
Supported by middleware
5. Definition of a Distributed System
Figure 1-1. A distributed system organized as middleware. The
middleware layer runs on all machines, and offers a uniform
interface to the system
6. Role of Middleware (MW)
In some early research systems: MW tried to
provide the illusion that a collection of separate
machines was a single computer.
E.g. NOW project: GLUNIX middleware
Today:
clustering software allows independent computers to
work together closely
MW also supports seamless access to remote
services, doesnt try to look like a general-purpose
OS
8. Middleware Examples
All of the previous examples support
communication across a network:
They provide protocols that allow a program
running on one kind of computer, using one
kind of operating system, to call a program
running on another computer with a
different operating system
The communicating programs must be running
the same middleware.
10. Goal 1 Resource Availability
Support user access to remote resources (printers,
data files, web pages, CPU cycles) and the fair
sharing of the resources
Economics of sharing expensive resources
Performance enhancement due to multiple
processors; also due to ease of collaboration and
info exchange access to remote services
Groupware: tools to support collaboration
Resource sharing introduces security problems.
11. Goal 2 Distribution Transparency
Software hides some of the details of the
distribution of system resources.
Makes the system more user friendly.
A distributed system that appears to its users &
applications to be a single computer system is said
to be transparent.
Users & apps should be able to access remote
resources in the same way they access local
resources.
Transparency has several dimensions.
12. Types of Transparency
Transparency Description
Access Hide differences in data representation &
resource access (enables interoperability)
Location Hide location of resource (can use resource
without knowing its location)
Migration Hide possibility that a system may change
location of resource (no effect on access)
Replication Hide the possibility that multiple copies of the
resource exist (for reliability and/or
availability)
Concurrency Hide the possibility that the resource may be
shared concurrently
Failure Hide failure and recovery of the resource.
How does one differentiate betw. slow and
failed?
Relocation Hide that resource may be moved during use
Figure 1-2. Different forms of transparency in a distributed system
(ISO, 1995)
13. Goal 2: Degrees of Transparency
Trade-off: transparency versus other factors
Reduced performance: multiple attempts to
contact a remote server can slow down the
system should you report failure and let user
cancel request?
Convenience: direct the print request to my
local printer, not one on the next floor
Too much emphasis on transparency may prevent
the user from understanding system behavior.
14. Goal 3 - Openness
An open distributed system offers services according to
standard rules that describe the syntax and semantics of those
services. In other words, the interfaces to the system are
clearly specified and freely available.
Compare to network protocols
Not proprietary
Interface Definition/Description Languages (IDL): used to
describe the interfaces between software components, usually
in a distributed system
Definitions are language & machine independent
Support communication between systems using different
OS/programming languages; e.g. a C++ program running on Windows
communicates with a Java program running on UNIX
Communication is usually RPC-based.
15. Examples of IDLs
Goal 3-Openness
IDL: Interface Description Language
The original
WSDL: Web Services Description Language
Provides machine-readable descriptions of the
services
OMG IDL: used for RPC in CORBA
OMG Object Management Group
16. Interoperability: the ability of two different
systems or applications to work together
A process that needs a service should be able to
talk to any process that provides the service.
Multiple implementations of the same service
may be provided, as long as the interface is
maintained
Portability: an application designed to run
on one distributed system can run on another
system which implements the same interface.
Extensibility: Easy to add new components,
features
Open Systems Support
17. Goal 4 - Scalability
Dimensions that may scale:
With respect to size
With respect to geographical distribution
With respect to the number of administrative
organizations spanned
A scalable system still performs well as it
scales up along any of the three dimensions.
18. Size Scalability
Scalability is negatively affected when the system is
based on
Centralized server: one for all users
Centralized data: a single data base for all users
Centralized algorithms: one site collects all information,
processes it, distributes the results to all sites.
Complete knowledge: good
Time and network traffic: bad
19. Decentralized Algorithms
No machine has complete information
about the system state
Machines make decisions based only on
local information
Failure of a single machine doesnt ruin the
algorithm
There is no assumption that a global clock
exists.
20. Geographic Scalability
Early distributed systems ran on LANs, relied on
synchronous communication.
May be too slow for wide-area networks
Wide-area communication is unreliable, point-to-point;
Unpredictable time delays may even affect correctness
LAN communication is based on broadcast.
Consider how this affects an attempt to locate a
particular kind of service
Centralized components + wide-area
communication: waste of network bandwidth
21. Scalability - Administrative
Different domains may have different
policies about resource usage, management,
security, etc.
Trust often stops at administrative
boundaries
Requires protection from malicious attacks
22. Scaling Techniques
Scalability affects performance more than
anything else.
Three techniques to improve scalability:
Hiding communication latencies
Distribution
Replication
23. Hiding Communication Delays
Structure applications to use asynchronous
communication (no blocking for replies)
While waiting for one answer, do something else; e.g.,
create one thread to wait for the reply and let other
threads continue to process or schedule another task
Download part of the computation to the
requesting platform to speed up processing
Filling in forms to access a DB: send a separate
message for each field, or download form/code and
submit finished version.
i.e., shorten the wait times
24. Scaling Techniques
Figure 1-4. The difference between letting (a) a server
or (b) a client check forms as they are being filled.
25. Distribution
Instead of one centralized service, divide
into parts and distribute geographically
Each part handles one aspect of the job
Example: DNS namespace is organized as a
tree of domains; each domain is divided into
zones; names in each zone are handled by a
different name server
WWW consists of many (millions?) of servers
27. Third Scaling Technique -
Replication
Replication: multiple identical copies of
something
Replicated objects may also be distributed, but
arent necessarily.
Replication
Increases availability
Improves performance through load balancing
May avoid latency by improving proximity of
resource
28. Caching
Caching is a form of replication
Normally creates a (temporary) replica of
something closer to the user
Replication is often more permanent
User (client system) decides to cache,
server system decides to replicate
Both lead to consistency problems
29. Summary
Goals for Distribution
Resource accessibility
For sharing and enhanced performance
Distribution transparency
For easier use
Openness
To support interoperability, portability, extensibility
Scalability
With respect to size (number of users), geographic
distribution, administrative domains
30. Issues/Pitfalls of Distribution
Requirement for advanced software to realize the
potential benefits.
Security and privacy concerns regarding network
communication
Replication of data and services provides fault
tolerance and availability, but at a cost.
Network reliability, security, heterogeneity,
topology
Latency and bandwidth
Administrative domains
31. Distributed Systems
Early distributed systems emphasized the
single system image often tried to make a
networked set of computers look like an
ordinary general purpose computer
Examples: Amoeba, Sprite, NOW, Condor
(distributed batch system),
32. Distributed systems run distributed
applications, from file sharing to large scale
projects like SETI@Home
http://setiathome.ssl.berkeley.edu/
35. CORBA
CORBA is the acronym for Common Object
Request Broker Architecture, OMG's open,
vendor-independent architecture and infrastructure
that computer applications use to work together
over networks. Using the standard protocol IIOP,
a CORBA-based program from any vendor, on
almost any computer, operating system,
programming language, and network, can
interoperate with a CORBA-based program from
the same or another vendor, on almost any other
computer, operating system, programming
language, and network.
http://www.omg.org/gettingstarted/corbafaq.htm
36. ONC RPC
ONC RPC, short for Open Network
Computing Remote Procedure Call, is a
widely deployed remote procedure call
system. ONC was originally developed by
Sun Microsystems as part of their Network
File System project, and is sometimes
referred to as Sun ONC or Sun RPC.
http://en.wikipedia.org/wiki/Open_Network_Computing_Remote_Procedure_Call
37. Simple Object Access Protocol
SOAP is a lightweight protocol for exchange of
information in a decentralized, distributed environment. It
is an XML based protocol that consists of three parts: an
envelope that defines a framework for describing what is
in a message and how to process it, a set of encoding rules
for expressing instances of application-defined datatypes,
and a convention for representing remote procedure calls
and responses. SOAP can potentially be used in
combination with a variety of other protocols; however,
the only bindings defined in this document describe how to
use SOAP in combination with HTTP and HTTP
Extension Framework.
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/