410 likes | 573 Views
Unit 2 Concepts and Design goals. ระบบสารสนเทศแบบกระจาย Distributed Information System. อ.คเชนทร์ ซ่อนกลิ่น. Topic. Definition of Distributed Systems Distributed and Centralized systems Key Characteristics Design Concepts and Goals Key Design Goals Basic Design Issues User Requirements.
E N D
Unit 2 Concepts and Design goals ระบบสารสนเทศแบบกระจาย Distributed Information System อ.คเชนทร์ ซ่อนกลิ่น
Topic • Definition of Distributed Systems • Distributed and Centralized systems • Key Characteristics • Design Concepts and Goals • Key Design Goals • Basic Design Issues • User Requirements
Definition of Distributed Systems 1. ความหมายของระบบสารสนเทศแบบกระจาย การนำเอาเครื่องคอมพิวเตอร์หลายๆ เครื่องมาเชื่อมต่อกัน เพื่อต้องการให้ เครื่องคอมพิวเตอร์เหล่านั้น สามารถที่จะส่ง หรือ แลกเปลี่ยนข้อมูลระหว่างกันได้ โดยมีการเชื่อมต่อระบบเครือข่ายเพื่อใช้กระจายหน้าที่ กระจายการเป็นศูนย์บริการ และเชื่อมต่อเข้าด้วยกัน ด้วยจุดประสงค์ต่างๆ กัน ในมาตรฐาน TCP/IP ซึ่งเป็นที่ยอมรับทั้ง Windows, Linux, Unix และ Mac ทำให้คอมพิวเตอร์สามารถสื่อสารกันรู้เรื่องเข้าใจ และก่อให้เกิดประโยชน์ร่วมกัน
Definition of Distributed Systems ระบบสารสนเทศแบบกระจาย
Definition of Distributed Systems การเปรียบเทียบระบบ (System Comparison) สามารถเปรียบเทียบระบบคอมพิวเตอร์กับการทำงานของมนุษย์ โดยเครื่องคอมพิวเตอร์แต่ละเครื่องเปรียบได้กับมนุษย์แต่ละคน ดังนั้นการทำงานของระบบสารสนเทศแบบกระจาย สามารถเทียบได้กับการทำงานเป็นกลุ่มหรือเป็นทีมของมนุษย์ เพื่อให้บรรลุวัตถุประสงค์ของการทำงานนั้นๆ
Distributed and Centralized Systems 2. ความแตกต่างระหว่างการออกแบบซอฟต์แวร์กับการออกแบบระบบ • การออกแบบซอฟต์แวร์ เป็นการออกแบบโมดูล หรือโปรแกรมย่อยๆ ในตัวโปรแกรมทั้งหมด • การออกแบบระบบ เป็นการจัดส่วนประกอบของระบบงานสารสนเทศ ซึ่งประกอบด้วย Data, Process, Output ว่าให้อยู่ตรงส่วนใด
Distributed and Centralized Systems แต่เดิมระบบคอมพิวเตอร์ มีการทำงานแบบรวมศูนย์ (Centralized Systems) หรือเปรียบเทียบได้กับการทำงานของมนุษย์ ในลักษณะทำงานทุกอย่างด้วยคนเพียงคนเดียว ข้อจำกัด - เมื่องานมากขึ้น จะไม่สามารถทำงานได้ทันตามเวลากำหนด - งานเฉพาะด้านที่ต้องการคนที่มีความสามารถ ก็อาจทำให้หาคนที่เก่งเฉพาะทางยากหรือต้องเสียค่าใช้จ่ายสูง ข้อดี - จัดการง่าย สะดวกรวดเร็ว - มีความปลอดภัยของข้อมูลสูง
Distributed and Centralized Systems การออกแบบระบบ ประกอบด้วย • ระบบงานแบบรวมศูนย์ (Centralized Systems) • ระบบงานแบบกระจาย (Distributed System) Centralized Systems Distributed System
Distributed and Centralized Systems ระบบงานแบบรวมศูนย์ (Centralized Systems) เป็นระบบงานที่รวมเอาข้อมูล(data) กระบวนการทำงาน (Process) และส่วนติดต่อกับผู้ใช้ (Interface) ไว้ในเครื่องคอมพิวเตอร์เครื่องเดียว ผู้ใช้ระบบใช้งานทำงานผ่านเครื่องเทอร์มินัล (Terminal) A TeleVideo 925 http://www2.cffn.ca/usha/part-iii-article-by-pramod-dhakal/129-the-law-of-rule-centralized-decentralized-and-distributed-systems
Distributed and Centralized Systems ระบบงานแบบรวมศูนย์ (Centralized Systems) ข้อดี - มีความปลอดภัยข้อมูลสูง (ความน่าเชื่อถือ) - การควบคุมจัดการรวมที่ส่วนกลางทั้งหมด ข้อเสีย - ต้นทุนแพง - ยากในการอัปเกรดเครื่องเพื่อรองรับจำนวนผู้ใช้งานที่มากขึ้น เนื่องจากต้องเพิ่มขนาดของส่วนประมวลผลกลางให้มีขนาดใหญ่ตามไปด้วย
Distributed and Centralized Systems ระบบงานแบบกระจาย (Distributed System) เป็นระบบงานที่แบ่งแยกองค์ประกอบต่างๆ (Data, Process, Interface) ของระบบไปยังเครื่องคอมพิวเตอร์เครื่องอื่นๆ โดยเชื่อมโยงกันผ่านเครือข่าย http://www2.cffn.ca/usha/part-iii-article-by-pramod-dhakal/129-the-law-of-rule-centralized-decentralized-and-distributed-systems
Distributed and Centralized Systems ระบบงานแบบกระจาย (Distributed System) ประโยชน์ของการใช้ระบบแบบกระจาย 1. กระบวนการดำเนินธุรกิจในปัจจุบัน เป็นลักษณะการกระจายการทำงานไปยังสถานที่ต่างๆ 2. การกระจายการทำงานทำให้ข้อมูล ข่าวสาร และบริการต่าง ๆ ใกล้ชิดกับผู้ใช้ หรือลูกค้ามากขึ้น 3. ราคาของเครื่องพิวเตอร์ และอุปกรณ์เครือข่ายถูกลง
Distributed and Centralized Systems ตัวอย่าง ระบบงานแบบกระจาย • Distributed UNIX • Commercial Applications • Wide Area Network Applications (WAN) – Internet • Multimedia Information Access and Conferencing Applications - Voice and Video are continuous media, Time-based data
Distributed and Centralized Systems A server room in Council Bluffs, Iowa. Photo: Google/Connie Zhou
Distributed and Centralized Systems Here hundreds of fans funnel hot air from the server racks into a cooling unit to be recirculated in Oklahoma. The green lights are the server status LEDs reflecting from the front of the servers http://www.dailymail.co.uk/sciencetech/article-2219188/Inside-Google-pictures-gives-look-8-vast-data-centres.html
Distributed and Centralized Systems Even the water pipes reflect Google's brand: These colorful pipes are responsible for carrying water in and out of an Oregon data center. The blue pipes supply cold water and the red pipes return the warm water back to be cooled. http://www.dailymail.co.uk/sciencetech/article-2219188/Inside-Google-pictures-gives-look-8-vast-data-centres.html
Distributed and Centralized Systems http://www.dailymail.co.uk/sciencetech/article-2219188/Inside-Google-pictures-gives-look-8-vast-data-centres.html
Distributed and Centralized Systems http://www.dailymail.co.uk/sciencetech/article-2219188/Inside-Google-pictures-gives-look-8-vast-data-centres.html
Distributed and Centralized Systems http://www.youtube.com/watch?v=avP5d16wEp0
Key characteristics 3. คุณลักษณะที่สำคัญของระบบสารสนเทศแบบกระจาย • แบ่งปันหรือแชร์ทรัพยากร • ระบบแบบเปิด • รองรับการใช้งานพร้อมกัน • สามารถปรับเปลี่ยนได้ • สามารถทำงานแทนกันได้ • การปกปิดสภาวะการทำงาน
Key characteristics 3. คุณลักษณะที่สำคัญของระบบสารสนเทศแบบกระจาย • แบ่งปันหรือแชร์ทรัพยากร (Resource Sharing) ทรัพยากรของระบบคอมพิวเตอร์ประกอบด้วย Hardware, Softwareand Data ซึ่งในการควบคุมการแบ่งปันหรือการใช้ทรัพยากรร่วมกัน จะต้องมีผู้จัดการทรัพยากร (Resource Manager) ซึ่งทำหน้าที่ควบคุมและจัดการทรัพยากร • Model ของการจัดการทรัพยากรในระบบ - The Client-Server Model - The Object-based Model
Key characteristics The Client-Server Model - มีการร้องขอการใช้งานมาที่เครื่องเซิร์ฟเวอร์ - เครื่องเซิร์ฟเวอร์มีกระบวนการในการจัดการทรัพยากร https://communities.intel.com/community/datastack/blog/2011/05/02/top-10-reasons-to-setup-a-client-server-network
Key characteristics The Object-based Model - ผู้ใช้งานจะเห็นทรัพยากรที่มีการแชร์ไว้ในระบบ - การจัดการ object คือ การเก็บรวบรวมของกระบวนการและค่าของข้อมูลที่มีลักษณะพิเศษไว้ด้วยกัน
Key characteristics • ระบบแบบเปิด (Openness) - เป็นระบบที่ผู้ใช้สามารถเขียนโปรแกรมประยุกต์ ที่จะใช้งานกับระบบปฏิบัติการเปิดของบริษัทอื่นในปัจจุบัน หรืออนาคต ระบบปฏิบัติการเปิดที่มีชื่อเสียง หรือ UNIX ซึ่งมีการสร้าง หรือ ยอมให้พัฒนาในฐานะความร่วมมือทางสาธารณะ - ระบบกระจายแบบเปิด เป็นพื้นฐานอยู่บนเงื่อนไข ของกลไกการสื่อสารระหว่าง process และมีการอนุญาตให้เข้าถึงทรัพยากรที่ถูกแชร์ไว้
Key characteristics • รองรับการใช้งานพร้อมกัน (Concurrency) - มีหลายๆ กระบวนการที่ทำพร้อมกันในคอมพิวเตอร์เครื่องเดียว แบ่งเป็น - Interleave : เป็นการสลับการทำงาน - Parallel : เป็นการทำงานพร้อมกัน - โอกาสเกิดการใช้งานพร้อมกัน พิจารณาจากปัจจัย ดังต่อไปนี้ - User view พิจารณาจากจำนวนผู้ใช้ - Process view : Client-Server พิจารณาจากจำนวน Process
Key characteristics • สามารถปรับเปลี่ยนได้ (Scalability) - สามารถรองรับระบบแบบยืดหยุ่น - สามารถทำงานได้กับระบบที่มีขนาดต่างๆ โดยไม่จำเป็นต้องแก้ไขระบบและโปรแกรม • สามารถทำงานแทนกันได้ (Fault Tolerance) - เป็นการออกแบบให้ระบบทำงานได้ โดยอาศัยทั้ง Hardware และ Software
Key characteristics • การปกปิดสภาวะการทำงาน (Transparency) - เป็นการปกปิด/ซ่อนการทำงานหรือการเปลี่ยนแปลงที่เกิดขึ้น โดยแบ่งเป็นมุมมองของโปรแกรมและผู้ใช้ ดังนี้ - การปกปิดการเข้าถึง (Access transparency) - การปกปิดที่อยู่ (Location transparency) - การปกปิดการทำงานพร้อมกัน (Concurrency transparency) - การปกปิดความซ้ำซ้อน (Replication transparency) - การปกปิดข้อขัดข้อง (Failure transparency) - การปกปิดการเคลื่อนย้าย (Mobility transparency) - การปกปิดประสิทธิภาพ (Performance transparency) - การปกปิดการขยาย (Scaling transparency)
Design concepts and Goals 4. หลักการและเป้าหมายการออกแบบระบบสารสนเทศแบบกระจาย คำแนะนำเกี่ยวกับแนวคิดและการออกแบบองค์ความรู้เกี่ยวกับระบบสารสนเทศแบบกระจาย คุณสมบัติที่ระบบสารสนเทศแบบกระจายต้องการ - resource sharing - openness - concurrency - scalability - fault tolerance and transparency - การพัฒนาระบบสารสนเทศแบบกระจาย สามารถทำได้โดยการเพิ่มบริการใหม่ๆ เข้าไปในระบบ รวมไปถึงการได้รับการการันตีหรือการยอมรับจากผู้ใช้
Key Design Goals 5. เป้าหมายของการออกแบบระบบ ประเภทของเป้าหมายของการออกแบบระบบ - Performance ประสิทธิภาพ เกี่ยวข้องกับเวลาตอบสนองของระบบ - Reliability ความน่าเชื่อถือ - Scalability การปรับเปลี่ยนระบบ - Consistency มีความเหมือนกันในการให้บริการ - Security ความปลอดภัย
Basic Design Issues 6. ประเด็นการออกแบบขั้นพื้นฐาน พิจารณาเริ่มต้นจากการกำหนดชื่อ ให้กับระบบและองค์ประกอบต่างๆ ของระบบ เพื่อให้สามารถอ้างถึงได้ในสิ่งเดียวกัน ก็จะทำให้ระบบสามารถติดต่อสื่อสารกันได้ สิ่งที่ต้องทำจากนั้นคือ - วางโครงสร้างการทำงานของระบบ - กำหนดภาระหน้าที่ - แบ่งงานให้ส่วนประกอบต่างๆ ทำงานร่วมกันได้ - มีการซ่อมบำรุงรักษาระบบให้สามารถทำงานได้อย่างสม่ำเสมอ
Basic Design Issues - Naming (การตั้งชื่อ) ในระบบคอมพิวเตอร์เราใช้ชื่อในการอ้างอิงถึงข้อมูลต่างๆ โดยที่ชื่อเหล่านี้จะบ่งบอกถึงวัตถุหนึ่งๆ โดยเฉพาะ จึงต้องมีระบบจัดการชื่อ (naming system) - ตั้งชื่อโดย user หรือ โดยโปรแกรม - การระบุหมายเลข ตั้งจากโปรแกรมเท่านั้น - มีการอ้างอิงโดยใช้ IP Address และ port number
Basic Design Issues การพิจารณาในการออกแบบชื่อ • ลักษณะของชื่อที่ใช้ มีการจำกัดจำนวนหรือไม่ • มีโครงสร้างหรือไม่ อย่างไร เช่น ชื่ออย่างเดียวเป็น flat แต่ถ้าชื่อ + นามสกุล เป็น structure ชื่อของทรัพยากรต่างๆ จะถูกแปลงให้เป็นการอ้างอิงเพื่อการสื่อสารถึงทรัพยากรนั้นๆ
Basic Design Issues - Communication (การติดต่อสื่อสาร) การจัดการ การรับ - ส่ง process ที่ทำงานร่วมกัน กลไกที่สนับสนุนให้โปรเซสสามารถประสานกันได้ คือ การติดต่อระหว่างโปรเซส (InterProcess Communication) และการซินโครไนซ์โปรเซส (Synchronize Process) การเอ็กซิคิวต์โปรเซสที่มีการประสานกับโปรเซสอื่นจำเป็นต้องใช้บัฟเฟอร์ โดยระบบปฏิบัติการจะต้องแชร์หน่วยความจำไว้ใช้งาน และจะต้องมีกลไกที่สนับสนุนให้สามารถประสานได้ กลไกที่ว่าคือการติดต่อระหว่างโปรเซส (InterProcess Communication : IPC) และการซินโครไนซ์โปรเซส (Synchronize)
Basic Design Issues - Communication (การติดต่อสื่อสาร) • การจัดการที่เกี่ยวข้องกับการ รับ-ส่งข้อมูล - การส่งข้อมูลผ่านช่องทางการสื่อสาร - Synchronization คือ การทำงานของโปรเซส 2 โปรเซสที่ต้องการมีความเกี่ยวข้องกัน อาจจะเป็นเพราะใช้รีซอร์สร่วมกัน หรืออาจจะเป็นการรอการเอ็กซิคิวต์โปรเซสหลังจากที่โปรเซสอื่นเอ็กซิคิวต์ไปแล้ว โดยการทำงานแบบ - Synchronous จะมีกระบวนการส่งและการรอ สำหรับการตอบกลับ - Asynchronous จะมีกระบวนการจัดลำดับคิวในการส่งและมีกระบวนการรับข้อมูล
Basic Design Issues - Communication Model 1. Client-server Communication 1 Request Client Server Blocked 2 Processing 3 Reply
Basic Design Issues - Communication Model 2. Group Multicast Communication การส่งข้อความไปยังกลุ่มของ Process มีวิธีดังนี้ - Unicast ส่งแบบ one - to - one - Broadcast ส่งแบบ one - to – all - Multicast ส่งแบบ one - to - many
Basic Design Issues ตัวอย่างการส่งข้อความไปยังกลุ่มของ Process P2 - Unicast ส่งแบบ one - to - one - Broadcast ส่งแบบ one - to - all - Multicast ส่งแบบ one - to - many Group send P3 receive P1 receive receive receive P4
User Requirements Unicasting Vs. Multicasting การส่งแบบ unicast คือส่ง message n message ไปยัง n server ส่วน multicast คือส่ง 1 message ไปยัง n server • การส่งแบบ multicast ประหยัด bandwidth กว่า ถ้าหากอยู่ใน local area เดียวกัน
User Requirements 7. ความต้องการของผู้ใช้ - การแชร์หรือการทำงานบนเครือข่าย จะมีความหลากหลายกว่าแบบระบบเดี่ยว - การใช้ประโยชน์เท่าที่เป็นไปได้ - สามารถทำการกำหนดค่าใหม่ได้ - มีคุณสมบัติของการให้บริการ (Quality of Service : QoS) ประกอบด้วย • ประสิทธิภาพของการทำงาน • ความน่าเชื่อถือและการพร้อมใช้งาน • ระบบรักษาความปลอดภัย
Conclusion สรุป - ระบบแบบกระจายเป็นการทำงานแบบอิสระโดยการเชื่อมต่อคอมพิวเตอร์บนเครือข่าย โดยรวมสิ่งอำนวยความสะดวก การสร้างและพัฒนาโปรแกรม - การเปรียบเทียบของระบบแบบกระจายและแบบรวมศูนย์ - คุณลักษณะที่สำคัญของระบบแบบกระจาย ประกอบด้วย การแชร์ทรัพยากร, ระบบแบบเปิด, การใช้งานในเวลาเดียวกัน, สามารถปรับเปลี่ยนหรือทำงานแทนกันได้ รวมถึงการทำงานแบบปกปิด - ระบบแบบกระจาย เป็นการออกแบบ สำหรับการให้บริการ โดยเรียกว่า Quality of Service
แบบฝึกหัดท้ายบทที่ 2 1. จงบอกคุณสมบัติที่ระบบสารสนเทศแบบกระจายต้องการ 2. จงอธิบายระบบงานแบบรวมศูนย์ และระบบงานแบบกระจาย 3. Quality of Service ที่ระบบแบบกระจายต้องการประกอบด้วยอะไรบ้าง