طرح های پژوهشی دانشگاه ها درباره یک چارچوب تحمل خطا برای محاسبات پوشیدنی در حوزه محاسبات فراگیر ... |
![]() |
پردازش متوسط
گیرنده
شکل ۳-۵: معماری سختافزاری یکMobile Node
در این تحقیق پردازشها به چهار دسته مختلف تقسیم میشوند. در ادامه به منظور درک بهتر، انواع مختلف پردازشهای موجود در این معماری سه لایهای شرح داده میشوند.
- پردازش جزئی: به تمامی پردازشهایی که توسط MCU انجام میگیرد، گفته می شود. تبدیل داده های آنالوگ حس شده به دیجیتال، همچنین عملیات پردازشی سنسور ۹۱۵۰ که زوایای اویلری را انجام میدهد، نمونههایی از پردازش جزئی میباشند.
- پردازش سبک: قدرت پردازشگر Master Node از MCU بیشتر است اما این پردازشگر بسیار ضعیفتر از پردازشگر Mobile Node میباشد، با توجه به نکتهی ذکر شده، به همه پردازشهایی که توسط پردازشگر Master Node انجام میگیرد، پردازش سبک گفته می شود. بررسی کیفیت داده ها، مدیریت Body Nodeهای افزونه و پردازش داده های دریافت شده از Body Nodeها نمونههایی از پردازش سبک میباشند.
- پردازش متوسط: پردازنده Mobile Node قدرتمندتر از پردازندهی Master Node و بسیار ضعیفتر از ابر است. از اینرو این پردازنده نسبت به لایه های کامپیوترهای پوشیدنی و ابر پردازش متوسطی را انجام میدهد. به بیانی دیگر به کلیه پردازشهایی که توسط Mobile Node انجام میگیرد، پردازش متوسط گفته می شود.
- پردازش سنگین: به تمامی پردازشهایی که توسط ابر انجام میگیرد، گفته می شود.
در ادامه مشاهده خواهد شد که معماری سه لایهای ارائه شده با قابلیت پشتیبانی از کارها و معماریهای دیگران، یک معماری جامع است.
در حوزه سلامت یک معماری سه لایهای موجود میباشد که محققان بسیاری از آن بهره بردهاند.برای مثال میتوان مراجع[۸۲]،[۴۸] و[۸۳] را مشاهده کرد. این محققان در تحقیقاتشان اسامی لایه ها و برخی جزئیات را مطابق تفسیر خودشان تعریف کرده اند، این در حالیست که در اکثر این تحقیقات اصل مفهوم مشترک است. لذا در ادامه به نمایندگی از این تحقیقات، یک تحقیق مورد بررسی قرار داده می شود.
مطابق شکل ۳-۶ در [۸۴] یک معماری سه لایهای ارائه شده است. لایهی یک [۵۸]WWBAN، لایهی دو [۵۹]PS و لایهی سه [۶۰]MS میباشد.
لایهی یک از تعدادی سنسور تشکیل شده است که قابلیت حس کردن، پردازش و ارسال اطلاعات را دارند. لایهی دو یک سرور شخصی است که برنامه های کاربردی را اجرا می کند، دستگاه این لایه می تواند یک PDA، گوشی موبایل یا یک کامپیوتر خانگی باشد. این لایه اطلاعات ارسالی از لایهی یک را میگیرد و وضعیت سلامت کاربر را به وی گزارش میدهد. سرانجام اگر یک کانال ارتباطی به MS موجود باشد، PS می تواند گزارشهایی را به لایهی سه بفرستد تا سرور پزشکی این لایه، اطلاعات سلامت بیمار را در پروندهی پزشکی او ثبت کند. اما اگر بین لایهی دو و سه لینکی موجود نباشد، آنگاه PS باید قادر به ذخیرهسازی داده ها به صورت محلی باشد تا در زمانیکه لینک بین این دو لایه برقرار شد، این داده ها را برای لایه سه ارسال کند. در نهایت، آخرین لایه یعنی لایه سوم، شامل سرورهای پزشکی است.
شکل ۳-۶: یک معماری برای نظارت بر سلامت [۴]
در معماری فوق گرههای لایهی یک مدام اطلاعات حس شده خود را به لایهی دو میفرستند، که این کار باعث افزایش حجم داده های خام و پردازش نشده در لایهی دو می شود. این در حالیست که معماری سه لایهای ارائه شده ما، با بهره گیری از Master Node مشکل فوق را حل می کند. در واقع Master Node اطلاعات خام و پردازش نشده را از Body Nodeها میگیرد و بر روی آنها پردازشی را انجام میدهد، سپس نتایج پردازش را به لایهی دو میفرستد.
در معماری فوق، اینترنت تنها مسئول برقراری ارتباط بین لایهی دو و سه است. این در حالیست که در لایهی سه معماری ما، محاسبات ابرین قرار دارد. به بیانی نتنها لایهی سه معماری ما قادر به انجام تمام کارهای لایهی سه معماری فوق است، بلکه چندین برابر قویتر از لایهی سوم معماری فوق است؛ که دلیل این امر قدرت و ویژگیهای ذاتی محاسبات ابری است. به بیانی دیگر در معماری ما، محاسبات ابری محدودیتها و فقر محاسبات پوشیدنی و محاسبات سیار را برطرف میسازد. در واقع معماری سه لایهای ارائه شده ما، علاوه بر پشتیبانی کردن از معماری [۸۴]، قادر به حل مشکلات آن نیز میباشد؛ که این قضیه جامع بودن معماری ما را اثبات می کند.
همچنین برخی محققان در معماری خود از یک ایستگاه مبنا[۶۱] استفاده می کنند. در ادامه یک نمونه از این معماری مورد بررسی قرار میگیرد. شکل ۳-۷ معماری ارائه شده در [۸۱] را نشان میدهد. در این معماری، Biosensorها اطلاعات حس شده خود را برای گره کنترل که می تواند گوشی موبایل یا PDA باشد، ارسال می کنند. در نهایت گره کنترل، از طریق ایستگاه مبنا، این اطلاعات را برای سرور پزشکی ارسال می کند.
شکل ۳-۷: یک معماری مبتنی بر ایستگاه مبنا [۸۱]
در معماری فوق، Biosensorها مستقیماً دادههایشان را برای گره کنترل میفرستند. این در حالیست که در معماری ما، Master Nodeها ابتدا پردازشی را بر روی اطلاعات انجام می دهند و سپس آنها را برای Mobile Node ارسال می کنند. همچنین در معماری فوق گره کنترل باید اطلاعاتش را از طریق ایستگاه مبنا به سرور پزشکی ارسال کند. این در حالیست که در معماری ما، گره Mobile Node بدون هیچگونه واسطهای اطلاعاتش را به ابر ارسال می کند. مهمترین مزیت معماری ما استفاده از ابر است، بگونهای که میتوان داده های حس شده را در ابر ذخیره کرد و یا آنها را با قدرت بالا، پردازش کرد.
۳-۳ یک چارچوب تحمل خطا برای محاسبات پوشیدنی
در ادامه و در این فصل قابلیت اطمینان معماری سه لایهای ارائه شده، مورد بحث و بررسی قرار میگیرد. قابلیت اطمینان در سیستمهایی با کاربردهای حساس، یک نیاز حیاتی بوده و این نوع سیستمها باید طوری طراحی شوند تا بتوانند با وجود خرابی به وظیفهی خود به طور مناسب ادامه دهند؛ از اینرو اگر معماری پیشنهادی ارائه شده در برابر خطا تحملپذیر نباشد ممکن است مشکلات جبرانناپذیری را به همراه داشته باشد بنابراین برای عملکرد صحیح این معماری، نیاز به یک چارچوب تحمل خطا هست که در ادامه ارائه خواهد شد.
۳-۳-۱ Body Nodeها
در گره Body Node هر یک از پنج قسمت ( باتری، حسگر، MCU، فرستنده و گیرنده) ممکن است به سبب خطاهای پایدار، خراب شوند. وجود خطای پایدار در باتری برابر است با از کار افتادن گره Body Node، به علاوه اگر قسمت حسگر خراب شود، آنگاه دیگر گره نمیتواند اطلاعاتی را از بدن جاندار حس کند. همچنین اگر MCU که قلب Body Node است به سبب خطاهایی از قبیل توقف مطلق[۶۲] و hang، قادر به ادامه عملیات نباشد، آنگاه گره Body Node مثل کامپیوتری میماند که CPU آن خراب شده و عملاً نمیتواند کاری انجام دهد. اگر ماژول فرستنده دچار خرابی سختافزاری شود، Body Node قادر به ارسال اطلاعات حس شده به Master Node یا Mobile Node نیست. همچنین در این شرایط خود گره Body Node، توسط Master Node یا Mobile Node قابل شناسایی نیست. زیرا Body Node برای ارتباط برقرار کردن و دیده شدن حتماً باید پیام «سلام ارباب» را برای Master Node یا Mobile Node ارسال کند. نهایتاً در صورت خرابی ماژول گیرنده، Body Node دیگر نمیتواند صحت و سلامتی Master Node و Mobile Node را تشخیص دهد. در بخش مدیریت خطاها در شبکه، به تفضیل شرح داده می شود که طراحی و پیادهسازی گرههای شبکه را میتوان به طریقی انجام داد که گرههای بالاتر وظیفه چک کردن سلامت شبکه را بر عهده داشته باشند لذا شاید اینگونه استنباط شود که Body Node می تواند فاقد گیرنده باشد. اما واقعیت امر این است که وجود گیرنده در Body Node الزامی است. در واقع گره بالایی درخواست ایجاد ارتباط را به گره پایینی خود میدهد و این درخواست توسط گیرنده گره پایینی دریافت می شود. پس در صورت نبود گیرنده یا خرابی گیرنده، دیگر ارتباطی بین Body Node باMaster Node و Mobile Node ایجاد نمی شود. به بیانی دقیقتر، Body Node بخاطر عدم دریافت پیام «سلام بچهها» و «سلام Body Node» قادر به برقراری ارتباط با Master Node و Mobile Node نیست. با استناد به موارد بیان شده میتوان به این نتیجه رسید که خرابی هر یک از پنج ماژول تشکیل دهنده Body Node، می تواند منجر به خطای پایدار گردد که در این صورت در کل شبکه یک نقطهی کور پدیدار می شود که یک ناحیه را پوشش نمیدهد.
لازم به ذکر است، پیام «سلام بچهها» که توسط Master Node برای Body Nodeها ارسال می شود، فقط برای آگاهسازی Body Nodeها از سلامت Master Node نیست. بلکه از این پیام برای برقراری ارتباط بین Master Node و Body Nodeهایش نیز استفاده می شود. مکانیزم کار بدین صورت است که Master Node به منظور برقراری ارتباط با Body Node یک پیام «سلام بچهها» را که حاوی تمام مشخصات Master Node است را برای Body Node ارسال می کند. با دریافت این پیام از سوی Body Node دو حالت پیش می آید: حالت اول: Body Node تمایل به برقراری ارتباط دارد، پس به منظور برقراری ارتباط، پیام «سلام ارباب» را که حاوی تمام مشخصات گره Body Node است را برای Master Node ارسال می کند؛ که با دریافت این پیام از سوی Master Node ارتباط برقرار می شود. حالت دوم: Body Node تشخیص میدهد که Master Node بیگانه است از اینرو خواهان برقراری ارتباط نیست، پس در جواب پیام ارسالی از سوی Master Node، عکسالعملی نشان نمیدهد.
در بحث مکانیزم ارتباط ذکر شده، Master Node باید گره فعال باشد و Body Nodeهای موجود در شبکه را جستجو و پیج کند. زیرا اگر به منظور برقراری ارتباط، هر Body Node خود قصد ارسال پیام «سلام ارباب» را داشته باشد، هر لحظه این احتمال وجود دارد که ارتباط Master Node با Body Node قطع شود، که برای برقراری مجدد ارتباط باید Body Node در فواصل زمانی مشخص به طور مثال هر ۱۵ ثانیه پیامی را برای Master Node ارسال کند. با توجه به اینکه در Body Nodeها ارتباطات و ارسال پیام باعث مصرف انرژی زیادی میشوند، این کار توصیه نمی شود. پس Master Node باید گره فعال باشد و در فواصل زمانی کوتاه و معین به طور مثال هر ۱۵ ثانیه یکبار پیام «سلام بچهها» را در کل شبکه پخش کند تا اگر Body Node افزونهای تازه به شبکه اضافه شده یا اگر Body Nodeی ارتباطش قطع شده، ارتباط آنها را برقرار کند.
در لحظهای که ارتباط بین Body Node و Master Node برقرار است، هر لحظه این امکان وجود دارد که به دلایل مختلف، این ارتباط از بین برود؛ از اینرو Master Node در فواصل زمانی مشخص پیام «سلام بچهها» را در کل شبکه پخش می کند، سپس Body Nodeی که ارتباطش با Master Node از بین رفته، دوباره به منظور برقراری مجدد ارتباط، پیام «سلام ارباب» را برای Master Node ارسال می کند. با دریافت این پیام از سوی Master Node، مجدداً ارتباط برقرار می شود.
علاوه بر مطالب ذکر شده، در مکانیزم ارتباط دهی باید مبحث مکانیزم خاموشی فعال[۶۳] مورد توجه قرار گیرد. مکانیزم خاموشی فعال بیانگر این است که بعد از برقراری ارتباط بین Master Node و Body Node، امکان دارد که این دو گره تا مدتی دادهای برای ارسال به یکدیگر نداشته باشند. در حالت فوق با وجود اینکه دو گره Master Node و Body Node برای یکدیگر دادهای ارسال نمیکنند، نباید ارتباط بین دو گره قطع شود. به بیانی مکانیزم خاموشی فعال با مصرف انرژی کم، ارتباط بین دو گره را که دادهای برای هم نمیفرستند را حفظ می کند. لازم به ذکر است که مکانیزم خاموشی فعال در بلوتوث و ماژول RN42، پیش بینی شده است.
همچنین در مکانیزم برقراری ارتباط باید مسئله احراز هویت مورد توجه قرار گیرد. برای درک بهتر میتوان حالتی را تصور کرد که در آن، دو فرد تحت کنترل با نامهای سارا و سوزان در کنار یکدیگر قرار گیرند. در این صورت Master Nodeی که بر بدن سارا پوشیده شده است به منظور برقراری ارتباط با Body Nodeهایش، پیام «سلام بچهها» را میفرستد. در این سناریو همه Body Nodeهایی که بر بدنهای سارا و سوزان پوشیده شده اند، با پیام «سلام ارباب» به Master Node جواب می دهند و با آن ارتباط برقرار می کنند، که این خطا در برقراری ارتباط، منجر به شکست سیستم می شود.
به منظور تحملپذیر کردن سیستم در برابر این خطا باید از اعتبار سنجی استفاده کرد. در این تحقیق به منظور احراز هویت، تکنیکی تحت عنوان «رمز شب» ارائه می شود. روش کار تکنیک مذکور بدین شرح است که در هر شبکه پیامهای Master Nodeها و Body Nodeها انحصاری آن شبکه هستند. برای درک بهتر میتوان هر شبکه را بسان یک پادگان نظامی در نظر گرفت که در آن Master Nodeها و Body Nodeها، فرماندهان و سربازان آن پادگان میباشند. در این سناریو هر پادگان یک رمز شب منحصر به فرد دارد که فرماندهان و سربازانش، آن رمز را از قبل میدانند، که به منظور شناسایی نیروهای خود از دشمن آن را مورد استفاده قرار می دهند. پس با در نظر گرفتن تکنیک «رمز شب» در مثال سارا و سوزان، زمانیکه Body Nodeهای پوشیده شده بر بدن سوزان، پیام «سلام بچهها» را دریافت می کنند، بلافاصله متوجه اشتباه بودن رمز شب میشوند و در جواب این پیام هیچگونه عکسالعملی نشان نمیدهند.
برقراری ارتباط بین Body Node و Master Node به دو طریق قابل انجام است. در ادامه به شرح هر دو حالت پرداخته می شود.
شکل ۳-۸: برقراری ارتباط بین Body Node و Master Node در حالت اول
حالت اول در شکل ۳-۸ نشان داده شده است. در این حالت در تمامی شبکه ها پیامهای «سلام بچهها» و «سلام ارباب» مشترک میباشند. در گام اول این دو پیام بین Master Nodeها و Body Nodeها تبادل می شود، سپس در گام بعدی، یعنی فرایند برقراری ارتباط، به منظور احراز هویت از تکنیک رمز شب استفاده می شود. بدین صورت که اگر رمز شب ارسال شده از سوی Body Node صحیح باشد، ارتباط برقرار می شود و در غیر اینصورت ارتباط برقرار نمی شود. اما حالت اول به دو دلیل توصیه نمی شود.
اولاً، شرایطی را میتوان در نظر گرفت که ۱۰ فرد که با چنین شبکه هایی تجهیز شده اند در کنار یکدیگر قرار گیرند. به عنوان مثال در این حالت هر ۶۰ ثانیه یکبار هر Master Node پیام «سلام بچهها» را میفرستد و سپس درخواست «رمز شب» می کند. در این فرایند هر Body Node باید یک پبام «سلام ارباب» و یک پیام حاوی رمز شب را ارسال کند، یعنی در مجموع به ازای هر بار درخواست Master Node، Body Node باید ۲ پیام، ارسال کند. حال اگر این افراد به مدت ۲۰ دقیقه در کنار یکدیگر قرار گیرند، هر Body Node باید ۴۰۰ پیام را برای Master Nodeها ارسال کند که از این ۴۰۰ پیام، ۴۰تای آن مفید بوده و بقیه متعلق به Master Nodeهای دیگر افراد است. حالت اول مناسب نیست زیرا Body Nodeها اطلاعات زیادی را ارسال می کنند، این در حالیست که فرایند ارسال اطلاعات در Body Nodeها انرژی زیادی را مصرف می کند.
ثانیا، در حالت اول پیامهای «سلام بچهها» و «سلام ارباب» در تمامی شبکه ها مشترک است و این در حالیست که یکی از کاربردهای پیام «سلام بچهها»، آگاهسازی Body Node از سلامت Master Node است. در سناریوی سارا و سوزان میتوان حالتی را تصور کرد که Master Node سوزان خراب شود. در این حالت Body Nodeهای بدن سوزان پیام «سلام بچهها» را که توسط Master Node سارا ارسال شده است را میگیرند و فکر می کنند که Master Nodeشان سالم است و مدام برای آن اطلاعات ارسال می کنند. تا زمانیکه این Body Nodeها، پیام «سلام بچهها» را از Master Node سارا میگیرند، متوجه خرابی Master Node سوزان نمیشوند. لذا حالت اول به دلیل مشترک بودن پیامها در بین تمام شبکه ها، مناسب نیست.
شکل ۳-۹: برقراری ارتباط بین Body Node و Master Node در شبکه A و در حالت دوم
حالت دوم در شکل ۳-۹ نشان داده شده است. این حالت مشکلات مطرح شده در حالت اول را ندارد. در این حالت در هر شبکه، Master Node و Body Nodeهایش از دو پیام که انحصاری و منحصر به فرد هستند، استفاده می کند. لازم به ذکر است که با این دو پیام هم میتوان Body Nodeها را از سلامت Master Nodeشان آگاه کرد و هم میتوان این دو پیام را به عنوان رمز شب، برای احراز هویت مورد استفاده قرار داد.
در ادامه برای درک بهتر از یک مثال استفاده می شود. برای سه فرد با نامهای A، B و C که در مجاور هم و مجهز به شبکه های پوشیدنی هستند، ترتیب پیامهای رمز شب بدین صورت است که شبکه فرد A شامل دو پیام «سلام بچهها ۱» و «سلام ارباب ۱»، شبکه فرد B شامل دو پیام «سلام بچهها ۲» و «سلام ارباب ۲» و شبکه فرد C شامل دو پیام «سلام بچهها ۳» و «سلام ارباب ۳» است. Master Node هر شبکه به همراه Body Nodeهایش این رمز شبها را از قبل میدانند. لذا اگر Master Node شبکه A پیام «سلام بچهها ۱» را منتشر کند، Body Nodeهای شبکه های B و C با دریافت این پیام متوجه اشتباه بودن رمز شب میشوند و هیچگونه عکسالعملی نشان نمیدهند. این امر باعث می شود که هر Body Node، تنها به Master Node خودش جواب دهد، پس با این کار هیچ یک از Body Nodeها اطلاعات اضافه و بیهودهای را ارسال نمیکنند. به بیانی در حالت دوم تعداد ارسالها توسط Body Nodeها کاهش مییابد، که این کاهش ارسال سبب کاهش مصرف انرژی می شود. از طرفی، اگر یک Master Node خراب شود، آنگاه بعد از گذشت مدت زمانی از پیش تعیین شده، Body Nodeهایش به خاطر عدم دریافت پیام مناسب، متوجه این خرابی میشوند. نتیجتاً، این روش مشکلات حالت اول را رفع می کند.
خطای نرمافزار Body Nodeها: ذکر این نکته حائز اهمیت میباشد که در خرابی یک نرمافزار عاملهای مختلفی دخالت دارند. از جمله این موارد این است که اگر نرمافزاری بسیار پیچیده باشد، احتمال خرابی آن نیز زیاد می شود. همچنین اگر نرمافزاری به صورت مستقیم توسط کاربر مورد استفاده قرار بگیرد، کاربر می تواند به دلایل گوناگونی از جمله آماتور بودن و نداشتن دانش کافی، آن نرمافزار را دچار آسیب کند. به علاوه، برنامه های بداندیش دیگر تهدیدات برای نرمافزارها میباشند که سعی می کنند با ایجاد تغییر در کد برنامه ها، آنها را دچار آسیب کنند.
نرمافزار Body Nodeها بسیار ساده است، بطوریکه پیچیده نبودن این نرمافزارها احتمال خرابیهای نرمافزاری را بسیار کم می کند. همچنین کاربران Body Nodeها به صورت مستقیم با این نرمافزارها کار نمیکنند، زیرا ماژولهای سختافزاری Body Nodeها، اپراتور این برنامه ها میباشند. از این جهت کاربران نمی توانند به برنامه ها صدمه بزنند. از مطالب بیان شده میتوان اینگونه استنتاج کرد که در کامپیوترهای پوشیدنی برنامه ها و الگوریتمهای ساده در حافظههای فقط خواندنی ROM[64] قرار میگیرند، که نرمافزارها و برنامه های موجود در این حافظهها، توسط کاربران آماتور یا برنامه های بداندیش قابل تغییر نیستند. یعنی احتمال ویروسی شدن یا خراب شدن این برنامه ها بسیار کم است.
در محیط عملیاتی احتمال خرابی نرمافزار Body Node توسط عاملهای خارجی کم است. لذا به منظور افزایش قابلیت اطمینان میتوان بعد از طراحی نرمافزارِ Body Node، از روش آزمایش و اشکالزدایی کامل به منظور پیشگیری از خطا استفاده کرد. به عبارتی تحملپذیر کردن نرمافزار Body Node در برابر خطا، بوسیلهی تست کامل نرمافزار، تحقق مییابد.
خطای ماژول سنسور در Body Nodeها:در هر Body Node ماژول سنسور نقش مهمی را ایفا می کند. این ماژول اطلاعات را از محیط یا بدن جاندار حس می کند. این اطلاعات مبنای تمام تصمیم گیریها و فعالیتهایی است که توسط لایه های بعدی انجام می شود. با از کار افتادن ماژول سنسور Body Node، یک نقطهی کور در شبکه ظاهر می شود بطوریکه سیستم یک رویداد مهم را از دست میدهد. به منظور تحمل خطاها و خرابیهای بخش سنسورِ Body Nodeها میتوان از افزونگی سختافزاری استفاده کرد. درست است که افزونگی سختافزاری به دلیل مصرف انرژی، فضای اشغال شده و هزینه قطعه افزونه، راهحل مناسبی برای تحمل خطا در شبکه های پوشیدنی نیست اما در عمل زمانیکه یک سنسور به سبب خطای پایدار از کار میافتد، آنرا تعویض می کنند. این کار به دو دلیل انجام میگیرد: اولاً تعمیر سنسور چه از لحاظ اقتصادی و چه از لحاظ زمانی به صرفه نیست. ثانیاً در برخی از مواقع، تعمیر سنسور موجب پایین آمدن قابلیت اطمینان می شود. بنابراین در این شرایط به منظور ممانعت از اینکه یک رویداد مهم سیستم مانند کنترل ضربان قلب از دست رود، باید از افزونگی سختافزاری استفاده شود که برای این کار استفاده از دو نوع افزونگی TMR[65] و Standby پیشنهاد می شود.
فرم در حال بارگذاری ...
[دوشنبه 1400-08-03] [ 10:54:00 ق.ظ ]
|