دسترسی بالا: شامل کنترل المثنی خوشبینانه و بدبینانه، اجرا آینه‌ای و بازیافت خوشبینانه.
دسترسی به اطلاعات از راه دور: شامل نهان‌سازی[۵]، حمل[۶] تابع، سیستم‌های فایلی توزیع شده و پایگاه داده‌های توزیع شده.
امنیت: شامل احراز هویت و خصوصی دو طرفه بر پایه رمزنگاری.
شبکه‌های حسگر
شبکه‌های انتقال داده[۷] را می‌توان از یک دیدگاه بر اساس لایه فیزیکی[۸]شان، به دو دسته عمده سیمی[۹] و بیسیم[۱۰] تقسیم کرد. در شبکه‌های سیمی، گره‌های شبکه از طریق یک وسیله فیزیکی قابل رؤیت مانند کابل اترنت یا فیبرنوری به هم متصل هستند. حال آنکه در شبکه‌های بیسیم، چنین وسیله اتصالی وجود ندارد و ارتباط گره‌ها از طریق مخابرات رادیویی یا اشعه مادون قرمز برقرار می‌شود. این دسته‌بندی از آنجا حائز اهمیت است که به علت نوع خاص لایه فیزیکی مورد استفاده در شبکه‌های بیسیم، می‌توان آنها را از نظر پارامترهایی مانند تداخل[۱۱]، قابلیت اطمینان[۱۲]، منابع انرژی در دسترس و سطح امنیت، با شبکه‌های سیمی مقایسه نمود] ۴[.
یک تقسیم‌بندی دیگر برای شبکه‌ها، براساس قابلیت حرکت گره‌ها در شبکه است. در برخی از شبکه‌ها، مکان گره‌ها ثابت است لذا توپولوژی و ساختار شبکه تغییر نمی‌کند. بر خلاف شبکه‌های ثابت[۱۳]، در شبکه‌های متحرک[۱۴] مکان گره‌ها و در نتیجه ساختار شبکه قابلیت تغییر دارد. ثابت یا متحرک بودن شبکه ربطی به نوع لایه فیزیکی آن ندارد. به عنوان مثال، تلفن همراه نمونه‌ای از یک شبکه متحرک بیسیم است؛ از طرف دیگر، ساختمانی که از یک شبکه بیسیم بهره می‌برد مثالی از یک شبکه بیسیم ولی ثابت است]۵[.

( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

شبکه‌های بیسیم (ثابت یا متحرک) را می‌توان در دو حالت متصور شد: شبکه‌های بیسیمی که دارای زیرساخت[۱۵] هستند و شبکه‌های بیسیم بدون زیرساخت. در نوع اول، گره‌های شبکه به گره‌های سطح بالاتری مانند ایستگاه‌های پایه[۱۶] یا نقاط دسترسی[۱۷] متصل می‌شوند (به صورت بیسیم) و از این طریق قادر به ارتباط خواهند بود؛ در حالی که در نوع دوم، اصولاً چنین گره‌هایی وجود ندارند و شبکه بدون هیچ زیرساخت اولیه‌ای قادر است کار خود را آغاز کند و گره‌ها خود- راه‌انداز[۱۸] هستند]۶ [.
شبکه‌های اقتضایی[۱۹] نوع خاصی از شبکه‌های بیسیم هستند که در آن گره‌ها می‌کوشند بدون هیچ زیرساخت ثابتی با یکدیگر ارتباط داشته باشند. انعطاف‌پذیری این شبکه‌ها موجب می‌شود که بتوانیم در هر زمان و هر مکان آنها را راه‌اندازی کنیم. از مهمترین کاربردهای شبکه‌های اقتضایی می‌توان به ارتباط میان نیروها و ادوات در یک میدان نبرد (چنانچه آغاز شبکه‌های اقتضایی نیز به پروژه دارپا[۲۰] و وزارت دفاع امریکا برمی‌گردد)، عملیات امداد در حوادث غیرمترقبه و حتی بازی‌های چندکاربره اشاره کرد. نوع دیگری از شبکه‌های بیسیم، شبکه‌های حسگر[۲۱] هستند. یک شبکه حسگر، مجموعه‌ای از تعداد زیادی گره است که به منظور جمع‌ آوری اطلاعات و انتقال آن با یکدیگر همکاری می‌کنند. تشخیص سریع وقوع آتش‌سوزی در جنگل‌ها و تشخیص اشیاء متحرک در یک منطقه (مثلاً مرزی)، مثالهایی از شبکه حسگر است]۷[.
در بسیاری از موارد، تأمین سطحی از امنیت در شبکه‌های اقتضایی و حسگر ضروری است. از سویی خطرات فراوانی امنیت این شبکه‌ها را تهدید می‌کند و از طرف دیگر به کارگیری هرگونه سیستم امنیتی، با توجه به ویژگی‌های خاص آنها، با محدودیت‌های بسیار مواجه است. از این رو، تأمین امنیت این سیستم‌ها با چالشی جدی روبرو شده است. این چالش موجب شده تا حجم قابل توجهی از پژوهش‌ها در سالهای اخیر، به چگونگی طراحی و به کارگیری الگوریتم‌ها و پروتکل‌های امنیتی در چنین شبکه‌هایی اختصاص یابد]۸[.
شبکه‌های حسگر بی‌سیم نسل جدیدی از شبکه‌ها هستند که از تعداد زیادی گره حسگر تشکیل شده‌اند. این گره‌ها با داشتن قابلیت تشخیص تغییرات محیطی به منظور نظارت بر یک محیط خاص در آن پراکنده می‌شوند. یک گره حسگر از چهار جزء اصلی حسگر، واحد پردازش، واحد فرستنده و گیرنده و منبع تغذیه تشکیل شده است. منبع تغذیه گره‌های حسگر معمولاً باتری‌های غیرقابل شارژی هستند که پس از اتمام شارژ آن‌ها گره حسگر مرده محسوب می‌شود. از این‌رو یکی از مهمترین محدودیت‌های شبکه‌های حسگر بی‌سیم، کمبود منابع انرژی آن‌هاست]۹[. بنابراین برخلاف شبکه‌های قدیمی که هدف اصلی، دسترسی به کیفیت سرویس می‌باشد، در پروتکل های شبکه‌های حسگر تکیه اصلی بر حفظ منابع انرژی است. در این شبکه‌ها بایستی از مکانیزم‌هایی استفاده شود که امکان افزایش طول عمر شبکه را از طریق پهنای باند کمتر یا افزایش تاخیر ارسال، برای کاربر نهایی فراهم می‌کنند. یکی از این مکانیزم‌ها که در سال‌های اخیر بسیار مورد توجه قرار گرفته شده است، استفاده از تکنیک‌های خوشه‌بندی است. تمایل به سمت خوشه‌بندی گره‌ها به چند دلیل افزایش پیدا کرده است: اولین دلیل افزایش طول عمر سیستم بخاطر کم کردن انرژی گره‌ها برای ارسال داده و برقراری تعادل با تغییر نقش گره‌ها است، همچنین این روش‌ها با محلی کردن ارسالات، باعث کاهش تداخلات اطلاعاتی می‌شوند. این مزایا در شبکه‌های حسگر با ابعاد بزرگ بیشتر حائظ اهمیت هستند]۱۰[.
تعریف مسئله و اهداف تحقیق
درسیستم‌های تک پردازنده‌ای نیازاست که اگرقرار باشد چند کاربر به یک منبع مشترک دسترسی پیدا کنند، کنترل شود که این دسترسی به شکل همزمان اتفاق نیفتد. دریک سیستم توزیع شده هم باید منابع مشترک حفاظت شوند ولی مشکل دیگری که اینجاوجود داردهمگامی اجرای فرایندها است. دلیل اهمیت همگامی بخاطر وابستگی مراحل اکثر الگوریتم‌ها می‌باشد که در صورت اجرای این الگوریتم‌ها برروی سیستم‌های توزیع‌شده نیاز به کنترل همگامی فرآیندها داریم.
مسئله‌ای که در ارتباط بین فرآیندها بسیار اهمیت دارد این مسئله است که فرآیندها چگونه در سیستم‌های توزیع شده همگام می‌شوند. همگام‌سازی یعنی همه تدابیری که باید سنجیده شود تا هر کاری به موقع (در زمان درست) و سر جای خودش انجام شود. یکی از اهدافی که همگامی سیستم‌های توزیع شده باید بدنبال آن باشد انحصار متقابل و کنترل ناحیه بحرانی است. ناحیه بحرانی به متغیرهای مشترک، فایل‌های داده مشترک، حافظه مشترک و جداول اطلاعاتی اشتراکی است که همه فرآیندها از آن استفاده می‌کنند ولی در حین واحد تنها و تنها باید در اختیار یک فرایند باشد. و در این میان باید به گونه‌ای عمل شود که در صورتی فرآیندها هر کدام تعدادی از منابع خود را در اختیار گرفته ولی همچنان منتظر تعدادی منبع هستند که در اختیار دیگر فرآیندها است (بن‌بست) دچار نشده و یا منبعی برای دریافت یک منبع بیش از حد معمول منتظر نماند که در زمان کلی اجرای محاسبات تاثیرگذار بوده (گرسنگی) باشند.
برای اجرای کارها، در یک سیستم، از یک ساعت استفاده می‌کنیم. ساعت تضمین کننده اجرای به ترتیب کارها می‌باشد. درسیستم توزیع شده این یک چالش است چون سیستم‌ها ازساعت‌های مختلف استفاده می‌کنند و زمان‌ها عملاً همگام نیستند.
معمولاً همزمانی زمانی رخ می‌دهد که فرآیندی در یک پردازنده نیاز به داده و یا نتایج محاسبات یک فرایند در پردازنده دیگر دارد و یا ترتیب خاصی در روند دستورات باید اتفاق افتد و رعایت شود. معمولاً همزمانی سبب افزایش سرعت محاسبات می‌شود.
همگامی فرایند‌ها در محیط توزیع شده مسئله جدیدی نبوده و از زمان پیدایش سیستم‌های توزیع شده بعنوان یک چالش عمده مورد بحث و تحقیق قرار گرفته است. روش‌های گوناگونی نیز ارائه شده است که معمولاً دارای مزایا و معایبی می‌باشد. روش‌هایی که از سرور زمان برای همگامی استفاده می‌کنند با مشکلات جلوتر بودن زمان کامپیوترها از زمان سرور و تاخیرات ارسال و دریافت زمان از سرور روبرو هستند. روش‌هایی که از سرور زمان ولی با دریافت زمان کلیه کامپیوترها و عمل میانگین‌گیری آن‌ها به زمان واحد میرسند با مشکل تشخیص اعداد نادرست و کنار گذاشتن آن‌‌ها روبرو بوده و همچنین روش‌هایی که همه کامپیوترها زمان خود را برای مابقی ارسال می‌کنند و هر کامپیوتر میانگین گرفته باز با تشخیص اعداد غیرواقعی رسیده و تعداد زیاد پیام‌های ارسالی و دریافتی روبرو است. همچنین در همگامی‌های منطقی روش‌های ارائه شده اغلب از تجزیه‌وتحلیل و تشخیص نقاط نیازمند به همگام‌سازی استفاده می‌کنند و معمولاً قادر به تشخیص دقیق نقاط همگامی نبوده، کیفیت نتایج یکسان در همه موارد را نداشته، از سخت‌افزار اضافی استفاده نموده‌ و سربار زیادی دارند. در این پایان‌نامه یک روش با بهره گرفتن از شبکه‌های عصبی رقابتی برای شبیه‌سازی و مدل نمودن سیستم‌های توزیع‌شده و برقراری انحصار متقابل و کنترل ناحیه بحرانی در این سیستم‌ها معرفی می‌شود که چالش‌های بالا را تا حد امکان از بین برده و سربار همگامی را کاهش دهد.
همانطور که میدانیم شبکه‌های عصبی مصنوعی مدل شده شبکه‌های عصبی بدن انسان بوده و از نظر علمی اثبات شده است. شبکه‌های عصبی یک مدل غیرخطی بوده و ماهیت توزیع شدگی دارد بنابراین می‌تواند مناسب برای مدل نمودن و شبیه‌سازی سیستم‌های توزیع شده باشد و با توجه به اثبات‌های انجام شده می‌توان به مدل سازگار، قابل اعتماد و تحمل‌پذیر خطا دست یافت.
در سیستم‌های توزیع شده یک الگوریتم مرکزی کار هماهنگ کنندگی را انجام می‌دهد و فرآیندهای درخواست‌کننده دسترسی به ناحیه بحرانی را کنترل می‌کند.هر فرایند می‌تواند یک درخواست داشته باشد و به تنهایی کار کند. در هر لحظه یک فرایند می‌تواند در ناحیه بحرانی باشد. در مدل ارائه شده هر یک از فرآیندها با یک نرون شبیه‌سازی می‌شود. استفاده از شبکه عصبی رقابتی که در هر بار اجرا، تنها یک نرون برنده خواهد شد و ما را به ماهیت ناحیه بحرانی خواهد رساند. همچنین هر نرون به تنهایی می‌تواند به کار خود ادامه داده و نتایج خود را تولید نماید.
در شبکه عصبی هر سلول عمل جداگانه و مستقلی از سایر سلول‌ها دارد. بنابراین خروجی نهایی مستقل از رفتار محلی سلول‌ها است.علاوه بر این استقلال سلول‌ها تحت عنوان همکار می‌توانند با یکدیگر همکاری داشته باشند و این نشان دهنده تحمل‌پذیری بالا است همچنین بحث شفافیت که در سیستم‌های توزیع شده بوده را برقرار می‌کند. با تعریف واحدی سلول‌هایی که زمان زیادی منتظر مانده را شناسایی و شانس برنده شدنشان در رقابت را بالا می‌بریم تا از گرسنگی و بن‌بست جلوگیری نماییم. می‌توان گفت با بهره گرفتن از شبکه عصبی رقابتی ما علاوه بر برچسب زمانی، زمان اجرا و الویت اجرا نیز در دسترسی به ناحیه بحرانی می‌توانیم دخیل نماییم.
همگام سازی بین فرآیندها اغلب مستلزم آن است که یک فرایند به عنوان یک هماهنگ کننده عمل کند. در این موارد که هماهنگ کننده ثابت نیست، لازم است که فرآیندها به صورت توزیع شده تصمیم بگیرند که کدام فرایند به عنوان هماهنگ کننده عمل نماید. چنین تصمیمی به وسیله الگوریتم‌های انتخاب صورت می‌گیرد. الگوریتم‌های انتخاب عمدتاً در مواردی استفاده می‌شوند که هماهنگ‌کننده ممکن است از کار بیفتد. در این پایان‌نامه روشی براساس شبکه عصبی رقابتی که سیستم توزیع شده را مدل نموده و ناحیه بحرانی بدون از بین رفتن کیفیت نتایج را کنترل نماید، ارائه خواهد شد. سعی به ارائه روشی است که به برنامه‌نویسان این امکان را بدهد که به راحتی برنامه‌های موازی برای اجرا در سیستم‌های توزیع‌شده و پردازنده‌های چند هسته‌ای را ایجاد نمایند. به منظور کاهش سربار هماهنگ‌سازی یا از بین بردن کامل آن ابتدا قسمت‌هایی از کد موازی که نیاز به همزمان‌سازی دارد مشخص شده سپس معیاری را برای قابل قبول‌بودن و تعیین کیفیت راه‌حل تعیین می‌شود. نقاط دارای انعطاف مشخص شده و ترتیب‌های مختلف اجرا را با، کد تغییر ترتیب اجرا که مشخص کننده انواع روش‌های اجرا برنامه است، لیست می‌شود. در نهایت میزان سودآوری هر کدام تعیین شده و بهترین انتخاب می‌شود.
بهره برداران سیستم‌های توزیع شده و بحث همگامی و همزمانی در آن بسیار زیاد است که در ادامه به چند نمونه اشاره می‌شود:
کارخانه که خط تولید تمام الکترونیک داشته و با روبات‌ها به تولید می‌پردازد، هر ربات دارای کامپیوتری برای برنامه ریزی، ارتباطات، و کارهای دیگر می باشد. هنگامی که یک ربات در خط مونتاژ اطلاع پیدا کند که بخشی از نصب و یا انتقال کار معیوب است، از روبات دیگری در بخش قطعات درخواست می‌کند که آن را بایک قطعه دیگر جایگزین کند. اگر همه روبات ها از دستگاه‌های جانبی متصل به کامپیوتر مرکزی استفاده نمایند، سیستم باید برای این عمل همزمانی و همگامی مناسب را داشته باشد.
یک سیستم کنترل ترافیک خودکار که در آن اطلاعات جمع آوری شده با بهره گرفتن از این اطلاعات تصمیم گیری لازم صورت می‌گیرد و سپس سیگنالهایی را به محرکهایی که محیط سیستم را اصلاح می‌نمایند فرستاده می‌شود. معمولاً هر فرایند در پردازنده‌های جداگانه‌ای صورت می‌گیرد و برای این عمل نیاز به همگامی و همزمانی مناسب می‌باشد.
بانکی با صدها شعبه در منطقه جغرافیایی بزرگی را در نظر بگیرید که در هر شعبه یک کامپیوتر مرکزی به ذخیره حساب های محلی و مسئولیت رسیدگی به معاملات محلی مربوط به منطقه خود را دارد. علاوه بر این، هر کامپیوتر توانایی ارتباط با کامپیوترهای شعبه‌های دیگر و کامپیوتر مرکزی در دفتر مرکزی را دارد. اگر معاملات را بتوان بدون توجه به جایی که مشتری حساب خود را افتتاح کرده است انجام داد، در این صورت نیز می توان این سیستم را به عنوان یک سیستم توزیع شده دانست و از الزامات آن نیاز به همگامی و همزمانی است.
از دیگر کاربردها می‌توان به سیستم ATM، بانکداری اینترنتی، موتورهای جستجو اینترنتی، سرویس‌های پست الکترونیکی و برنامه‌های گفتگو برخط گروهی و آموزش مجازی برخط نمونه‌های دیگری از این قرار می‌باشد.
ساختار پایان‌نامه
ساختار پایان نامه بصورت زیر است:
فصل دو. مفاهیم پیش‌زمینهدر این فصل تعریفی سیستم‌های توزیع شده، اهداف طراحی این سیستم‌ها و انواع آن مورد بحث قرار می‌گیرد و شبکه‌های حسگر بی‌سیم را به‌عنوان نوعی از این سیستم‌ها توزیع داده می‌شود. به دلیل استفاده از شبکه‌های عصبی رقابتی در فصل چهار این شبکه‌ها نیز مختصراً مورد بحث قرار خواهد گرفت.
فصل سه. تحقیقات و نوآوری­های انجام گرفته. در این فصل به معرفی تحقیقات و کارهای مرتبط در زمینه همگامی و هماهنگی سیستم‌های توزیع شده و روش‌های سخت‌افزاری و نرم‌افزاری استفاده شده برای این‌کار معرفی و مقایسه می‌شود. از بین تحقیقات و نوآوری­های انجام گرفته، روش­هایی که از لحاظ نوآوری و صحت خروجی در ارائه نتایج به کاربر از سایرین دارای خروجی مطلوبتری بوده انتخاب و مزایا و معایب آن‌ها بیان شده است.
فصل چهارم. سیستم پیشنهادی. در این فصل به مبحث همگامی ارتباطات در شبکه‌های حسگر پرداخته شده و در ابتدا انواع الگوریتم‌های موجود در اجرای انحصار متقابل در سیستم‌های توزیع شده را بیان و سپس شباهت‌های یک سیستم توزیع شده با شبکه‌های عصبی رقابتی بیان شده است و بعداز آن با بهره گرفتن از شبکه‌های عصبی مدلی برای شبیه‌سازی و مدل نمودن همگامی ارتباطات شبکه‌های حسگر که خود یک سیستم فراگیر توزیعی است پرداخته می‌شود.
فصل پنجم. ارزیابی سیستم پیشنهادی. در این فصل ابتدا نرم‌افزار انتخابی برای شبیه‌سازی و سپس دلایل انتخاب این نرم‌افزار بیان شده و مجموعه داده انتخاب شده برای ارزیابی شرح داده شده است. در مورد جزییات پیاده سازی و نتایج بدست آمده نیزبحث شده است.
فصل ششم.نتیجه‌گیری و کارهای آینده. در این فصل روش ارائه شده در این پایان‌نامه را بطور کلی بیان نموده و سپس نتایج حاصل از این تحقیق و کارهایی که می‌توان برای بهبود روش ارائه شده انجام داد بیان شده است.
مفاهیم پیش‌زمینه
مقدمه
میزان رشدی که طی نیم قرن گذشته در عرصه فن‌آوری کامپیوترها رخ داده، واقعاً مبهوت کننده و در مقایسه با صنایع دیگر، کاملاً بی سابقه است. بطوریکه از ماشین‌هایی با قیمت ۱۰ میلیون دلار که قادر به اجرای فقط یک دستورالعمل در عرض یک ثانیه بودند، امروزه به ماشین‌هایی رسیده‌ایم که ۱۰۰۰ دلار قیمت داشته و در عوض قادر به اجرای یک میلیارد دستورالعمل در واحد ثانیه بوده و نسبت کارآیی به قیمت آن‌ها ۱۰ برابر شده است. اگر ماشین‌ها هم در این فاصله زمانی با همین سرعت رشد می‌کردند، امروز رولزرویس فقط یک دلار قیمت داشت و در یک میلیارد مایل فقط حدود چهار لیتر بنزین مصرف می‌کرد ]۱۱[.
پیشرفت دوم مربوط به پیدایش شبکه‌های کامپیوتری پرسرعت بود. شبکه‌های محلی یا [۲۲]LANها باعث می‌شوند تا صدها ماشین در یک ساختمان طوری به هم متصل شوند که بتوان مقادیر کمی از اطلاعات را در عرض تقریباً چند میلی ثانیه بین آن‌ها انتقال داد. انتقال مقادیر بزرگ‌تر داده‌ها در بین ماشین‌هایی با سرعت ۱۰۰ میلیون با ۱۰ میلیارد بیت بر ثانیه امکان‌پذیر است. شبکه‌های گسترده یا WAN[23]ها امکان اتصال میلیون‌ها ماشین در سرتاسر جهان با سرعت متغیر از ۶۴ کیلوبیت در ثانیه تا گیگابیت در ثانیه را فراهم کرده است.
در اثر تمامی این فن‌آوری‌ها، امروزه در کنار هم قرار دادن سیستم‌های محاسباتی متشکل از تعداد زیادی کامپیوتر که به وسیله یک شبکه کامپیوتری پرسرعت بهم متصل شده باشند، امروزه نه تنها امکان‌پذیر، بلکه آسان هم شده است. این شبکه های کامپیوتری یا به اصطلاح سیستم‌های توزیعی با سیستم‌های متمرکز[۲۴] (یا سیستم‌های تک پردازشگری[۲۵]) قدیمی که فقط از یک کامپیوتر، دستگاه‌های جانبی و احتمالاً پایانه‌های دور[۲۶] تشکیل می‌شدند، متفاوت است.
تعریف سیستم‌های توزیعی
در منابع مختلف تعاریف مختلفی هم برای سیستم‌های توزیعی ارائه شده است. اما هیچ‌یک نه کامل است و نه با دیگری همخوانی دارد. در ]۱۱ [یک تعریف تقریبی ارائه شده است که برای اهداف ما کفایت می‌کند:
«سیستم توزیعی در واقع مجموعه‌ای از کامپیوترهای مستقل[۲۷] است که برای کاربر خود، مانند یک سیستم منسجم[۲۸] و منفرد[۲۹] به‌نظر می‌رسد.»
این تعریف نکته‌های مختلف و مهمی در خود دارد. اول آنکه، یک سیستم توزیعی از مولفه‌های (یعنی کامپیوترهای) خود مختار تشکیل می‌شود. نکته دوم اینکه، کاربران (چه افراد و چه برنامه‌ها) تصور می‌کنند که با یک سیستم منفرد کار می‌کنند. به این معنا که مولفه‌های خودمختار[۳۰] بایستی به روشی با هم همکاری[۳۱] کنند. نحوه ایجاد این همکاری هسته اصلی سیستم‌های توزیعی را تشکیل می‌دهد. توجه داشته باشید که هیچ فرضی راجع به نوع کامپیوترها صورت نمی‌گیرد. اما در مجموع، حتی در داخل یک سیستم منفرد هم، انواع کامپیوترها، از کامپیوترهای بزرگ کارا گرفته تا گره‌های کوچک در شبکه‌های حسگر، به چشم می‌خورد. به همین ترتیب، هیچ فرضی راجع به نحوه اتصال کامپیوترها صورت نمی‌گیرد. در ادامه راجع به این جنبه‌های مختلف بحث خواهیم کرد]۱۱[.
در مجموع، توسعه یا به مقیاس درآوردن[۳۲] سیستم‌های توزیعی باید نسبتاً به راحتی انجام شود. این ویژگی، هرچند پیامد مستقیم استقلال کامپیوترهاست، در عین حال باعث مخفی‌سازی کلی نقش واقعی این کامپیوترها در سیستم می‌شود. حتی در صورت خرابی موقت برخی بخش‌های سیستم توزیعی، این سیستم‌ها معمولاً همواره در دسترس هستند. با این وجود، کاربران و برنامه‌های کاربردی نبایستی متوجه تعمیر یا تعویض بخش‌های معیوب و یا افزودن یا عدم افزودن بخش‌های جدید برای خدمت‌رسانی به کاربران یا برنامه‌های کاربردی بشوند.
به منظور پشتیبانی از کامپیوترها و شبکه‌های ناهمگن[۳۳] و در عین حال ارائه دیدگاه سیستمی واحد، سیستم‌های توزیع‌شده، اغلب به وسیله لایه‌ای از نرم‌افزار سازمان‌دهی می‌شوند که به صورت منطقی میان لایه سطح بالاتر شامل کاربران و برنامه‌های کاربردی و لایه زیرین شامل سیستم‌های عامل و امکانات ارتباطی اصلی، قرار دارد؛ که در شکل ۲-۱ به ترتیب نشان داده شده‌اند. چنین سیستم توزیع‌شده‌ای گاهی اوقات میان‌افزار[۳۴] نامیده می‌شود.
شکل ‏۲‑۱- سیستم توزیع‌شده‌ای که به صورت میان‌افزار سازمان‌دهی شده است. لایه میان‌افزار روی چندین ماشین گسترده شده است و برای تمامی برنامه‌های کاربردی، واسط یکسانی را ارائه می‌دهد ]۱۱[.
اهداف
امکان ساخت سیستم‌های توزیعی لزوماً به معنای خوب بودن این ایده نیست. مثلاً هر چند فن‌آوری نوین امکان قرار دادن چهار فلاپی دیسک درایو روی کامپیوترهای شخصی را فراهم آورده، ولی به دلیل بی‌مورد بودن کسی حتی به فکر انجام آن‌هم نمی‌افتد. در این بخش، راجع به چهار هدف مهمی بحث خواهیم کرد که ساخت سیستم‌های توزیعی فقط در سایه برآورده شدن آن‌ها موجه و معقول است؛ یک سیستم توزیعی باید امکان دسترسی راحت به منابع را فراهم آورد؛ باید به صورتی منطقی و صحیح توزیع منابع در سرتاسر شبکه را مخفی کند؛ باید باز باشد و بلاخره اینکه باید مقیاس‌پذیر باشد]۱۱[.
دسترس‌پذیر کردن منابع
هدف اصلی سیستم‌های توزیعی آن است که کاربران (و برنامه‌های کاربردی) بتوانند به راحتی به منابع از راه دور دسترسی پیدا کرده و بصورتی کنترل شده و موثر، در آن‌ها شریک[۳۵] شوند. این منابع ممکن است از هر نوعی باشند، اما بعنوان برخی نمونه‌ها می‌توان به چاپگر‌ها، کامپیوترها، تجهیزات ذخیره‌سازی، داده‌ها، فایل‌ها، صفحات وب و شبکه‌ها اشاره کرد. دلایل متعددی را می‌توان برای لزوم اشتراک منابع، از جمله مسایل اقتصادی، ذکر کرد. بعنوان مثال، از نظر اقتصادی به صرفه‌تر است که در یک دفتر کار کوچک چندین کاربر از یک چاپگر واحد استفاده کنند تا اینکه هر یک مجبور به خرید و نگهداری از یک چاپگر جداگانه باشد. به همین ترتیب، از نظر اقتصادی به صرفه است که از منابع هزینه‌بری از قبیل ابر کامپیوتر‌ها، سیستم‌های ذخیره کارا‌، شکل نگارها[۳۶] و دیگر وسایل جانبی گران قیمت به صورت اشتراکی استفاده کنیم. بعلاوه، اتصال کاربران و منابع باعث تسهیل همکاری و تبادل اطلاعات می‌شود که از نمونه‌های آن می‌توان به موفقیت اینترنت در سایه پروتکل‌های ساده آن جهت تبادل فایل‌ها، کارهای پستی، اسناد، صوت و شکل اشاره کرد. امروزه، اتصال به اینترنت باعث ایجاد سازمان‌های مجازی[۳۷] متعددی شده که در آن‌ها، گروه‌های انسانی که گاهی اوقات حتی چندصدهزار کیلومتر از هم فاصله دارند، با بهره گرفتن از گروه‌افزار[۳۸] -یعنی، نرم‌افزاری برای ویرایش اشتراکی، کنفرانس‌های تلفنی و غیره- با هم کار می‌کنند. به همین ترتیب، ارتباطات اینترنتی با فراهم کردن امکان تجارت الکترونیک، موجب شده‌اند تا بتوان بدون مراجعه به فروشگاه یا حتی خروج از خانه انواع کالاها را خرید و فروش کرد.
اما همین افزایش امکان ارتباط و شراکت، نیاز روزافزون به امنیت را هم مطرح می‌کند. در حال حاضر، سیستم‌ها از محافظت کمی در برابر استراق سمع[۳۹] و نفوذ[۴۰] در ارتباط برخوردار هستند. کلمات عبور و دیگر اطلاعات حساس غالباً بصورت متن واضح[۴۱] (یعنی فاقد رمز) از طریق شبکه ارسال شده و یا در خدمت‌گزارهایی ذخیره می‌شوند که نمی‌توان اطمینان چندانی به معتبر بودن آن‌ها داشت. در این زمینه هنوز عرصه برای بهبود باز است. به‌عنوان مثال، امروزه خریداران می‌توانند صرفاً با ارائه یک شماره کارت اعتباری، حتی در صورتی هم که صاحب واقعی کارت نباشند، کالا خریداری کنند. اما در آینده، سفارش‌دهی به این ترتیب فقط در صورتی امکان‌پذیر خواهد بود که با قرار دادن کارت در کارت‌خوان، دارنده کارت به‌صورت فیزیکی هم صاحب کارت باشد.
شفافیت توزیع[۴۲]
یکی از اهداف مهم سیستم‌های توزیعی مخفی‌سازی این واقعیت است که فرآیندها و منابع مربوط به آن به صورت فیزیکی در بین ماشین‌های متعدد توزیع شده‌اند. سیستم توزیعی که در نظر کاربران و برنامه‌های کاربردی خود به‌صورت یک سیستم کامپیوتری منفرد جلوه کند، اصطلاحاً شفاف[۴۳] نامیده می‌شود. ابتدا انواع شفافیت در سیستم‌های توزیعی را بیان می‌کنیم و سپس به این پرسش کلی پاسخ می‌دهیم که آیا همیشه نیازمند شفافیت هستیم یا فقط گاهی اوقات به آن نیاز داریم.
انواع شفافیتگرچه مفهوم شفافیت را می‌توان درمورد جنبه‌های مختلف یک سیستم توزیعی بکار برد، مهمترین آن‌ها در جدول ۲-۱ ارائه شده است.
جدول ‏۲‑۱- انواع مختلف شفافیت در سیستم های توزیعی ]۱۱[

شفافیت شرح
موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...