Characterization of Distributed Systems Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5th Ed.). Essex: Addison-Wesley Contents 2.1 Introduction 2.2 Examples of distributed systems 2.3 Trends in distributed systems 2.4 Focus on resource sharing 2.5 Challenges 2.6 Case Study: The World Wide Web 2.7 Summary Contents 2.1 Introduction 2.2 Examples of distributed systems 2.3 Trends in distributed systems 2.4 Focus on resource sharing 2.5 Challenges 2.6 Case Study: The World Wide Web 2.7 Summary 2.1 Introduction • Networks? – Everywhere – E.g. : Internet, mobile phone networks, corporate networks, factory networks, campus networks, home networks, in-car networks, etc. – What are the differences and similarities of these networks? 2.1 Introduction • What are distributed systems? – Systems that have hardware or software components located at networked computers – Communication and coordination of actions are done by passing messages – Networked computers may separated by any distance • Separate continents, buildings, rooms • OR may be in the same room 2.1 Introduction • Features of distributed systems: – Concurrency • Concurrent program execution – No global clock • Coordination of actions – Independent failures • Failure in a machine would not known by other machines 2.1 Introduction • Motivation for distributed systems: – Resource sharing • E.g. hardware components, software entity Contents 2.1 Introduction 2.2 Examples of distributed systems 2.3 Trends in distributed systems 2.4 Focus on resource sharing 2.5 Challenges 2.6 Case Study: The World Wide Web 2.7 Summary 2.2 Examples of distributed systems Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace. Creative industries and entertainment online gaming, music and film in the home, usergenerated content, e.g. YouTube, Flickr Healthcare health informatics, on online patient records, monitoring patients Education e-learning, virtual learning environments; distance learning Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth Science The Grid as an enabling technology for collaboration between scientists Environmental management sensor technology to monitor earthquakes, floods or tsunamis 2.2 Examples of distributed systems • Web search engine – An important tool for Internet users – Index the www contents (web pages, multimedia sources, e-books, etc. – How many pages of pages do the web contain? • Over 63 billion • 1 trillion unique web addresses 2.2 Examples of distributed systems • Massively multiplayer online games (MMOGs) – Large number of users interact through the Internet – E.g. Sony Ever Quest II, EVE online – Fast response time, real-time propagation of event 2.2 Examples of distributed systems • Financial trading – Real-time access to a wide range of information access (e.g. current share prices and trends, economic and political development) – Example, Reuters & Financial Information eXchange (FIX) events 2.2 Examples of distributed systems An example of financial trading systems Contents 2.1 Introduction 2.2 Examples of distributed systems 2.3 Trends in distributed systems 2.4 Focus on resource sharing 2.5 Challenges 2.6 Case Study: The World Wide Web 2.7 Summary 2.3 Trends in distributed systems • Top Technology Trends for 2014 – http://www.computer.org/portal/web/membershi p/Top-10-Tech-Trends-in-2014 2.3 Trends in distributed systems • The Fruits of Innovation: Top 10 IT Trends in 2014 – http://www.datacenterknowledge.com/archives/2 013/12/30/the-fruits-of-innovation-trends-2014/ 2.3 Trends in distributed systems • Significant changes in current distributed systems: – The emergence of pervasive technology – The emergence of ubiquitous & mobile computing – The increasing demand of multimedia technology – The view of distributed systems as a utility 2.3 Trends in distributed systems • Pervasive technology – Modern Internet – Collection of internetworked devices- wired & wireless – Pervasive resources and devices can be connected at any time and in any place 2.3 Trends in distributed systems intranet ☎ ☎ ISP ☎ ☎ backbone satellite link desktop computer: server: network link: A typical portion of the Internet 2.3 Trends in distributed systems • Mobile & ubiquitous computing – Small and portable devices are possible to be used within distributed systems • E.g. laptop computers, handheld devices, wearable devices, devices embedded in appliances – Mobile computing: portability of the devices and the ability to connect to networks in different places – Ubiquitous computing: small computing devices that available everywhere and are easily attached to networks 2.3 Trends in distributed systems Portable & handheld devices in a distributed system 2.3 Trends in distributed systems • Distributed multimedia systems – The use of multimedia contents in distributed systems • Multimedia support – Major benefits of multimedia support • Distributed multimedia computing can be accessed through desktop or mobile devices. E.g. live tv broadcast, video-on-demand, IP telephony, webcasting, etc. 2.3 Trends in distributed systems • Distributed computing as a utility – distributed resources as commodity or utility in similar as water and power. – Physical and logical service resources are rented rather than owned by the end users. • Physical resources: e.g. : storage and processing • Logical services: e.g. email, calendars – Cloud computing: distributed computing utility. A cloud is a set of internet-based application, storage and computing services sufficient to support most users’ needs 2.3 Trends in distributed systems Cloud computing 2.3 Trends in distributed systems • Cloud are implemented on cluster computers to provide the appropriate scale and performance required by such services – A cluster computer: a set of interconnected computers that cooperate closely to provide a single integrated high-performance computing capability – A blade server: a computer server that has been designed to minimize the use of physical space and energy 2.3 Trends in distributed systems • Grid Computing – Is a form of cloud computing – Authorized users share processing power, memory and data storage – Use to support scientific applications Contents 2.1 Introduction 2.2 Examples of distributed systems 2.3 Trends in distributed systems 2.4 Focus on resource sharing 2.5 Challenges 2.6 Case Study: The World Wide Web 2.7 Summary 2.4 Focus on resource sharing • Sharing of high-level resources – Disks and processors – Sharing of search engines, tools –which servers host these applications? • Computer-supported cooperative working (CSCW) – A group of users who cooperate directly share resources such as documents in a small closed group. 2.4 Focus on resource sharing • Service: a distinct part of a computer system that manages a collection of related resources and presents their functionality to users and applications. – E.g. File service, printing service, payment service – Service restricts resource access. A program is required to handle resource access for effective sharing . 2.4 Focus on resource sharing • Client-server computing: – Server: A running program (a process) that accepts requests from programs running on other computers – Client: The requesting process – Client invokes an operation – client send a request for an operation to be performed – Remote invocation – complete interaction between a client and a server Contents 2.1 Introduction 2.2 Examples of distributed systems 2.3 Trends in distributed systems 2.4 Focus on resource sharing 2.5 Challenges 2.6 Case Study: The World Wide Web 2.7 Summary 2.5 Challenges • As distributed systems are getting complex, developers face a number of challenges: – Heterogeneity – Openness – Security – Scalability – Failure handling – Concurrency – Transparency – Quality of service 2.5 Challenges • Heterogeneity – Users access services and run applications on a heterogeneous collection of computers and networks in the Internet – Heterogeneity in the context of – networks; computer hardware, OS, programming languages, implementations by different developers – Internet protocols are used by these different entities to communicate to each other 2.5 Challenges • Heterogeneity – A standard that allows different entities to communicate efficiently – Middleware : a software layer that provides a programming abstraction and masking the heterogeneity of the underlying networks, hardware, OS and programming languages. E.g.– CORBA, RMI – Mobile code : a program code that can be transferred from one computer to another and run at the destination. E.g. Java Applet, Javascript 2.5 Challenges • Openness – Openness- can the system be extended and reimplemented in different ways? – Key to openness availability of software specification and documentation – Examples of specifications – Request for Comment (RFC) provides technical specification and documentation about the systems – Open distributed systems – distributed systems that support resource sharing and extensible 2.5 Challenges • Security – The security components of information resources • Confidentiality – protection against disclosure to unauthorized individuals • Integrity – protection against alteration or corruption • Availability - protection against interference with the means to access the resources – Examples of security challenges: • Denial of service attacks • Security of mobile code 2.5 Challenges • Scalability – How effective the system works when there is an increase number of users or increase number of resource access – The challenges of designing scalable distributed systems: • • • • Controlling the cost of physical resources Controlling the performance loss Preventing software resources running out Avoiding performance bottleneck 2.5 Challenges Date 1993, July 1995, July 1997, July 1999, July 2001, July 2003, July 2005, July Computers Web servers Percentage 1,776,000 130 0.008 6,642,000 19,540,000 56,218,000 125,888,197 23,500 1,203,096 6,598,697 31,299,592 0.4 6 12 25 ~200,000,000 42,298,371 21 353,284,187 67,571,581 19 Growth of the Internet (computers and web servers) 2.5 Challenges • http://news.netcraft.com/archives/2014/01/0 3/january-2014-web-server-survey.html • Number of Websites: – 630 million web sites in January 2013 – 861 million in January 2014 (+37%) 2.5 Challenges • Failure handling – Distributed system failures are partial- some parts fail while others not – Dealing with failures in distributed systems: • Detecting failures – known/unknown failures • Masking failures – hide the failure from become severe. E.g. retransmit messages, backup of file data • Tolerating failures – clients can be designed to tolerate failures – e.g. inform users of failure and ask them to try later • Recovery from failures - recover and rollback data after a server has crashed • Redundancy- the way to tolerate failures – replication of services and data in multiple servers 2.5 Challenges • Concurrency – Access to a single service simultaneously/concurrently by multiple clients – services and applications must be designed to support concurrent access and work consistently 2.5 Challenges • Transparency – Concealment of services and applications, so that they can be seen as a whole system rather than a collection of independent objects or components – 8 forms of transparency: • Access transparency – access to local an remote resources using identical operations • Location transparency – access to resources without knowing the physical location of the machine 2.5 Challenges – 8 forms of transparency: • Concurrency transparency – several processes operate concurrently without interfering each other • Replication transparency – replication of resources in multiple servers. Users are not aware of the replication • Failure transparency – concealment of faults, allows users to complete their tasks without knowing of the failures • Mobility transparency – movement of resources and clients within a system without affecting users operations • Performance transparency – systems can be reconfigured to improve performance by considering their loads • Scaling transparency – systems and applications can be expanded without changing the structure or the application algorithms 2.5 Challenges • Access and location transparency are the two most important – also known as network transparency • Web resource names or URLs are location-transparent. The names refer to a computer name (web server) in a domain rather than to Internet addresses. However, they are not mobility transparent. Web pages can be moved to other server in the domain. Links are points to the original page. 2.5 Challenges • Quality of service – The main nonfunctional properties of distributed systems that affect the quality of service experienced by users or clients are: reliability, security, performance, adaptability. – Reliability? – Security? – Performance ? – Adaptability? Contents 2.1 Introduction 2.2 Examples of distributed systems 2.3 Trends in distributed systems 2.4 Focus on resource sharing 2.5 Challenges 2.6 Case Study: The World Wide Web 2.7 Summary 2.6 Case Study: The World Wide Web • History & background – www (web) & the Internet – CERN (European Center for Nuclear Research), Switzerland – Document exchange – Technological components of web: • HTML • URL • HTTP – Advances in web – dynamic pages, web services 2.6 Case Study: The World Wide Web Browsers Web servers http://www.google.comlsearch?q=obama www.google.com Internet www.cdk5.net http://www.cdk5.net/ www.w3c.org File system of www.w3c.org standards faq.html Contents 2.1 Introduction 2.2 Examples of distributed systems 2.3 Trends in distributed systems 2.4 Focus on resource sharing 2.5 Challenges 2.6 Case Study: The World Wide Web 2.7 Summary 2.7 Summary • Important points we have discussed: – Resource sharing – Challenges in developing distributed systems – www Group discussion • Select TWO(2) popular web search engines – Compare how many web pages and documents are indexed by the selected search engines. – How long it takes to search for the following phrases and how many related web documents are found? • Distributed systems • Distributed systems projects • distributed systems projects and assignments • What is your conclusion? Further information • Top 15 Most Popular Search Engines in March 2014 – http://www.ebizmba.com/articles/search-engines • Google Platform & how it works – http://en.wikipedia.org/wiki/Google_platform – http://computer.howstuffworks.com/internet/basi cs/google1.htm – http://www.datacenterknowledge.com/archives/2 011/08/01/report-google-uses-about-900000servers/ Thank you…