لینک های ویژه!
پیشنهاد می کنیم صفحات زیر را مشاهده نمایید:

کسب درآمد از فروش فایل
پروژه معماری
انجمن مهندسی معماری
آموزش تری دی مکس
پاورپوینت معماری
خرید بک لینک قوی
معرفی سایت های برتر
دانلود تحقیق
مصالح ساختمانی
مجله تفریحی
دانلود پروژه عمران
دانلود پروژه معماری
خرید رپورتاژ آگهی
نیشابور
مجله تفریحی و سرگرمی
خرید رپورتاژ آگهی ارزان
فروش فایل
دانلود پلان
دانلود مقاله و پروژه
خدمات ساختمانی
خرید بک لینک
کسب درآمد
آموزش 3d max
لوازم و تجهیزات ساختمانی
خدمات تاسیساتی ساختمان
آموزش کسب درآمد از اینترنت

تاریخ : یکشنبه 10 اردیبهشت 1391
بازدید : 1033
نویسنده : ghafoori
بررسي تحمل پذيري خطا در سطح ميان افزار زماني که در سطح ميان افزارها به بحث مي پردازيم ، تاکيد ما بر روي مسائلي همچون کنترل فيلتر کردن داده ها ، کنترل تراکم داده ها و ترکيب حسگرها با هم است. اين بدان معناست که مثلا مي توان در يک گره از چند نوع حسگر استفاده نمود و با نوشتن يک ميان افزار مناسب نتايج خوانده شده از اين حسگرها را با هم مقايسه و ترکيب نموده و نتيجه را استخراج نمود. تنها مسئله اين است که در مورد تعداد حسگرها و عملکرد سيستم عامل بايستي بحث نمود و به سادگي نمي توان از آن گذشت. يکي از ساده ترين و رايجترين سيستم عاملها Tiny OS است . يکي از مزاياي اين سيستم عامل حجم کد کم و ماژوله بودن آن است و نيازهاي اساسي شبکه را بسادگي ارضا مي کند.
بررسي تحمل پذيري خطا در سطح ميان افزار زماني که در سطح ميان افزارها به بحث مي پردازيم ، تاکيد ما بر روي مسائلي همچون کنترل فيلتر کردن داده ها ، کنترل تراکم داده ها و ترکيب حسگرها با هم است. اين بدان معناست که مثلا مي توان در يک گره از چند نوع حسگر استفاده نمود و با نوشتن يک ميان افزار مناسب نتايج خوانده شده از اين حسگرها را با هم مقايسه و ترکيب نموده و نتيجه را استخراج نمود. تنها مسئله اين است که در مورد تعداد حسگرها و عملکرد سيستم عامل بايستي بحث نمود و به سادگي نمي توان از آن گذشت. يکي از ساده ترين و رايجترين سيستم عاملها Tiny OS است . يکي از مزاياي اين سيستم عامل حجم کد کم و ماژوله بودن آن است و نيازهاي اساسي شبکه را بسادگي ارضا مي کند. با توجه به آنچه تا کنون بيان نموديم ، در طراحي يک ميان افزار مناسب با در نظر داشتن نيازهاي طبيعي شبکه و نيز برنامه هاي اجرايي بايستي به نکات زير توجه کنيم : استفاده بهينه از انرژي و منابع موجود که توضيح آن بدليل وضوح مطلب ضروري نمي باشد داشتن قابليت تطابق با تغييرات در اندازه شبکه ، بدون نياز به انجام تغييرات اساس در ساختار سرويس هاي ارايه شده و نيز در ميزان کارايي آنها يک ميان افزار مناسب بايستي توانايي تشخيص خطا در گره را داشته باشد و از آنجايي که گره هاي ما همواره در حال تغيير چه از جهت مکان و چه از جهت محيط هستند ، توانايي هماهنگ شدن با اين تغييرات را بايستي دارا باشد تا بتواند خود و در نتيجه فعاليتهاي گره را با محيط و شبکه هماهنگ سازد. يکي از مهمترين خواص شبکه هاي سنسوري Real-Time بودن آنهاست که بايستي در خواص ميان افزار لحاظ شود. يکي از توانايي هاي يک ميان افزار مناسب در اين شبکه ها ، توانايي تعامل با منابع متغير مانند انرژي و پهناي باند مي باشد. يکي ديگر از نيازمنديهاي يک ميان افزار خوب بر خورداري از خاصيت QOS مي باشد. اين سرويس داراي تعاريف متعددي مي باشد ولي بطور کلي داراي دو جنبه است . اولي از ديد شبکه و ديگري از ديد برنامه . ولي روشهاي استفاده شده در شبکه هاي مرسوم براي شبکه اي با شرايط متغير و منابع محدود کارايي لازم را ندارد ، بنابراين ميان افزار ما بايستي با در نظر گرفتن شرايط هوشمند تر عمل نمايد. به دليل نحوه فعاليت و شرايط اين شبکه ها عموما سربار اطلاعات انتقالي از حجم محاسبات بيشتر است و از سمت ديگر به دليل ايجاد تراکم داده اي گاها در نقاط خاص از شبکه ساختار انتقال بر اساس آدرس[4] را به ساختار مبتني بر داده[5] تغيير داده است . در روشهاي مبتني بر آدرس همواره کوتاهترين مسير انتخاب و داده ارسال مي شود ولي در مدل دوم که سربار انتقال زياد است محتوا بررسي مي شود و در صورت لزوم بسته از سيستم حذف مي شود . قابليت ايجاد امنيت به دليل وجود کاربردهاي مهم ، بسيار مهم مي نمايد و يک ميان افزار اين ابزارها را بايستي در ساختارهاي خود آماده داشته باشد. يکي از اين مشکلات پديده DOS [6]است . بررسي تحمل پذيري خطا در سطح برنامه در نهايت يکي از ساده ترين راه هاي ايجاد تحمل پذيري خطا ايجاد افزونگي نرم افزاري مي باشد که اين بدان معناست که با افزايش دقت برنامه ها و ايجاد چند نسخه متفاوت از آن،مي توان به گونه اي عمل کرد که هم خطا را تشخيص داد و هم گاها منبع آنرا نيز مشخص نمود. تشخيص ناسازگاري داده در شبکه خطاهايي که از تغيير در محتواي دودويي بسته هاي ارسالي ، زماني که داده درون يک گره در حال پردازش است ، رخ مي دهد را ناسازگاري داده گويند. بنابراين اين امکان وجود دارد که داده اي را که يک گره مي فرستد تا رسيدن به مقصد محتوايش تغيير کند . براي بررسي اين گونه خطا ها و ايجاد توانايي تشخيص و رفع آنها ، ما شبکه اي را تصور مي کنيم که داراي تعداد زيادي گره است که در محيط پراکنده شده اند. شعاع ارتباطي هر گره ثابت است و نوع ارتباط ، بي سيم و از نوع همه پخشی است .چگالي و پراکندگي گره ها بگونه اي است که بين مبدا و مقصد مي توان چندين مسير ايجاد نمود. در اين شبکه فرضي ، ساير خطاهاي احتمالي را با احتمالي برابر صفر در نظر مي گيريم تا شبيه سازي شبکه به نوع خطاي مورد بحث معطوف شود. در ضمن تمام گره ها را در شروع فعال در نظر مي گيريم و تنها شرط از کار افتادگي را اتمام باطري مي دانيم. در اين روش ما چندين مرحله داريم : • ايجاد مسيرهاي بين گره اي • تشخيص و رفع خطا • عيب يابي سيستم ايجاد مسيرهاي بين گره اي بطورکلي هرچه تعداد مسيرهاي ارسالي بيشتر باشد ، الگوريتم ما کارامدتر خواهد بود ولي ترافيک شبکه اي و مصرف انرژی نيز بيشتر مي شود. براي ايجاد يک تعادل ميان اين دو ، در اين روش دو مسير انتخاب شده است. در ابتدا گرهSink با ارسال درخواستهايي از ساير گره ها ،اطلاعات مورد نظر را درخواست مي کند و آنها نيز در صورت داشتن خصوصيات موردنظر اطلاعات درخواستي را ارسال می کنند. به کمک اين اطلاعات وثبت زمان دريافت جوات ، sink جدولي تهيه کند که بوسيله آن اطلاعات نودهای پاسخگو دارای کوتاهترين تاخير را شناسايي می کند. سپس sink بايستي براي هر گره يک مسير بهينه ،براي ارسال اطلاعات به آن نود را مشخص کند. يکي از اين اطلاعات مهم تعيين گره نزديک و بهينه از ميان همسايگان است. پيغام های بهبود مسير برای ايجاد چندين مسير از sink به مبدا فرستاده می شوند.براي اين کار ابتدا پيغام اولين مسير[7]ارسال مي شود . مبناي تصميم کمينه بودن تاخير است. بنابراين اين پيغام از گره sink حرکت مي کند و از گره هاي مجاور به آن گره اي مي رود که کمترين تاخير را دارد. اين امر تا رسيدن به گره مقصد ادامه دارد. پس از پايان اين مرحله پيغام دومين مسير را نيز ارسال مي کند و بدنبال آن مسير دوم هم با همان شرايط انتخاب مي شود. اين دو مسير در هيچ گره اي نبايد اشتراک داشته باشند. در صورت انتخاب گره عضو مسير اول در مسير دوم ، گره پيغام خطا را به فرستنده مي فرستد تا گره ديگري را انتخاب کند. شکل1- a-کمترين تاخير PREP ، b- ايجاد اولين مسير ، c- ايجاد اشتراک در دو مسير ، d – ايجاد مسير دوم تشخيص و رفع خطا تشخيص خطا هدف در اين مرحله آن است که داده اي را که از دو مسير توسط يک گره فرستاده شده است را در sink بررسي کنيم. در اين مرحله داده دريافتي را در يک بافر ذخيره مي کنيم و منتظر داده بعدي مي شويم. در صورت تشابه هر دو را درست فرض مي کنيم ولي در صورت عدم تشابه وقوع خطا را مطلع مي شويم و وارد فاز رفع خطا می شويم. در صورت عدم وقوع خطا ، داده هاي دريافتي را بکار مي بريم و بافر را خالي مي کنيم. رفع خطا اين مرحله زماني آغاز مي شود که خطايي در سيستم رخ داده باشد . در اين حالت ، يک پيغام براي ايجاد سومين مسير نيز ارسال مي شود . بعد از ايجاد ، داده مجددا از هر سه مسير ارسال مي شود. پس از دريافت هر سه و يا پايان زمان مشخص شده براي سيستم ، بر اساس حالات زير تصميمات مقتضي گرفته مي شود : • سه داده مشابه اند که هر سه صحيحند • سه داده دريافت شده و يکي با بقيه متفاوت است . پس مي توان مسير خرابی وجوددارد. • دو داده مشابه دريافت شده که است .اين صورت دو مسير درست می باشند. در مابقي حالت ، ما کاري نمي توانيم انجام دهيم . مگر آنکه داده ها را ناديده بگيريم. در صورتيکه بتوانيم مسير خطادار را تشخيص دهيم ، وارد مرحله بعدي مي شويم. در انتها بافر را خالي مي کنيم. عيب يابي سيستم در اين مرحله گره Sink پيام SET به گره هاي موجود در مسير خطادار و پيام Clear را براي گره هاي موجود در مسيرهاي درست مي فرستد. هر گره داراي جدولي شامل دو قسمت است : • تعداد خطا • گره هاي بالاسري زماني که گره اي Set را دريافت مي کند ، تعداد خطا را يکي افزايش داده و گره اي که اين پيام را داده است را در ليست گره هاي بالاسري خود قرار مي دهد. زماني که گره اي پيام Clear را دريافت مي کند ، شماره تعداد خطا را صفر مي کند و قسمت گره هاي بالا سري را خالي مي کند. زماني که يک گره ، تعداد خطاهايش به حد معيني برسد ، خاموش مي شود تا از انتخاب مجدد اين گره ، جلوگيری شود. در اين شبکه، خطاهاي رخ داده شده بصورت دائمي در نظر گرفته شده اند. بدين ترتيب با هر بار وقوع ناسازگاري داده ها مي توان مسيرهاي داراي خطا را حذف نمود و يا با تعويض گره هاي خطادار ، آن مسير را درست نمود. نحوه ارسال پيامهاي Set و Clear نيز مهم است و به صورت دست دادن[8] عمل می کنيم.در اين روش ، نودی که پيغام SET/CLEAR که در آن هر گره پس از دريافت SET/CLEAR ، دريافت را با جوابی يکسان با پيغام SET/CLEAR اوليه، بايستي به گره بالاسری گزارش دهد و در صورت آمدن تاييد از گره بالاسری، آن نود اجازه ارسال پيام به نود پايين دستی دارد. در غير اينصورت بسته ، انداخته می شود. بدين ترتيب ، اگر نود انتقال دهنده دارای خطا باشد ، جواب ارسالی آن با پيغام اوليه متفاوت خواهد بود و نود بالا دستی آن نود را دور خواهد زد و مستقيما ، پيغام را به نود پايين دستی ارسال می کند. و همچنين ، بقيه نودها را از اين نود خراب ، مطلع می کند.شکل زير نحوه ی عمل اين الگوريتم را نشان می دهد. شکل : مثالی از تشخيص اشتباه 1 - الگوريتم تشخيص از کار افتادگي گره [17] براي توضيح بيشتر اين روش ابتدا به بيان شرايط و مفروضات اين مدل مي پردازيم .اين سيستم از N گره تشکيل شده است. گره ها مشابه و ارتباط بي سيم با شعاع محدود و منبع انرژي محدود هستند. هر گره مي تواند Sink باشد. بنا براين گره Sink مزيتي نسبت به بقيه ندارد ، بلکه بسته به نياز کاربر تغيير مي کند. هر گره يا سالم است يا خراب و در شروع تمام گره ها را سالم فرض مي کنيم. گره ها امکان تعمير دارند و خطاهاي سيستم را دائمي مي دانيم بطوريکه تا زمانيکه تعمير نشوند سالم نمي شوند. ارتباطات يک گره به صورت همه طرفه است . علاوه بر آنچه گفتيم موارد زير نيز در زمره مفروضات ما هستند : • هر گره داراي شناسه يکتاست • هر گره شناسه خود و همسايگانش را دارد • در طول عمليات عيب يابي هيچ خطايي رخ نمي دهد • همبندي شبکه در طول اجراي اين روش ثابت است • گراف ارتباطات همبند و متقارن است پروتکل در سطح لايه Link وجود دارد که سرويسهاي زير را به ما مي دهد : روشهاي ارسال به چند صورت است : • ارسال به تمام همسايگان[9] (1hB) • ارسال به تنها يکي از همسايگان [10](ss) براي حل مشکل برخوردها از پروتکل لايه MAC استفاده مي شود در اين روش زمان نقش بسيار مهمي دارد ، يعني محدوديت زماني براي اجرا عمليات خود داريم که در پايان آن بايستي شناسه هاي گره هاي سالم و خراب مشخص شده باشند. در اين روش عيب يابي زماني ممکن است که تعداد گره هاي خراب از تعداد معيني ( t ) بالاتر نرفته باشد که در غير اين صورت امکان عيب يابي سيستم وجود ندارد. فرض بر اين است که در خواست انجام الگوريتم توسط کاربر صادر مي شود که اين امر تنها در کم کردن توان مصرفي موثر است ولي نقش کاربر را پر رنگتر مي کند. در اين روش نيز هزينه اجرا براي ما بسيار مهم است .براي محاسبه هزينه اجرا ، سه عامل موثر است : • زمان اجرا • حجم داده ارسالي • انرژي مصرفي در مورد سومين پارامتر بايد گفت که با حجم داده ارتباط مستقيمي دارد. پروتکل مورد بحث ما WSDIAG نام دارد. فرض ما بر اين است که اين عمل درون يک گره سالم انجام مي شود که به آن آغازگر[11] مي گويند. در اين روش ما دو نوع پيام داريم : IMA [12]: توسط هر گره ارسال مي شود وداراي دو بخش است (u,v) . u نشانگر فرستنده پيام و v نشانگر گره اي است پيام را براي او فرستاده اند. Diagnostic : عبارت است از پيامي که آن نيز خود داراي دو قسمت است .(u,Fu) . u نشانگر گره فرستنده است و Fu نمايشگر مجموعه اي از شناسه هاي گره هاي خراب است که توسط گره u شناسايي شده اند. اجراي اين روش سه مرحله دارد که به شرح زير است : • ارسال پيامهاي IMA : گره آغازگر ، پيام 1-hB را که از نوع IMA است به همسايگان خود ارسال مي کند. • هر گره پس از ارسال پيام تا رسيدن زمان Timeout منتظر گرفتن جواب آن پيام مي شود . در صورت گرفتن پاسخ گره سالم و در غير اين صورت گره خراب است . • ارسال رو به عقب پيامهاي Diagnosis : در هنگام ارسال در مرحله اول درختي ايجاد مي شود . در مرحله دوم هر گره عمليات عيب يابي را براي گره هاي همسايه خود انجام مي دهد. هر گره پدر ، در درخت ارسال ، منتظر مي ماند تا فرزندانش داده هاي خود را به او بدهند. با دريافت آنها ، اين اطلاعات را با اطلاعات خود ترکيب مي کند. آنرا به گره پدر مي دهد. انتشار نهايي نتايج عيب يابي : زماني که در نهايت اطلاعات به گره آغازگر رسيد ، آنها را با هم ترکيب و نتايج کلي را در راستاي درخت منتشر مي کند. شکل : ( aنودها در شبکه حسگر b -) گراف ارتباطی نودها 2 مقايسه ميان چندين پروتکل[14] همانطور که اشاره شد ،يکی از مهمترين فعاليت اين شبکه ها جمع آوري اطلاعات خام و ارسال آنها به يک مقصد نهايي است. هدف ما در اين قسمت پرداختن به ايجاد ساختاري قابل اطمينان در رابطه با ارتباطات پيچيده بين گره ها مي باشد. براي شروع به بررسي يک روش بنام روش سيل آسا[13] مي پردازيم . در اين روش ، داده خام را به صورت همه پخشی ارسال مي کنيم. اين روش اگرچه اين امکان را فراهم مي کند که داده به نحوي به مقصد برسد ولي داراي معايب فراواني مي باشد که از آن جمله به موارد زير مي توان اشاره نمود : • تخليه توان گره ها • تداخل امواج • ايجاد تراکم بي مورد در شبکه • ايجاد تنازع بر سر ارتباط با يک گره ميان دو فرستنده بنابراين اين روش مناسب بنظر نمي رسد ، ولي با ايجاد تغييراتي مي توان آنرا بهينه نمود و آن اين است که جهت حرکت داده ها را به سمت گره مقصد که همان Sink است متمرکز مي کنيم که اين روش را ConvergeCast نيز مي گونيد. براي توضيح بيشتر به مثال زير توجه کنيد. در يک سيستم تشخيص وقوع حريق ، نياز و هدف ، تشخيص آتش و اطلاع آن در زمان محدود است. در شکل 1 دو حالت متفاوت بيان شده است. فرض بر اين است که عملکرد شبکه بدين صورت است که گره sink ، زماني داده را مي فرستد که تعداد پيغام هاي دريافتي نشان دهنده وقوع حريق ،از تعداد خاصي بيشتر باشد. اگر خطوط انتقال داخل شبکه اي (شکل 1-الف) ويا خطوط ارتباطي با گره Sink ( شکل 1-ب) دچار ايراد شود ، در هر دو حالت شبکه کار خود را انجام نداده است . شکل1 – نمونه اي از سيستم تشخيص حريق بنا بر اين تمام مسيرها از ابتدا تا انتها در کارايي شبکه نقش موثري دارند و بايستي در نظر گرفته شوند. 2-1 مدلسازي يک ارتباط قابل اطمينان فرض کنيد که شبکه ما داراي N گره است . هر گره خود بوسيله يک يا چند حسگر تجهيز شده است و داراي قسمت ارتباطي با شعاع کم است و نيز منابع انرژي ، ذخيره سازي و پردازشي محدود دارند. اين شبکه داراي گره هاي Sink با قدرت پردازش بالا و منابع لازم هستند. در اين مدل ما يکsink را براي سادگي کار در نظر مي گيريم. در ضمن فرض ما بر اين است که گره ها حرکت نمي کنند ولي همبندي شبکه بر اساس وقوع خطاهاي شبکه اي تغيير مي کند. نحوه ارتباطي آنها بر اساس روش CSMA در پروتکل لايه MAC است. 2-2 مدلسازي خطا بعد از مشخص شدن مشخصات سيستم مورد بحث ، بررسي ساختارهاي خطاهاي مورد بحث امري حياتي است. در اين مدل ، ما خطاهاي موجود را به دو دسته قابل تحمل و غير قابل تحمل تقسيم مي کنيم. 2-3 خطاهاي برطرف نشدني اين خطا ها ، خطاهايي هستند که لايه حمل ، نمی تواند برای آنها کاری کند. کاربرد حسگر ها ، در شرايط سخت ، مانند تشخيص حريق، ممکن است کلا حسگر را از کار بياندازد. يکي از اين خطاها ، خراب شدن گره Sink است و خطاهاي ديگر از بين رفتن تقسيم بندي شبکه است. اگر از سيستم نگهداری شود ،ممکن است بعضی خطاهاي برطرف نشدني به خطاهاي برطرف شدني تبديل شود. 2-4 خطاهاي برطرف شدني آن دسته خطاهايي هستند که تاثيرات آنها را با استفاده از پروتکلهاي انتقالي مي توان از بين برد. اين دسته خود به د و دسته تقسيم مي شوند. 2-4-1 خطاهاي ارتباطي اين دسته بزرگترين و بيشترين خطاها را شامل مي شود که شامل گم شدن داده و يا تاخير زماني بيش از حد است. اين نوع خطاها تاثير مستقيم روي پاسخ گويي سيستم دارند. تداخل ، برخورد و رقابت عوامل مهم در گم شدن بسته ها هستند. تراکم شبکه ها عمده ترين دليل ايجاد تاخير بيش از حد است. 2-4-2 خطا هاي گره اي اين خطا ها ناشي از ايجاد تغييرات در همبندي شبکه هستند که روي پاسخ گويي شبکه تاثير دارند. اين خطاها را مي توان به چهار دسته تقسيم نمود . • خطاهاي تصادفي که همواره از کار افتادگي دائمي يک گره توسط عوامل محيطي است را نيز شامل مي شود. • خطاهاي حسگرها که از آنجا ناشي مي شود که بدليل آنکه گره ها در محيطهاي نامناسب استفاده مي شوند ، اين امکان وجود دارد که بدليل محيط نامناسب و يا زمان طولاني کارکرد ، خطاهايي در دريافتها و عملکرد آنها ايجاد شود. • خطاهاي ناشي از تخليه انرژي که باعث توقف کار گره مي شود. • خطاهاي زودگذر سخت افزار يا نرم افزار که تاثيراتشان معمولا با شروع به کار مجدد سيستم، برطرف شدني مي باشد. 2-5 منظور از حمل داده يکي از معروفترين معانی در اين زمينه، انتقال پيام انتها به انتها[14] است . استفاده از اين روش در شبکه هاي بي سيم کاربرد فراواني دارد ولي به دليل محدوديتهاي زياد شبکه هاي WSN در مقايسه با شبکه هاي سيمي ، اين روشها عمدتا مناسب نيستند . روش ديگر اتفاق به انتها[15] است . در اين روش هر گره اي که واقعه اي را ثبت کرد ، داده را به گره Sink مي رساند. اگرچه اين مدل از روش اول بهينه تر است ولي توجه به خطوط ارتباطي و قابليت اطمينان آن نشده است روش بعدی که ما از آن استفاده می کنيم به کمک "پردازش داخل شبکه ای"[16] است. به محض تشخيص رخداد ، گره ها اطلاعات خام را به گره هايي به سمت sink ارسال مي کنند . در هر مرحله ارسال ، روي داده هاي خام پردازش هايي انجام مي شودکه عبارتند از فيلتر کردن ، جمع آوري و مسيريابي شکل 2 ، بيانگر اين مدل است. شکل2 –ايده نحوه انتشار داده در شبکه بنابراين با توجه به روش آخر تعريف خود از حمل و نقل داده در شبکه های حسگر را اين گونه بيان مي کنيم : تعريف يک : انتقال اطلاعات در شبکه ها از مرحله توليد اطلاعات تا رسيدن به گره Sink دربر گيرنده مجموعه اي از فعاليت هاست که آن را حمل و نقل داده می ناميم .

مطالب مرتبط با این پست :

می توانید دیدگاه خود را بنویسید


RSS

Powered By
loxblog.Com
💬 نظرات کاربران
💬ثبت نام کاربران
💬ورود کاربران