ﻧﮕﺎرش ﻣﻘﺎﻟﻪ ﭘﮋوهشی با موضوع یک چارچوب تحمل خطا برای محاسبات پوشیدنی در حوزه محاسبات فراگیر مراقبت های ... |
از مطالب بیان شده میتوان به ضرورت مدیریت خطاهای ناپایدار و متناوب پی برد. در واقع سیستم باید با بهره گرفتن از تکنیکهای کشف و مکان یابی خطا، Master Nodeی را که دارای خطای گذراست شناسایی کند. از آنجا که مدیریت خطا توسط گرههای بالایی انجام میگیرد، پس Mobile Node تکنیکهای کشف و مکان یابی خطای گذرا را اجرا می کند. بعد از تشخیص وجود خطای گذرا در Master Node، تمامی Body Nodeهای Master Node معیوب باید از وجود خطای گذرا مطلع شوند. همچنین در شبکه های چند Master Nodeی، این Body Nodeها باید به یک Master Node سالم تخصیص یابند و در صورت نبود Master Node سالم در شبکه، Body Nodeها خود موظف به ارسال اطلاعات برای Master Node مجازی تعبیه شده در Mobile Nodeمیباشند. این در حالیست که در شبکه های تک Master Nodeی، خود Body Nodeها به صورت مستقیم اطلاعاتشان را به Master Node مجازی ارسال می کنند. این فرایند تا زمان برطرف شدن خطای گذرای Master Node معیوب ادامه پیدا می کند. به محض برطرف شدن خطای گذرا، باید Body Nodeها را از سالم شدن Master Node آگاه کرد و بعد آنها را به Master Node سالم شده، تخصیص داد.
بعد از طراحی و پیادهسازی Master Node باید با بهره گرفتن از تکنیکهای پیش بینی خطا، خطاهای پایدار و گذرا که امکان وقوع دارند، شناسایی شوند. سپس با بهره گرفتن از تکنیکهای تزریق خطا آنرا به سیستم تزریق کرد تا میزان تحمل خطای Master Nodeها مشخص شود. همچنین با این کار میتوان کاستیهای موجود را برطرف کرد و یا از حضور Master Nodeها در وضعیتهایی که باعث بروز خطاهای گذرا می شود، جلوگیری کرد.
۳-۳-۳ طراحی ارگونومی
ارگونومیک[۶۹]، علمی است که بر روی سادگی استفاده از ماشین مانور میدهد. این علم با تمرکز بر روی ویژگیهای طراحی، خلاء بین کاربر و محصولات را پر می کند. طراحی ارگونومی با طوفان مغزی[۷۰] همراه است. فرایند طوفان مغزی، مرحله ای است که در آن افراد مختلف با تخصصهای مختلف گرد هم جمع میشوند و راه حلهای مناسبی را برای حل یک مشکل ارائه می دهند.
با مجتمع کردن ارگونومی در دستگاههای پوشیدنی میتوان یک ارتباط دوستانه را بین کاربر و این کامپیوترها بوجود آورد. در فرایند طراحی ارگونومی برای کامپیوترهای پوشیدنی باید سه فاکتور مهم یعنی «کاربر»، «کامپیوتر پوشیدنی» و «وظیفهی کامپیوتر پوشیدنی» را در نظر گرفت.
در بحث «کاربر»، باید فاکتورهای مختلفی از جمله سن کاربر، جنسیت کاربر، توانایی فیزیکی کاربر و غیره، مورد توجه قرار گیرند. برای مثال Body Node را میتوان به صورت یک مچبند طراحی کرد. کاربر استفاده کننده از این مچبند می تواند یک نوزاد ۶ ماهه یا یک جوان ۲۵ ساله باشد. طراحی ارگونومی با در نظر گرفتن سن کاربر، تأکید می کند که مچبند نوزاد باید بگونهای طراحی شود که سبک وزن و کوچک باشد.
در طراحی ارگونومی، فاکتور «کامپیوتر پوشیدنی» بر روی ویژگیهای مختلفی از جمله اندازه و شکل تأکید می کند. برای مثال بدون در نظر گرفتن طراحی ارگونومی، میتوان شکل ظاهری Master Node را مانند یک چاقوی کوچک بسیار زیبا طراحی کرد. با توجه به اینکه Master Node بر روی بدن کاربر پوشیده می شود، هر لحظه این امکان وجود دارد که به بدن کاربر آسیب رساند.
در نظر گرفتن فاکتور «وظیفهی کامپیوتر پوشیدنی»، در طراحی ارگونومی امری ضروری میباشد. برای مثال با در نظر گرفتن این فاکتور در طراحی ارگونومی، یک Body Node که وظیفه اش کنترل نبض کاربر است را نمی توان به صورت گوشواره طراحی و بر روی گوش نصب کرد.
۳-۳-۴ تحمل خطای شفاف
در بحث تحمل خطا همواره مسئله شفافیت باید مورد توجه قرار گیرد. تحمل خطای شفاف یعنی اینکه اقدامات و تکنیکهایی که در زمینه تحمل خطا انجام میگیرند، از دید کاربر (فرد تحت نظارت) مخفی باشند. در ادامه با بیان یک سناریو لزوم تحمل خطای شفاف بیان می شود. حالتی را میتوان تصور کرد که، پیادهسازی Body Nodeها و Master Nodeها بگونهای باشد که هر کدام از آنها حاوی یک لامپ کوچک باشند. به محض کشف خطای پایدار یا ناپایدار در هر ماژول، لامپ آن گره شروع به چشمک زدن می کند.
در نگاه اول ممکن است ایده استفاده از لامپهای چشمک زن ایدهآل به نظر برسد. زیرا فرد تحت کنترل، به محض آگاهی از وجود خطا، سعی در برطرف سازی آن می کند. اما این ایده به دو دلیل رد می شود. اولاً، افراد تحت کنترل مانند سالمندان معمولاً دانش تخصصی کافی را برای برطرفسازی خطاها ندارند. ثانیاً، مبحث شفافیت در این ایده در نظر گرفته نشده است. بگونهای که این هشدار استرس شدیدی را به فرد تحت نظارت وارد می کند و ممکن است سلامتی روحی و روانی او را به مخاطره بیاندازد. این در حالی است که ممکن بود خطا فوق گذرا باشد و خللی در کارکرد شبکه ایجاد نمیکرد و پس از مدتی برطرف میشد. به بیانی این خطای گذرا توسط مدیریت خوشبینانه قابل مدیریت بود.
به عنوان یک نتیجه گیری کلی باید خاطرنشان کرد که به دلیل ساده بودن سختافزار Body Node و Master Node و نداشتن امکاناتی از قبیل نمایشگر، عدم در نظر گرفتن شفافیت می تواند مشکلات روحی و روانی فراوانی را برای فرد تحت نظارت به همراه داشته باشد. لذا اگر بنا باشد برای Body Nodeها و Master Nodeها، خطاهایی از قبیل شارژ باتری را به کاربر هشدار داد؛ باید این هشدار توسط Mobile Node به کاربر داده شود.
۳-۳-۵ مدیریت خطا در معماری سه لایهای ارائه شده
در معماری سه لایهای ارائه شده، مبحث مدیریت خطا یکی از مباحث بنیادی است. لازم به یادآوری است که فلسفهی طراحی Body Nodeها و Master Nodeها بر روی سادگی و پیچیده نبودن مانور میدهد. به بیانی گرههای پوشیدنی مذبور فاقد عناصر هشدار خطا از جمله نمایشگر و لامپ میباشند. لذا با توجه به مطالب بیان شده و با در نظر گرفتن شفافیت، هشدار خطای Body Nodeها و Master Nodeها از طریق گره Mobile Node انجام میگیرد. به بیانی دقیقتر در گرههای پوشیدنی، تشخیص و کشف خطای هر گره به وسیله خود گره مشخص می شود. سپس گره خطای خود را به گره بالایی که Mobile Node است، اطلاع میدهد. در پایان با در نظر گرفتن بحث شفافیت اگر نیاز باشد که کاربر از این خرابی مطلع شود، این آگاهسازی از طریق گره Mobile Node صورت میگیرد.
برای درک بهتر در ادامه از دو مثال استفاده می شود. مثال اول بدین صورت است که یک Body Node، دارای یک سنسور افزونه و یک سنسور فعال است. حالتی را میتوان تصور کرد که تمامی سنسورهای این Body Node به سبب خطای پایدار از کار بیافتند. در این حالت خود Body Node، خطا و خرابی سنسورهایش را کشف می کند؛ سپس با ارسال پیامی، Mobile Node را از این خرابی آگاه می کند. در پایان Mobile Node، به Master Node آن گرهها فرمان میدهد تا Body Node معیوب را خاموش و حالت Body Node افزونهی آن را از حالت standby به حالت فعال تغییر دهد.
مثال دوم بدین شرح میباشد که باتری Master Node فیزیکی از حد آستانه پایینتر باشد. در اینصورت خود Master Node، خطای باتریش را کشف می کند و با ارسال پیامی Mobile Node را از این خرابی آگاه میسازد. بلافاصله در این شرایط، Mobile Node با یک پیام متنی به کاربر هشدار شارژ باتری Master Node را میدهد و همزمان به Body Nodeهای Master Node معیوب فرمان میدهد تا اطلاعاتشان را برای Master Node مجازی ارسال کنند.
به عنوان یک نتیجه گیری کلی باید بیان کرد که مدیریت خطا در معماری ارائه شده به صورت سلسله مراتبی است. بدین صورت که پیامها از گرههای پایینی به گرههای بالایی میروند و فرمانها از گرههای بالایی به گرههای پایینی میآیند. این بدین معنی است که هرگز گره پایینی فرمانی را به گره بالایی نمیدهد.
۳-۳-۶ Mobile Nodeها
امروزه دستگاههای Mobile Node به سرعت در حال پیشرفت هستند، این امر باعث شده است که محدودیتهای دستگاه موبایل نسبت به کامپیوترهای پوشیدنی بسیار کمتر باشد. از اینرو دستگاههای موبایل دارای نرمافزار و سختافزار پیچیدهتری میباشند، بگونهای که آنها قادر به انجام پردازشهای سنگین و همچنین توانایی پشتیبانی از برنامه ها و نرمافزارهای پیچیده را دارند. لذا این گرهها بحثهای مدیریت داده ها را به صورتی عالی انجام می دهند و به نحوی شایسته با ابر ارتباط برقرار می کنند.
لازم به ذکر است که دستگاه موبایل می تواند هر کامپیوتر سیاری از قبیل یک PDA، گوشی موبایل، تبلت، لپتاپ و … باشد. یعنی دستگاه موبایل می تواند یک گوشی سادهی موبایل باشد که حتی امکاناتی از قبیل بلوتوث، پشتیبانی از اینترنت و نصب برنامه ها و نرمافزارهایی که برای ارتباط با کامپیوترهای پوشیدنی و ابر است را نداشته باشد. همچنین یک دستگاه موبایل می تواند یک لپتاپ پیشرفته باشد که چندین تکنولوژی ارتباطی، CPU قدرتمند، چندین ترابایت حافظه و قابلیت پشتیبانی از نرمافزارهای پیشرفته را دارد.
با توجه به مطالب بیان شده، معماری سه لایهای پیشنهادی از چالشهایی رنج میبرد. از آنجا که دستگاههای موبایل رابط ارتباط بین کامپیوترهای پوشیدنی و ابر هستند، نقش و عملکردشان نیاز به بررسی دقیقتری دارد. برای مثال اگر در لایهی دوم معماری پیشنهادی، از یک گوشی موبایل ساده که فاقد هرگونه تکنولوژی ارتباطی و فاقد قابلیت نصب نرمافزار است، استفاده شود، آنگاه لایهی دوم قادر به انجام وظایفش نیست. همچنین میتوان حالتی را تصور کرد که در لایهی دوم، یک لپتاپ پیشرفته مورد استفاده قرار بگیرد. در نگاه اول به نظر میرسد که این لپتاپ پیشرفته بهترین گزینه برای لایهی دو میباشد اما اینگونه نیست. اولاً چنین دستگاهی گران است و همچنین دستگاه لایهی دو همیشه باید در حالت روشن یا آمادهباش باشد، این در حالیست که اگر لپتاپ فوق را بخواهیم در حالت روشن نگه داریم، در طی مدت زمان محدودی شارژ باتریش به اتمام میرسد. به علاوه، لپتاپ قابل حمل نیست زیرا نسبت به گوشی موبایل سنگینتر است به گونه ای که افراد تحت نظارت، بخصوص افراد بیمار و سالمند قادر به تحمل وزن این دستگاه برای مدت طولانی نیستند.
نتیجتاً، در انتخاب دستگاه مناسب برای لایهی دو باید دقت شود. دستگاه سیارِ انتخابی باید توانایی پشتیبانی از تکنولوژیهای ارتباطی مختلف را داشته باشد و قابلیت نصب و پشتیبانی از نرمافزار ارتباطی بین لایه های اول و سوم را داشته باشد. همچنین این دستگاه نباید گران و سنگین باشد، به گونه ای که تمامی اقشار جامعه و نیز افراد با سنین مختلف قادر به تهیه و استفاده از آن باشند.
خطاهای سختافزار: سختافزار Mobile Nodeها به مراتب نسبت به Body Nodeها و Master Nodeها از تهدیدات و خطرات کمتری رنج میبرند. اما هر لحظه این امکان وجود دارد که گره Mobile Node به سبب خطای پایدار خراب شود، بگونهای که قادر به ادامه انجام فعالیتش نباشد. لازم به ذکر است که خرابی فرستنده، گیرنده و باتری Mobile Node و همچنین خالی شدن باتری آن، منجر به وقوع خطای پایدار در این گره می شود. در این حالت استفاده از یک Mobile Node افزونه اولین راهحلی است که به ذهن میرسد. اما واقعیت امر این است که هزینه Mobile Nodeها گران است، لذا استفاده از واحد رزرو برای Mobile Node با تحمل هزینه همراه است. به بیانی استفاده از واحد افزونه و تعداد واحدهای افزونه بستگی به کاربرد دارد، به طور مثال اگر کاربرد حساس باشد میتوان با تحمل هزینه مالی از ۱۰ عدد واحد رزرو استفاده کرد.
اگر گره Mobile Node به سبب خطای پایدار خراب شود آنگاه انتقال اطلاعات از Master Node به ابر معنی ندارد. زیرا Master Node فاقد نمایشگر میباشد و به اندازه Mobile Node امکانات ارتباطی و نرمافزاری ندارد، پس در این حالت Master Node به عنوان یک هشدار دهنده عمل می کند. Master Node هشدار خرابی Mobile Node را برای مرکز ابری ارسال می کند، همچنین با در نظر گرفتن شفافیت، توسط بلوتوث یک پیام متنی را به تمامی Mobile Nodeهایی که در اطراف شخص تحت نظارت قرار دارند، ارسال می کند. در واقع این پیام، هشدار جایگزینی یا تعمیر Mobile Node را میدهد. بعد از این هشدار، در صورت موجود بودن واحد رزرو، میتوان از آن استفاده کرد. شایان ذکر است که با خراب شدن واحد افزونه، این چرخه دوباره ادامه پیدا می کند.
از مطالب بیان شده میتوان به این نتیجه رسید که با خراب شدن Mobile Node باید Master Nodeها به منظور هشدار دادن، بلافاصله از این خرابی آگاه شوند. همچنین برای اینکه گره Master Node بتواند از وضعیت گره Mobile Node خبردار شود، در زمانهای خاصی نیاز به برقراری ارتباط با این گره را دارد. به طور مثال گره Mobile Node می تواند هر ۱۰۰ ثانیه یکبار، پیام «سلام Master Node» را برای Master Node ارسال کند، که عدم دریافت این پیام از سوی Master Nodeها، نشانهی خراب بودن Mobile Node است. که این مسئله در بخشهای قبلی به صورت مفصل مورد بررسی قرار گرفت.
سناریویی را میتوان تصور کرد که گره Mobile Node سالم و بینقص باشد و گیرنده Master Node مشکل داشته باشد. ممکن است این امر باعث شود که Master Node به اشتباه تشخیص دهد Mobile Node خراب است، بگونهای که اقدام به ارسال هشدار اشتباهی برای ابر کند.
در شبکه های چند Master Nodeی، به منظور برطرفسازی مشکل فوق میتوان از تکنیک رأیگیری استفاده کرد. بدین صورت که برای انجام فرایند رأیگیری تعداد Master Nodeهای فیزیکی فرد باشند. روش کار بدین صورت است که از روش رأیگیری بر اساس رأی اکثریت استفاده می شود. یعنی اکثریت Master Nodeها با هم سالم بودن یا نقص داشتن Mobile Node را مشخص می کنند. نتیجتاً در شبکه های چند Master Nodeی، میتوان مشکل سناریوی بالا را با بهره گرفتن از تکنیک رأیگیری حل کرد.
ممکن است با بررسی سناریوی بالا این سؤال مطرح شود که در شبکه های تک Master Nodeی اگر گیرندهی Master Node دچار مشکل شود، تکلیف چیست؟ به منظور پاسخ به سؤال فوق در تحقیق حاضر الگوریتمی تحت عنوان «شناسایی گیرنده کَر» مطرح می شود. در الگوریتم مذبور اگر گیرنده Master Node برای مدت زمان مشخصی به کانالهای بین خودش و Body Node و Mobile Node گوش کند و چیزی را نشنود، آنگاه این چنین تشخیص داده می شود که گیرندهی Master Node کر است. عملکرد الگوریتم «شناسایی گیرنده کر» به شرح زیر است.
-
- در بازه زمانی X به لینک بین Master Node و Mobile Node گوش کن، اگر پیام «سلامMaster Node» را از Mobile Node دریافت نکردی، به مرحله ۲ برو، در غیر اینصورت از الگوریتم خارج شو (X دو برابر فاصله زمانی است که Mobile Node پیامهایش را در شبکه پخش می کند).
-
- از این لحظه تا زمان Y، اگر پیامهای «سلام ارباب» را از سوی Body Nodeها دریافت نکردی یا دادههایی را از Body Nodeها دریافت نکردی به مرحله ۳ برو، در غیر این صورت به مرحله ۴ برو.
-
- گیرنده اصلی Master Node خراب است، تا ابد آنرا خاموش و گیرنده standby، را تا ابد روشن کن، سپس به مرحله یک برو.
-
- یک پیام هشدار مبنی بر خراب بودن Mobile Node، برای ابر و موبایلهای اطراف ارسال کن.
باتری: خوشبختانه شرکتهای سازندهی Mobile Nodeها امروزه به نوع باتری محصولاتشان توجه ویژهای دارند. بگونهای که این باتریها با داشتن حجم کم میتوانند برای ساعتهای طولانی انرژی لازم را در خود ذخیره کنند. علاوه بر مزایای فوق باید خاطرنشان کرد که باتریهای Mobile Nodeها قابل شارژ میباشند، همچنین در صورت خرابی باتری، میتوان آن را به سادگی تعویض کرد.
تکنولوژی ارتباطی: با توسعه و پیشرفت Mobile Nodeها، آنها قادر به پشتیبانی از انواع مختلف تکنولوژیهای ارتباطی میباشند. همچنین کارخانههای سازندهی این دستگاهها، معمولاً چندین نوع مختلف از تکنولوژیهای ارتباطی را به صورت همزمان در یک Mobile Node تعبیه می کنند. لذا مباحثی که در بحث انتخاب تکنولوژی ارتباطی وجود دارند از قبیل میزان مصرف باتری، برد انتقال اطلاعات، روش کشف خطا در تکنولوژی ارتباطی و حجم ماژول، دیگر برای Mobile Nodeها نگران کننده نیست، زیرا کارخانههای سازنده این مسائل را در طراحی و پیادهسازی به خوبی مد نظر قرار دادهاند بطوریکه کاربر می تواند با توجه به شرایط، مناسبترین تکنولوژی را انتخاب کند.
اما دلایل مختلفی از جمله قطعی اینترنت می تواند باعث قطع ارتباط Mobile Node با ابر شوند. در چنین شرایطی Mobile Node به صورت اتوماتیک و از طریق پیامک یا تماس اضطراری، دکتر و مسئول معماری سه لایهای را از این قطعی ارتباط آگاه می کند.
خطاهای نرمافزار:نرمافزار، مهمترین قسمت در لایهی دوم از معماری پیشنهادی است. پس نرمافزار دستگاه موبایل باید دارای امکانات و تواناییهای ویژهای باشد که سازگاری و قابلیت انطباق با هر دستگاه موبایلی، از جمله این موارد میباشد. حالتی را در نظر بگیرید که نرمافزاری بسیار عالی برای لایهی دوم این معماری طراحی و ایجاد شده است، بگونهای که این نرمافزار فقط بر روی سیستمعاملهای اندروید نصب می شود. اگر چه نرمافزار فوق برای این معماری عالی است اما لایهی دوم معماری را به دستگاههایی که سیستمعاملشان اندروید است، محدود می کند. به بیانی دیگر نرمافزار لایهی دوم بر روی سیستمعاملهایی که اندروید نیستند نصب نمی شود. این در حالیست که کاربر باید در انتخاب دستگاه لایهی دوم آزاد باشد بطوریکه با توجه به وضعیت مالی و صلیقهاش، آزادانه دستگاه موبایل خود را بخرد. لذا نرمافزار لایهی دوم باید قابلیت انطباق و سازگاری را با هر دستگاه موبایلی داشته باشد. یک راهحل این است که برای هر سیستمعامل یک نسخه از نرمافزار فوق طراحی و ایجاد شود.
کدهای بداندیش[۷۱] دیگر تهدیدات برای نرمافزار دستگاههای لایهی دو میباشند. لایهی دوم به منظور ارتباط با ابر، دسترسی مستقیم به اینترنت دارد، این در حالیست که اینترنت بخاطر وجود افراد غیرمجاز و برنامه های مخرب، فضای ناامنی است. همچنین معمولاً افراد تحت نظارت مانند سالمندان، کاربرانی هستند که اطلاعاتی درباره کامپیوترها ندارند و خیلی سریع در دام افراد غیرمجاز و برنامه های مخرب اسیر میشوند، بگونهای که لایهی دوم خراب می شود. به منظور تحمل این خرابی دو روش پیشنهاد می شود که البته هر دو روش باید با هم و در کنار هم مورد استفاده قرار بگیرند.
روش اول این است که افراد متخصص برای دستگاه لایهی دوم آنتیویروسی را در نظر بگیرند و نصب کنند که همیشه فعال باشد، و از آنجا که این لایه بخاطر ارتباطش با ابر دارای اینترنت است به صورت اتوماتیک و بدون اطلاع کاربر به مرکز پشتیبانی آنتیویروس وصل شود و آنرا بروز رسانی کند. روش دوم این است که برای اجرای نرمافزار کاربر فقط آن نرمافزار را باز کند بطوریکه ارتباط لایه دوم با کامپیوترهای پوشیدنی و ابر و همچنین پردازش داده ها در لایه دوم به صورت اتوماتیک و بدون دخالت کاربر صورت پذیرد. همچنین برای اجتناب از آسیب رساندن کاربر به نرمافزار، میتوان محیط نرمافزار را از دید کاربر مخفی کرد. بدین صورت که به محض اجرای نرمافزار فقط آیکن کوچکی در گوشهی صفحه ظاهر شود و کاربر قادر به مشاهده محیط نرمافزار و ایجاد تغییر در نرمافزار، نباشد.
اگرچه میتوان از نرمافزار لایهی دوم در برابر خطرات محافظت کرد، اما یک واقعیت انکارناپذیر وجود دارد و آن این است که این احتمال وجود دارد که نرمافزار لایهی دو دچار نقص و خرابی شود. به بیانی دیگر، هر لحظه این امکان وجود دارد که بخاطر دلایل گوناگون، نیاز به نصب مجدد نرمافزار باشد. در این صورت اگر کاربر تحت نظارت قادر به نصب نرمافزار نباشد، آنگاه با مسئول معماری سه لایهای تماس میگیرد، سپس فرد مسئول از راه دور و از طریق اینترنت نرمافزار معیوب را حذف و نرمافزار جدید را نصب می کند. اما اگر کاربر تحت نظارت قادر به نصب نرمافزار باشد، می تواند با هماهنگی و به فرمان افراد متخصص که مسئول معماری سه لایهایاند، نرمافزار خراب شده را حذف و نرمافزار جدید را نصب کند.
در بحث نصب مجدد نرمافزار میتوان با روشی کاملاً ساده، نصب آنرا برای افراد با هر دانشی امکان پذیر کرد. بدین صورت که یک نسخه از نرمافزار سالم در مکانی از حافظه گره موبایل قرار داده شود که این نسخه افزونه است. سپس بعد از خرابی نرمافزار، باید کاربر با مسئول سه لایه تماس بگیرد و به منظور کسب اجازه از او یک نام کاربری و رمز دریافت کند. حال کاربر می تواند نرمافزار افزونه را اجرا کند و نام کاربری و رمز را وارد کند تا نرمافزار نصب شود. فرایند نصب باید بدین صورت باشد که کاربر پس از وارد کردن نام کاربری و رمز عبور هیچ دخالتی در حذف نرمافزار خراب و نصب نرمافزار جدید نداشته باشد به بیانی باید این دو کار به صورت اتوماتیک انجام گیرند.
اما در این فرایند نصب، ممکن است این سؤال مطرح شود که چه نیازی به کسب اجازه از مسئول معماری سه لایهای است؟ این سؤال را میتوان با این سؤال پاسخ داد که در حین خرابی نرمافزار لایهی دو، تکلیف داده ها و اطلاعات ارسالی از کامپیوترهای پوشیدنی به دستگاه موبایل چه می شود؟ به این سؤال در بخشهای آتی جواب داده می شود. اما فعلاً باید خاطرنشان کرد که این معماری سه لایهای باید در برابر خطا و خرابی تحملپذیر باشد و تحت هر شرایطی در حال انجام صحیح فعالیت باشد. لذا در زمانی که نرمافزار لایهی دو خراب است باید با هماهنگی مسئول معماری سه لایهای این خرابی را تحمل کرد.
در زمانی که نرمافزار لایهی دوم خراب است، به منظور تحمل خرابی باید مانع از نابودی داده های ارسالی از کامپیوترهای پوشیدنی شد. به علاوه، اطلاعات تولید شده قبلی، توسط لایهی دو نیز، باید از بین نروند. برای چالش فوق دو راهحل پیشنهاد می شود.
راهحل اول این است که دستگاه لایهی دو، داده های دریافتی از کامپیوترهای پوشیدنی را بدون دخالت نرمافزار لایه دو، در حافظه خودش و در درون یک پوشه تحت عنوان «داده های حساس» ذخیره کند. همچنین نرمافزار لایه دو، تمامی اطلاعات تولید شده توسط خود را در حافظه موبایل و در پوشه ذکر شده، ذخیره کند. بطوریکه اگر بنا به هر دلیلی نرمافزار لایه دوم خراب شد، بتوان بعد از نصب مجدد نرمافزار، این داده ها و اطلاعات را مورد بررسی قرار داد. شایان ذکر است که نرمافزار لایه دوم نرمافزاری است که توسط مسئولین معماری سه لایهای ایجاد می شود؛ یعنی با خراب شدن این نرمافزار، خللی در کارکرد سایر نرمافزارها و سیستمعامل لایه دو بوجود نمیآید.
در راهحل اول باید به فاصلهی زمانی ذخیره شدن داده ها در پوشه «داده های حساس» و بررسی شدن آنها توسط نرمافزار دوباره نصب شده، دقت شود. به طور مثال حالتی را در نظر بگیرید که نرمافزار لایه دو خراب است. در این حین کامپیوترهای پوشیدنی داده های نشان دهنده ضربان قلب بیمار را برای موبایل ارسال می کنند، داده های فوق در پوشه «داده های حساس» ذخیره میشوند. این داده ها نشان می دهند که ضربان قلب بیمار از دامنه نرمال خارج شده است و وضعیت سلامت بیمار وخیم است. در این سناریو نرمافزار لایه دوم به فاصلهی هفت ساعت بعد نصب مجدد می شود، یعنی این داده های ضربان قلب بعد از هفت ساعت بررسی میشوند. این در حالی است که سلامت بیمار هفت ساعت پیش به خطر افتاده و او در آن لحظه نیاز به کمک داشته و حال ممکن است دیر شده باشد.
راهحل دوم به منظور تحمل خرابی نرمافزار استفاده از ابر است. این راهحل مشکل راهحل اول را ندارد، یعنی مواقعی که فاصلهی بین زمان ذخیره شدن داده ها در حافظه موبایل و بررسی آنها توسط نرمافزار دوباره نصب شده، زیاد باشد.
روش کار بدین صورت است که به محض خراب شدن نرمافزار لایه دو، بصورت اتوماتیک محتوای پوشه «داده های حساس» برای ابر ارسال می شود. در این روش بجای انتظار کشیدن برای نصب مجدد نرمافزار، داده ها و اطلاعات پوشه «داده های حساس» به منظور بررسی، مستقیماً به ابر فرستاده میشوند. این ارسال اطلاعات نمیتواند توسط Master Node فیزیکی انجام گیرد، زیرا Master Node فیزیکی به دلیل محدودیتهای سختافزاری و نرمافزاری توانایی انجام وظایف Mobile Nodeرا ندارد. از این اینرو پیشنهاد می شود که لایهی دوم، خودش داده های دریافتی از کامپیوترهای پوشیدنی را به ابر ارسال می کند. در حقیقت درست است که نرمافزار لایهی دو خراب است اما میتوان داده های ذخیره شده در حافظه دستگاه لایه دو را توسط دستگاه موبایل به ابر ارسال کرد تا خود ابر مسئولیت بررسی این داده ها و انجام تصمیمات بلادرنگ را بر عهده گیرد.
فرم در حال بارگذاری ...
[جمعه 1400-07-30] [ 08:47:00 ب.ظ ]
|