1 / 31

مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir

سیستم های توزیع شده ادامه فصل 1 – جلسه 4. مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir نیمسال دوم 93-92. جدول زمانبندی درس. سرفصل مطالب. تعریف اهداف شفافیت باز بودن مقیاس پذیری انواع سیستم های توزیعی سیستم های محاسباتی توزیعی

janus
Download Presentation

مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. سیستم های توزیع شدهادامه فصل 1 – جلسه 4 مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir نیمسال دوم 93-92

  2. جدول زمانبندی درس

  3. سرفصل مطالب • تعریف • اهداف • شفافیت • باز بودن • مقیاس پذیری • انواع سیستم های توزیعی • سیستم های محاسباتی توزیعی • سیستم های اطلاعاتی توزیعی • سیستم های فراگیر توزیعی

  4. انواع سیستم های توزیعی • سیستم های محاسباتی توزیعی • سیستم های محاسباتی کلاستری • سیستم های محاسباتی گریدی • سیستم های اطلاعاتی توزیعی • سیستم های پردازشی تراکنشی • Enterprise application integration • سیستم های فراگیر توزیعی • سیستم های خانگی • سیستم های سلامت الکترونیک • شبکه های حسگر

  5. سیستم های اطلاعاتی توزیع شده • این سیستم ها مستقیماً با یک پایگاه داده در ارتباط هستند. • ساختار آنها به صورت کلاینت-سرور است. • سیستم های پردازشی تراکنشی • پردازش ها در کلاینت ها انجام می شود و سرور فقط جستجوهای ساده را انجام می دهد. • عملیات روی پایگاه داده ها، معمولاً در قالب تراکنش است. • تراکنش یک فعالیت (activity) است. • تراکنش توزیع شده: • همه درخواست های کلاینت در قالب یک درخواست بزرگتر جمع شده و ارسال می شود. • ممکن است این درخواستها مربوط به سرورهای گوناگون باشند. • این درخواست ها یا باید همه شان انجام شوند یا هیچ کدام. request client server reply

  6. سیستم های پردازشی تراکنشی • توابع اولیه تراکنش:

  7. سیستم های پردازشی تراکنشی (2) • لیست دقیق توابع بستگی به نوع اشیائی دارد که در تراکنش استفاده می شوند. • مثال: در سیستم پست الکترونیک، دستورات ارسال، دریافت و فوروارد ایمیل است. • توابع خواندن و نوشتن، توابع معمول هستند. • جملات معمولی و فراخوانی توابع نیز درون تراکنش ها مجاز هستند. • معمولاً فراخوانی توابع از راه دور (RPC) درون یک تراکنش کپسوله می شوند. • RPC تراکنشی یا Transactional RPC

  8. سیستم های پردازشی تراکنشی (3) • ویژگی های مهم سیستم های تراکنشی: • Atomic: تراکنش یا تماماً انجام می شود یا انجام نمی شود. • هنگامی که تراکنشی در حال انجام است، فرآیندهای دیگر حالتهای میانی را نمی بینند. • Consistent: تراکنش نباید ویژگی های سیستم را نقض کند. • مثلاً اصل ثابت ماندن موجودی یک بانک در انتقالهای درون بانکی. • Isolated: تراکنش های همزمان نباید در کار یکدیگر مداخله کنند. • مانند اینکه همه آنها به صورت متوالی (یک ترتیبی وابسته به سیستم) اجرا می شوند. • Durable: اگر تراکنشی به انجام رسید (commit)، تغییرات در سیستم دائمی می شوند و نمی توان حالت سیستم را به حالت قبل برگرداند. • نمی توان تغییرات را undo کرد. ACID

  9. سیستم های پردازشی تراکنشی (4) • تراکنش های تودرتو (nested transactions) • یک تراکنش سطح بالا برای انجام به چندین تراکنش فرزند تقسیم می شود که به صورت موازی می توانند اجرا شوند. • تراکنش های سطوح درونی باید همگی انجام شوند. • تراکنش سطح بالا به تعدادی فرزند با اجرای موازی fork می کند. • Commit فقط در بالاترین سطح معنا دارد. • اگر تراکنش فرزند انجام شد ولی تراکنش سطح بالا بی نتیجه (abort)، باید حالت سیستم به حالت اولیه برگردانده شود.

  10. سیستم های پردازشی تراکنشی (5) • تراکنشهای تودرتو نیازمند مراقبت بیشتری هستند. • به هر تراکنش یک کپی خصوصی از داده های سیستم داده می شود. • اگر تراکنش موفق نباشد، کپی خصوصی اش از بین می رود. • اگر موفق باشد، کپی خصوصی خود را جایگزین فضای اصلی تراکنش سطح بالا می کند و همه کاربران آن را می بینند. • زیر تراکنش بعدی، نتایج تولید شده توسط قبلی را می بیند. • اگر یک تراکنش سطح بالا موفق نباشد: • تمامی تغییرات باید ملغی شده و به حالت قبل برگردانده شوند. • تراکنش سطح بالا کپی خصوصی خودش را دارد و حالت قبلی سیستم را دارد. • جزئیات پیاده سازی آن خیلی آسان نیست. • زیرا ممکن است چندین فعالیت بخواهند همزمان روی فضای اصلی بنویسند.

  11. سیستم های پردازشی تراکنشی (6) • تراکنشهای تودرتو در سیستم های توزیعی مهم هستند. • تقسیم منطقی تراکنش اولیه • مؤلفه ای که این کار را انجام می دهد • TP monitor • بحث میان افزار این سیستم کجا مطرح می شود؟ • کار مخفی سازی برعهده TP monitor بود. • داده های موردنیاز یک تراکنش ممکن بود روی سرورهای متعددی توزیع شده باشد.

  12. انواع سیستم های توزیعی • سیستم های محاسباتی توزیعی • سیستم های محاسباتی کلاستری • سیستم های محاسباتی گریدی • سیستم های اطلاعاتی توزیعی • سیستم های پردازشی تراکنشی • Enterprise application integration • سیستم های فراگیر توزیعی • سیستم های خانگی • سیستم های سلامت الکترونیک • شبکه های حسگر

  13. Enterprise Application Integration (EAI) • احساس نیاز به جداسازی بیشتر برنامه های کاربردی از پایگاه داده ها • و احساس نیاز به ارتباط مستقیم برنامه های کاربردیبا یکدیگر • نه فقط ارتباط صرف درخواست/پاسخ به/از سرورها • منجر به این شد که بخشی از کارها در سرورها نیز انجام شود. • مدلهای مختلف ارتباطی در سطح M/W: • فراخوانی تابع از راه دور (RPC): یک مؤلفه کاربردی یک درخواست به مؤلفه کاربردی دیگری می فرستد با انجام یک فراخوانی محلی تابع (به صورت پیغام بسته بندی می شود) • فراخوانی اشیا از راه دور (RMI): به جای مؤلفه های کاربردی روی اشیا عمل می کند (محبوب شدن برنامه نویسی شی گرا). • در بخش 3 بیشتر راجع به این موضوع صحبت می شود.

  14. Enterprise Application Integration (2)

  15. انواع سیستم های توزیعی • سیستم های محاسباتی توزیعی • سیستم های محاسباتی کلاستری • سیستم های محاسباتی گریدی • سیستم های اطلاعاتی توزیعی • سیستم های پردازشی تراکنشی • Enterprise application integration • سیستم های فراگیر توزیعی • سیستم های خانگی • سیستم های سلامت الکترونیک • شبکه های حسگر

  16. سیستم های فراگیر توزیعی • ویژگی های سیستم های توزیعی که تاکنون بررسی کردیم: • پایداری • گره ها ارتباط با کیفیت بالا با شبکه دارند. • هدف ایجاد شفافیت در توزیع است. • جوانب مربوط به محل فیزیکی پنهان می شود. • پیدایش وسایل موبایل و سیستم های نهفته (embedded) • سیستم های توزیعی فراگیر • مشخصه اصلی این سیستم ها • ناپایداری • ویژگی های دیگر • کوچک بودن • داشتن باتری محدود • موبایل بودن • اتصال بی سیم

  17. سیستم های فراگیر توزیعی (2)

  18. سیستم های فراگیر توزیعی (3) • نیازمندی های این سیستم ها: • Embrace contextual changes • وسیله ها باید بدانند که محیطی که در آن قرار دارند ممکن است تغییر کند. مثال: ورود و خروج گره های دیگر • اتصال به شبکه از طریق گره دیگری • Encourage ad hoc composition • وسایل مختلف در شبکه های فراگیر توسط کاربران مختلف و به طرق مختلف به کار گرفته می شوند. • بنابراین تنظیمات این شبکه ها باید به صورت اتوماتیک و کنترل شده باشد. • Recognize sharing as the default • وسیله ها به شبکه های فراگیر ملحق می شوند اکثراً به خاطر دسترسی به داده ها و یا تأمین اطلاعات • با توجه به تحرک گره ها، هر وسیله باید دسترسی آسان و مستقل از کاربرد را به اطلاعات خود و محیط فراهم کند. • با توجه به این نیازمندی ها، شفافیت در این شبکه ها مطرح نیست.

  19. انواع سیستم های توزیعی • سیستم های محاسباتی توزیعی • سیستم های محاسباتی کلاستری • سیستم های محاسباتی گریدی • سیستم های اطلاعاتی توزیعی • سیستم های پردازشی تراکنشی • Enterprise application integration • سیستم های فراگیر توزیعی • سیستم های خانگی • سیستم های سلامت الکترونیک • شبکه های حسگر

  20. سیستم های خانگی • اتصال سیستم های درون و اطراف خانه تحت یک شبکه • متشکل از یک یا چند • سیستم کامپیوتری، TV، • تجهیزات صوتی و تصویری، • وسایل بازی، تلفن های هوشمند، • دوربین ها، وسایل آشپزخانه، • تجهیزات کنترل برق، دزدگیر خانه، • مدیریت انرژی خانه، ... طرح اولیه اتصال وسایل خانه تحت یک شبکه

  21. سیستم های خانگی (2) طرح امروزی اتصال وسایل خانه تحت یک شبکه فراگیر Adopted from: P. Lalanda, J. Bourcier, J. Bardin and S. Chollet (2010). Smart Home Systems, Mahmoud A. Al-Qutayri (Ed.), ISBN: 978-953-307-050-6, InTech, Available from: http://www.intechopen.com/books/smart-home-systems/smart-home-systems

  22. سیستم های خانگی (3) • نیازمندی های سیستم های خانگی: • سیستم باید کاملاً خود-مدیر و خود-تنظیم باشد (self-configuring and self-managing) • وسایل مختلف در مقابل خطا وخرابی آسیب پذیر هستند. • استاندارد UPnP برای یافتن وسیله های دیگر به صورت اتوماتیک با داشتن آدرس IP • به روز کردن نرم افزارها و firmware های وسایل • محافظت از فضای شخصی افراد (personal space) • مشکل همزمانی وسایل مختلف • استفاده از یک وسیله ذخیره سازی با حجم زیاد در مکانی دور از دید در وسیله ای تحت عنوان master • استفاده از برنامه هایی تحت عنوان پیشنهاد دهنده (recommender) • برنامه هایی که پیشنهادهایی می دهند که دیگر کاربران چه اطلاعاتی دارند.

  23. انواع سیستم های توزیعی • سیستم های محاسباتی توزیعی • سیستم های محاسباتی کلاستری • سیستم های محاسباتی گریدی • سیستم های اطلاعاتی توزیعی • سیستم های پردازشی تراکنشی • Enterprise application integration • سیستم های فراگیر توزیعی • سیستم های خانگی • سیستم های سلامت الکترونیک • شبکه های حسگر

  24. سیستم سلامت الکترونیک • دلایل به وجود آمدن این سیستم ها: • کاهش هزینه های پزشکی • توسعه وسایل جدید برای مانیتور کردن سلامتی افراد به صورت شخصی • تماس با پزشک در صورت نیاز • جلوگیری از بستری شدن اشخاص تا حد امکان • استفاده از حسگرهای مخصوص در یک شبکه BAN یا Body Area Network • سیستم باید با حرکت و جابجایی شخص درست عمل کند. • اتصال ها باید به صورت بی سیم باشد.

  25. سیستم سلامت الکترونیک (2) یک هاب مرکزی اطلاعات را جمع آوری کرده و به مرکز پردازشی می فرستد. هر وسیله ای داده های خودش را به صورت بی سیم به مرکز پردازشی می فرستد. دو ساختار متفاوت برای یک شبکه BAN

  26. سیستم سلامت الکترونیک (3) • چالش های این سیستم ها: • داده های مانیتور شده کجا و به چه صورت ذخیره شوند؟ • چگونه از از دست رفتن داده های حیاتی جلوگیری کنیم؟ • چه زیرساختی برای تولید و انتشار هشدارها لازم است؟ • پزشکان چگونه می توانند بازخورد آنلاین داشته باشند؟ • مسائل امنیتی در این سیستم ها چیستند و سیاست های درست را چگونه می توان اعمال کرد؟ • نکته: استفاده از ساختار تک-سروری در اینجا اصلاً توصیه نمی شود. در مقابل پردازش داده ها به صورت درون شبکه ای (in-network) توصیه می شود.

  27. انواع سیستم های توزیعی • سیستم های محاسباتی توزیعی • سیستم های محاسباتی کلاستری • سیستم های محاسباتی گریدی • سیستم های اطلاعاتی توزیعی • سیستم های پردازشی تراکنشی • Enterprise application integration • سیستم های فراگیر توزیعی • سیستم های خانگی • سیستم های سلامت الکترونیک • شبکه های حسگر

  28. شبکه های حسگر • شبکه ای متشکل از: • صدها یا هزاران گره کوچک با قابلیت حس کردن پدیده ها و محیط، ارتباط بی سیم با یکدیگر و قابلیت های پردازشی، ذخیره سازی و منابع انرژی محدود • مانند یک سیستم پایگاه داده ی توزیع شده • کاربرد: مانیتور کردن انواع محیط ها و پدیده های فیزیکی • استفاده از یک اپراتور برای ارسال سؤال های موردنظر و جمع آوری داده ها و اعمال یک عکس العمل در صورت نیاز

  29. شبکه های حسگر (2) دو ساختار متفاوت برای یک شبکه WSN

  30. شبکه های حسگر (3) • هیچ کدام از دو ساختار جالب نیستند! • در عمل ساختاری بین این دو ساختار مطلوب است. • با استفاده از پردازش داده های درون شبکه ای • استفاده از ساختار درختی برای ارسال پرس-و-جو و جمع آوری داده ها روی شاخه های همان درخت • تجمیع (aggregation) • مثال: TinyDB • یک پیاده سازی واقعی از واسط پایگاه داده ای در شبکه های حسگر بی سیم

  31. پایان فصل 1

More Related