مجله علمی: آموزش ها - راه‌کارها - ترفندها و تکنیک‌های کاربردی

خانهموضوعاتآرشیوهاآخرین نظرات
دانلود پروژه های پژوهشی در رابطه با یک چارچوب ...
ارسال شده در 21 آذر 1400 توسط فاطمه کرمانی در بدون موضوع

عنوان صفحه

شکل ۲-۱: یک معماری کلی برای محاسبات پوشیدنی ۱۲

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

شکل ۲-۲: درخت اتکاپذیری ۱۶

شکل ۲-۳: رابطه­ علت و معلول نقص، خطا و شکست ۱۸

شکل ۲-۴: جنبه­ های تحمل خطا از نظر معماری یک کامپیوتر پوشیدنی ۲۶

شکل ۳-۱: یک معماری پیشنهادی برای محاسبات پوشیدنی ۴۲

شکل ۳-۲: طرح کلی معماری پیشنهادی ۴۳

شکل ۳-۳: معماری سخت­افزاری یک Body Node 44

شکل ۳-۴: معماری سخت­افزاری یک Master Node 45

شکل ۳-۵: معماری سخت­افزاری یک Mobile Node 45

شکل ۳-۶: یک معماری برای نظارت بر سلامت ۴۷

شکل ۳-۷: یک معماری مبتنی بر ایستگاه مبنا ۴۸

شکل ۳-۸: برقراری ارتباط بین Body Node و Master Node در حالت اول ۵۱

شکل ۳-۹: برقراری ارتباط بین Body Node و Master Node در شبکه A و در حالت دوم ۵۲

شکل ۳-۱۰: افزونگی TMR برای ماژول سنسور در Body Nodeها ۵۵

شکل ۳-۱۱: افزونگی standby برای ماژول سنسور در Body Nodeها ۵۶

شکل ۳-۱۲: الگوریتم تعویض سنسور ۵۷

شکل ۳-۱۳: برقراری ارتباط بین Mobile Node و Master Node در حالت اول ۶۶

شکل ۳-۱۴: برقراری ارتباط بین Master Node و Mobile Node در شبکه A و در حالت دوم ۶۶

شکل ۳-۱۵: افزونگی standby برای ماژول گیرنده در Master Nodeها ۶۸

شکل ۳-۱۶: برقراری ارتباط بین Mobile Node و Body Node در شبکه A 72

شکل ۳-۱۷: تحمل خرابی باتری Master Node در شبکه ­های چند Master Nodeی که فاقد Master Node فیزیکی افزونه هستند ۷۵

شکل ۴-۱: دیاگرام انتقال حالت یک سیستم تک مؤلفه­ای ۹۳

شکل ۴-۲: یک سیستم standby با یک مؤلفه­ی افزونه ۹۴

شکل ۴-۳: دیاگرام انتقال حالت یک سیستم standby با یک مؤلفه­ی افزونه ۹۴

شکل ۴-۴: قابلیت اطمینان در Body Nodeها ۹۶

شکل ۴-۵: قابلیت اطمینان در Master Nodeها ۱۰۰

شکل ۴-۶: قابلیت اطمینان در معماری­ها ۱۰۳

چکیده

خرابی در سیستم­های با کاربردهای حساس، می ­تواند فاجعه­های جبران­ناپذیری را رقم بزند. طراحی این دسته از سیستم­ها باید به گونه ­ای باشد که در صورت رخداد خطا، قادر به انجام صحیح وظایف خود باشند، به علاوه تا حد ممکن از بروز خطا جلوگیری شود. از اینرو تحمل­پذیری در برابر خطا برای سیستم­هایی با کاربردهای حساس یک نیاز حیاتی است. کامپیوترهای پوشیدنی نمونه ­ای از این سیستم­ها هستند که امروزه به صورت گسترده در کاربردهای حساس از جمله حوزه سلامت مورد استفاده و توجه محققان قرار گرفته­اند. به عنوان مثال خطای این سیستم­ها برای بیماری که کیلومترها از دکتر خود یا بیمارستان فاصله دارد می ­تواند عواقب جبران ­ناپذیری را به همراه داشته باشد. لذا تحمل­پذیری محاسبات پوشیدنی در برابر خطا ضروری است و باید به صورت جدی مورد مطالعه قرار گیرد. در تحقیق حاضر مشخص می­ شود که با وجود اهمیت موضوع، در این زمینه تحقیق زیادی صورت نگرفته است. از اینرو با مطالعه­ کارهای دیگران و بررسی معماری­های موجود، در این تحقیق یک معماری سه لایه­ای متشکل از محاسبات پوشیدنی، محاسبات سیار و محاسبات ابری ارائه می­ شود. عملکرد صحیح سیستم­های استفاده کننده از این معماری، یک چالش است. در این تحقیق به منظور حل چالش ذکر شده، یک چارچوب تحمل خطا برای معماری فوق ارائه می­ شود. همچنین، اثبات می­ شود که این چارچوب تحمل خطا قابلیت اطمینان را افزایش می­دهد.

واژه­ های کلیدی: محاسبات ابری، محاسبات سیار، محاسبات پوشیدنی، تحمل­پذیری خطا، گره ارباب، گره بدن، گره سیار

فصل اول

کلیات تحقیق

۱-۱ مقدمه

در دهه­های اخیر تکنولوژی­های محاسباتی به دلیل پیشرفت­های چشمگیرشان همواره مورد توجه علوم مختلف بوده ­اند. این فناوری­ها با داشتن مزایای بسیاری از جمله کاهش هزینه­ها، افزایش دقت و سرعت، یاری­گر سایر علوم بوده ­اند. کامپیوترها و فناوری­هایشان به دلیل نقش مادر داشتن، در حال استفاده شدن در سایر فیلدهای علمی هستند.

در بین شاخه­ های مختلف علمی بعضی از حوزه ها از جمله حوزه سلامت حیاتی هستند. از سویی فناوری­های محاسباتی پا را فراتر نهاده­اند و وارد این حوزه ها شده ­اند. در واقع کاربردهای حیاتی مجذوب پیشرفتها و مزایای چشمگیر این تکنولوژی­ها شده ­اند. امروزه کاربردهایی از جمله حوزه سلامت و درمان که نیاز به حداقل زمان پاسخ دارند با بهره­ گیری از این تکنولوژی­ها به پیشرفت­های عظیمی دست­یافته­اند.

خطا در سیستم­های محاسباتی اجتناب­ناپذیر است اما در طرف مقابل در کاربردهای حیاتی ریسک معنا ندارد. پس باید سعی شود که عملکرد و کارایی سیستم با وجود این خطاها حفظ شود. این کار باید بگونه­ای انجام گیرد که سیستم از کار نیافتد بطوریکه بتواند به درستی کار کند. برای دست­یابی به اهداف ذکر شده، سیستم باید در برابر خطا تحمل­پذیر باشد.

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

در حال حاضر سه فناوری محاسبات ابری، محاسبات سیار و محاسبات پوشیدنی مطرح­ترین و عالی­ترین مباحث دنیای محاسبات می­باشند که با کمک هم می­توانند بسیاری از مشکلات حوزه سلامت را حل کنند. در ادامه به منظور آشنایی بیشتر، تاریخچه این سه تکنولوژی مهم شرح داده می­ شود.

۱-۱-۱ تاریخچه رایانش ابری

در شبکه ­های کامپیوتری به صورت نمادین شبکه­ اینترنت را به شکل­ ابر نمایش می­ دهند. زیرا اینترنت همانند یک ابر جزئیات پیچیده و فنی­اش را از دید کاربران مخفی نگه می­دارد. این در حالیست که در دهه ۱۹۶۰ اصول و مفاهیم رایانش ابری توسط جان مک کارتی شرح داده شد. وی اظهار داشت که «رایانش ممکن است روزی به عنوان یکی از صنایع همگانی سازماندهی شود». همچنین در سال ۱۹۶۶ کتابی تحت عنوان «مشکل صنعت همگانی رایانه» توسط پارک هیل داگلاس نوشته شد که در آن تقریباً تمام ویژگی­های رایانش ابری مطرح شد.

سرانجام سایت آمازون از سال ۲۰۰۶ تصمیم به ارائه سرویس به کاربران با بهره گرفتن از رایانش ابری نمود. در واقع سایت آمازون با پیاده­سازی بستر ابری بر روی مرکز داده­اش نقش مهمی را در توسعه و معرفی رایانش ابری داشت. با گذشت زمان رایانش ابری مورد توجه محققان و دیگر غول­های رایانه­ای از جمله گوگل قرار گرفت.

۱-۱-۲ تاریخچه محاسبات ابری موبایل

واژه «محاسبات ابری متحرک» تنها در مدت کوتاهی بعد از مفهوم «محاسبات ابری» در اواسط سال ۲۰۰۷ معرفی شد که توجهات را به خود به عنوان یک گزینه­ی تجاری سود­­­­­­­­­­­­­آور جلب کرده است و باید گفت که توسعه و کارکردِ هزینه­ برنامه ­های موبایل را کاهش می­دهد. محاسبات ابری متحرک از طرف کاربران موبایل به عنوان یک تکنولوژی جدید برای دستیابی به تجربه­ای غنی از سرویس­های گوناگون موبایل با هزینۀ کم است و از طرف محققان به عنوان یک راه حلِ امید بخش برای IT می­باشد. کاربران موبایل می­توانند برنامه ­های موبایل را بر روی دستگاه­های راه دور و از طریق شبکه ­های بی­سیم اجرا کنند. محاسبات ابری متحرک اشاره دارد به یک زیرساخت که ذخیره­سازی داده و پردازشِ داده، هر دو در بیرون از دستگاه موبایل اتفاق می­افتند. با مطالعه‌ای که توسطJuniper Research صورت گرفته است استفاده‌ی روزافزون از محاسبات سیار مشهود می‌باشد، این تحقیق بیان می‌کند که انتظار می‌رود مصرف کننده و بازار تجاری برای برنامه‌های درخواستی سیار مبتنی بر ابر تا سال ۲۰۱۴ تا بیش از ۵/۹ بیلیون دلار افزایش یابد.

۱-۱-۳ تاریخچه کامپیوترهای پوشیدنی

اگر کامپیوترهای پوشیدنی را بدین صورت تعریف کنیم که کامپیوترهایی هستند با قابلیت پوشده شدن بر بدن می­توان گفت که اولین کامپیوتر پوشیدنی یک ساعت جیبی است که در اوایل قرن شانزدهم ساخته شد. این نوع کامپیوترها به مرور توسعه یافتند بطوریکه در سال ۱۹۶۱ پدر تئوری اطلاعات یعنی ادوارد. او. تورپ[۱] کامپیوتری در ابعاد پاکت سیگار ساخت. این ابزار قادر به پیش ­بینی چرخش رولت[۲] بود. در سال ۱۹۷۷ کالینز[۳] جلیقه­ای برای افراد نابینا طراحی کرد همچنین در این سال شرکت HP ساعتی را ساخت که دارای ماشین حساب جبری بود. استیو مان[۴] در سال ۱۹۸۱ به منظور کنترل فلش دوربین عکاسی، کوله­پشتی کامپیوتری را طراحی کرد. در سال ۱۹۸۶ ریانش کوچ­گری توسط استیو رابرتز[۵] مطرح شد. وی یک دوچرخه کهWinnebiko II نامیده می­شد را ساخت. یک کامپیوتر و یک صفحه کلید در این دوچرخه تعبیه شده بود بطوریکه او می­توانست در هنگام حرکت تایپ کند. ادگار ماتیاس[۶] و مایک رویسی[۷] در سال ۱۹۹۴ یک کامپیوتر مچی را ابداع کردند. در همین سال محققان شرکت IBM یک کامپیوتر کمری ساختند. همچنین در سال ۱۹۹۴ مایک لامینگ[۸] و مایک فلاین[۹] یک کامپیوتر پوشیدنی تحت عنوانForget Me Not اختراع کردند که بر روی سر نصب می­شد.

در دهه ۱۹۹۰ واژه سایبورگ[۱۰] مطرح شد. به انسانی که وسایلی از قبیل مخزن اکسیژن، به عملکرد عادی بدنش کمک می­ کنند یا اعضایی از بدنش را کنترل می­ کنند، سایبورگ گفته می­ شود. دکتر استیو ماندر سال ۱۹۹۴ یک وبکم بی‌سیم پوشیدنی ساخت، به ایشان سایبورگ زنده می­گویند زیرا وی مخترع ابزارهای پوشیدنی زیادی است که بطور روزمره از آنها استفاده می­ کند. پروفسور کوین وارویک[۱۱] نیز یک سایبورگ زنده می­باشد که در سال ۱۹۹۸ با انجام عمل جراحی یک قطعه سیلیکونی فرستنده-گیرنده خودکار بر روی بازویش کار گذاشته شد، با این کار او اولین انسانی بود که یک کامپیوتر در بدنش کاشته شد. کامپیوتر مذکور به وی این امکان را می­دهد که به هنگام عبور از راهروها و دفاتر بخش دانشگاهی که او در آن کار می‌کند، درها باز شوند، همچنین این قطعه چراغها، بخاریها و کامپیوترها را بصورت اتوماتیک برایش روشن می­ کند و حتی تعداد ایمیل­هایش را به او ابلاغ می­ کند.

اما از سال ۲۰۰۰ به بعد کامپیوترهای پوشیدنی با زندگی انسان­ها عجین شدند به گونه ­ای که هر روزه توسط کاربران برای انجام فعالیت­های مختلف استفاده می­شوند. دکتر «روزبه جعفری» محقق ایرانی و استادیار دانشگاه دالاس به منظور نظارت بر وضعیت سلامت افراد، رایانه پوشیدنی بی‌سیم در ابعاد یک دکمه طراحی کرد که براحتی بر روی بدن نصب می­شد. وی به دلیل این اختراع، در سال ۲۰۱۲ برنده جایزه بنیاد ملی علوم CAREERشد.

۱-۲ بیان مسأله

هر چقدر که سیستم حساس­تر باشد و در معرض مشکلات بیشتری قرار گیرد، مدیریت وقایع و رخدادها واجب­تر می­گردد. تحمل خطا یک نگرانی عمده برای تضمین در دسترس بودن و قابلیت اطمینان خدمات حیاتی و همچنین کارکرد درست سیستم­های نرم­افزاری و سخت افزاری است. به منظور به حداقل رساندن تأثیر خرابی بر روی سیستم و کارکرد صحیح و موفق سیستم، خرابی باید پیش ­بینی شده و فعالانه مدیریت و کنترل گردد. روش­های تحمل خطا در واقع برای پیش ­بینی این خرابی­ها و انجام یک اقدام مناسب قبل از خرابی می­باشد.

سه­تایی فناوریهای روز شامل محاسبات پوشیدنی، محاسبات موبایل و محاسبات ابری پایه بسیاری از کاربردها و فناوری­های روز است. از جمله این فنآوری­ها محاسبات فراگیر مراقبت­های پزشکی است. علاوه بر محدودیت­ها و خطرهای موجود در ذات فن­آوری­های موبایل و پوشیدنی، کاربرد­های سلامت نیز نیازمند توجه بسیار خاص است که بدون خطا بودن سیستم یکی از ضروریات آنها است. لذا می­بایست تحمل خطا در این سیستم­ها، مورد مطالعه قرار داد.

این درحالیست که تاکنون از این جنبه به موضوع نگاه نشده بود که سه فناوری ذکر شده به شرط در نظر گرفتن تحمل خطا، به کمک یکدیگر ایفای نقش کنند.

۱-۳ اهمیت و ضرورت تحقیق

پدیده ­های طبیعی و غیر طبیعی روزمره بشر امروزی با تکنولوژی همراه شده است. از میان این تکنولوژی­ها تلفن­های هوشمند و همراه به علاوه کامپیوترهای پوشیدنی نقش بسیار مهمی را در زندگی بشر بازی می­ کنند. رایانه‌های پوشیدنی در حوزه‌های زیادیاز قبیل:ورزش، مدل کردن رفتار، سامانه‌های نظارت بر سلامت و فناوری اطلاعات کاربرد دارند. سازمان‌های دولتی، نظامی و بخش بهداشت و درمان هم‌اکنون به طور روزمره از این رایانه‌های پوشیدنی استفاده می‌کنند. از این رایانه هااکثراً برای طب از راه دور و کنترل بیماران نیز استفاده می شود، به بیان دیگر از مهمترین کاربردهای کامپیوترهای پوشیدنی استفاده از آنها در حوزه سلامت است.

به علاوه شاهد افزایش تمایل استفاده از وسایل قابل حمل سبک برای دسترسی به خدمات از طریق اینترنت بجای کامپیوترهای شخصی هستیم. کامپیوترهای پوشیدنی و همراه با محدودیت­های زیادی از جمله محدودیت­های محاسباتی و سایر منابع روبرو هستد. از آنجاییکه چنین وسایلی، امکانات پردازشی قوی ندارند (به عبارتی علاقه ای به داشتنِ چنین امکاناتی ندارند)، پس چه کسی قدرت پردازشی را تامین خواهد کرد؟ پاسخ به این سوال در رایانش ابر نهفته است.

امروزه دنیای کامپیوترها در حال حرکت به سمت ذخیره کردن و پردازش اطلاعات به صورت آنلاین است. Cloud Computing که در زبان فارسی تحت عناوین «محاسبات ابری»، «رایانش ابری»، «پردازش ابری» و «کامپیوتر ابری» شهرت یافته است، به معنی به کارگیری قابلیت ­های کامپیوتری بر مبنای اینترنت است. در واقع قابلیت ­های کامپیوتری به صورت یک سرویس اینترنتی به کاربر عرضه می­ شود. ایده اصلی رایانش ابری را می­توان چنین بیان نمود: ارائه خدمات نرم­افزاری و سخت افزاری از طریق اینترنت، به کاربران و سازمان­ها در تمام سطوح. نرم­افزار، قدرت پردازشی، ظرفیت ذخیره سازی داده و پایگاه داده، از جمله خدماتی هستند که در سیستم ابری از طریق شرکت­های فراهم کننده منابع زیرساخت مثل آمازون در اختیار کاربران قرار می­گیرد. در رایانش ابری کاربران در اِزای میزان استفاده و خدماتی که دریافت می­ کنند هزینه پرداخت می­نمایند یعنی سیستم (a pay-per-use) در این فناوری استفاده می­گردد.

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

در حقیقت وقتی که تحرک کاربر و محاسبات دستگاه­های متحرک را بخواهیم پشتیبانی کنیم گزینه محاسبات ابری موبایل مطرح می­ شود. قابلیت حرکت یکی از ویژه­گی­های محیط محاسباتی است که باعث می­ شود کاربر به فعالیتش و استفاده از ابر در حین حرکت ادامه دهد.

با تمام این اوصاف، محاسبات ابری، محاسبات موبایل و کامپیوترهای پوشیدنی شامل مشکلاتی از قبیل: امنیت، تحمل­پذیری در برابر خطا، حریم خصوصی افراد و یکپارچگی داده ­ها هستند، که نیاز به بررسی دارند. هنگامی که از کامپیوترهای پوشیدنی در حوزه سلامت استفاده می­ شود، نیاز به تحمل­خطا بیش از پیش حائز اهمیت است. اگر سیستم­های حوزه سلامت در برابر خطا تحمل­پذیر نباشند ممکن است مشکلات جبران ناپذیری را برای بیمار به همراه داشته باشند تا حدی که منجر به مرگ بیمار شوند. قابلیت اطمینان در سیستم­هایی با کاربردهای حساس، یک نیاز حیاتی بوده و این نوع سیستمهاباید طوری طراحی شوند تا بتوانند با وجود خرابی به وظیفۀ خود به طور مناسب ادامه دهند. لذا با توجه به اهمیت موضوع، به یک چارچوب تحمل­خطا برای محاسبات پوشیدنی در حوزه سلامت، نیاز است که در تحقیق حاضر مورد بررسی قرار می­گیرد.

۱-۴ اهداف تحقیق

محاسبات سیار و محاسبات پوشیدنی به دلیل طبیعت­شان دارای توان بالای پردازشی نیستند. از طرفی انجام کارهای محاسباتی بدون داشتن سخت­افزار قدرتمند و نرم­افزار گران قیمت، یک نیاز است که توسط رایانش ابری برطرف می­ شود. لذا رایانش ابری به منظور رفع محدودیت­های محاسبات سیار و محاسبات فراگیر می ­تواند بهترین گزینه باشند. بنابراین ارائه یک معماری برای همکاری سه تکنولوژی محاسبات ابری، محاسبات سیار و محاسبات پوشیدنی، اولین هدف این تحقیق می­باشد.

شبکه ­های حسگر بی­سیم درحال استفاده شدن در محاسبات فراگیر از قبیل: حوزه سلامت، نظارت محیطی، مدیریت ساختمان، نظارت سازمانها و دستگاه های بزرگ هستند. اما اغلب به دلیل عوامل طبیعی و غیرطبیعی مانند زیاد گرم شدن، رسوب شیمیایی سطح سنسور، توان کم باتری و غیره دقت قرائتهای سنسورهای الکترونیکی کاهش می­یابد و یا حتی عملکرد سیستم مختل می­ شود. دیگر هدف این تحقیق بررسی خطاهای پایدار و ناپایدار در شبکه ­های پوشیدنی می­باشد.

تشخیص و مکان­ یابی خطا یکی از کلیدی­ترین اقدامات ابتدایی در برخورد با خطا می­باشد. تا زمانیکه یک خطا تشخیص داده نشود نمی­ توان آنرا برطرف کرد به علاوه نمی­ توان اقدامات جبرانی را در سیستم به منظور کاهش اثر خطا انجام داد. به بیانی بعد از تشخیص و مکان­ یابی خطا می­توان به صورتی کارا آنرا مدیریت کرد. لذا تکنیک­های تشخیص و مکان­ یابی خطا در شبکه ­های پوشیدنی و مدیریت­شان به عنوان یک هدف کلیدی، مورد بررسی قرار می­گیرند.

همواره امکان ظهور خطا و خرابی در سیستم­های مختلف وجود دارد. سیستمی موفق است که بتواند با وجود خطاها و خرابی­ها بیشترین سرویس­ها را ارائه دهد. به عبارتی در کاربردهای حیاتی از جمله کاربردهای حوزه سلامت، تحمل­پذیر بودن سیستم ضروری است. همواره سیستم­های مختلف روش­های متفاوتی از تحمل ­خطا را مورد استفاده قرار می­ دهند. بررسی روش­های مختلف تحمل خطا در محاسبات پوشیدنی و فراگیر، از دیگر اهداف این تحقیق می­باشد.

در زمینه تحمل خطا الگوریتم­ها و راهکارهای مختلفی ارائه شده است. پژوهشگران مختلف به منظور حل مسأله تحمل خطا راه­ حل­های مختلفی را ارائه داده­اند و از جهات مختلفی به موضوع نگاه کرده ­اند. به چالش کشیدن این راه­حل­ها از اهداف مهم این تحقیق می­باشد به عبارتی سعی بر این است که از دیدگاهی متفاوت به ارزیابی الگوریتم­ها و راه­ حل­های ارائه شده، پرداخته شود.

حوزه سلامت یک حوزه حیاتی است که از محاسبات پوشیدنی استفاده می­ کند. عواقب خطا و خرابی در این حوزه ممکن است قابل جبران نباشد از اینرو در این حوزه ریسک معنا ندارد. اما متأسفانه با توجه به اهمیت موضوع در فصل دوم از این تحقیق مشخص می­ شود که در این زمینه تحقیق زیادی صورت نگرفته است. لذا مهم­ترین هدف این پایان نامه ارائه یک چارچوب تحمل خطا برای محاسبات پوشیدنی در حوزه سلامت می­باشد.

۱-۵ فرضیه ­های تحقیق

محاسبات پوشیدنی دارای مزایای بیشماری می­باشند اما این واقعیت را نمی­ توان کتمان کرد که کامپیوترهای پوشیدنی بدون در نظر گرفتن محدودیت­ها و خرابی­های ممکن قابل استفاده نیستند. همچنین محاسبات سیار دارای محدودیت­های فراوانی هستند که قابلیت اطمینان آنها را برای کاربردهای حساس کاهش می­دهد. به علاوه محاسبات ابری بر بستر اینترنت بوده و اگر توسط محاسبات موبایل مورد استفاده قرار بگیرد ممکن است در عملکرد آنها مشکلاتی پیش آید.

این سه فناوری به کمک هم می­توانند بسیاری از مشکلات بیماران را حل کنند. اما محدودیت­های آنان، خطری برای انجام صحیح عملکرد آنها است. لذا برای عملکرد صحیح این سه فناوری و همکاری آنها با هم، نیاز به یک چارچوب تحمل خطا است.

۱-۶ ساختار پایان نامه

در ادامه در فصل دوم تعاریف و مفاهیم اولیه به تفضیل شرح داده می­شوند و همچنین تحقیقات انجام شده توسط محققان پیشین به صورت مفصل مورد بررسی قرار می­گیرد. در فصل سوم که مهمترین فصل این پایان نامه است نتایج حاصل شده در قالب یک چارچوب تحمل­خطا برای محاسبات پوشیدنی در حوزه محاسبات فراگیر مراقبت­های پزشکی، ارائه می­ شود. سپس یک جمع­بندی و نتیجه ­گیری در فصل چهارم مطرح می­ شود. در انتها فصل پنجم به بیان پیشنهادات و کارهای آتی می ­پردازد.

فصل دوم

ادبیات و سابقه پژوهش

۲-۱ مقدمه

خرابی در سیستم­های با کاربردهای حساس، می ­تواند فاجعه­های جبران­ناپذیری را رقم بزند. طراحی این دسته از سیستم­ها باید به گونه ­ای باشد که در صورت رخداد خطا، قادر به انجام صحیح وظایف خود باشند، به علاوه تا حد ممکن از بروز خطا جلوگیری شود. از اینرو تحمل­پذیری در برابر خطا برای سیستم­هایی با کاربردهای حساس یک نیاز حیاتی است. کامپیوترهای پوشیدنی نمونه ­ای از این سیستم­ها هستند که امروزه به صورت گسترده در کاربردهای حساس از جمله حوزه سلامت مورد استفاده و توجه محققان قرار گرفته­اند. به عنوان مثال خطای این سیستم­ها برای بیماری که کیلومترها از دکتر خود یا بیمارستان فاصله دارد می ­تواند عواقب جبران ­ناپذیری را به همراه داشته باشد. لذا تحمل­پذیری محاسبات پوشیدنی[۱۲] در برابر خطا ضروری است و باید به صورت جدی مورد مطالعه قرار گیرد.

برای مطالعه تحمل­پذیری خطا در محاسبات پوشیدنی، نیاز به در نظر گرفتن محیط عملیاتی و غیر عملیاتی است. کامپیوترهای پوشیدنی برای غلبه بر برخی مشکلات و کاستی­ها، از امکانات سایر تکنولوژی­ها بهره می­برند. یک معماری سه لایه برای فعالیت محاسبات پوشیدنی در [۱] ارائه شده است که این معماری از سه فناوری محاسبات پوشیدنی، محاسبات سیار[۱۳] و محاسبات ابری[۱۴] بهره می­برد.

محاسبات پوشیدنی و محاسبات سیار دارای محدودیت­های زیادی از قبیل محدودیت­های محاسباتی و محدودیت­های منبع هستند، ولی به دلیل مزایای زیادی که در اختیار هم قرار می­ دهند، نمی­ توان آنها را در دنیای آینده محاسبات بدون دیگری تصور کرد . از طرفی برای رفع محدودیت پردازشی آنها از رایانش ابری استفاده شده است. لذا با توجه به محبوبیت و مزایای زیاد این سه تکنولوژی، هیچکدام را نمی­ توان از چرخه­ی محاسبات حذف کرد و از سوی دیگر آینده به تنهایی متعلق به هیچکدام از این سه تکنولوژی نیست. شکل ۲-۱ معماری سه لایه­ای پیشنهاد شده در [۱] را نشان می­دهد.

محاسبات پوشیدنی
محاسبات سیار
محاسبات ابری

شکل ۲-۱: یک معماری کلی برای محاسیات پوشیدنی [۱]

در این معماری کلی، کامپیوترهای پوشیدنی اطلاعاتشان را از محیط می­گیرند و به کامپیوترهای سیار می­فرستند. سپس کامپیوترهای سیار به منظور گرفتن سرویس­های مورد نیاز می­توانند با ابرها ارتباط برقرار کنند.

خدمات حیاتی باید در برابر خطا تحمل­پذیر باشند، و سیستم باید تحت هر شرایطی به فعالیتش ادامه دهد. لذا با بهره گرفتن از روش­های تحمل خطا باید خرابی­ها را پیش ­بینی کرد و اقدامات لازم را قبل از خرابی انجام داد. بنابراین در ادامه برای سازماندهی این مطالعه، از این معماری کلی استفاده می­ شود.

۲-۲ ادبیات تحقیق

محاسبات پوشیدنی امکان اتصال دستگاه­های محاسبه­گر سیار[۱۵] را به محیط پیرامون یا بدن جاندار فراهم می­ کند [۲][۳]. امکان انجام محاسبات به صورت سیار و همچنین اتصال دستگاه سیار به سایر شبکه­ ها یا ابزارها در هر زمان و هر مکان، توسط محاسبات سیار فراهم می­ شود [۴]. انجام کارهای محاسباتی و تحلیل داده ­ها با بهره گرفتن از سخت­افزار قدرتمند و نرم­افزار گران قیمت، یک نیاز است که توسط رایانش ابری برطرف می­ شود [۵]. در رایانش ابری سرویس­ها بنا به تقاضای سرویس­گیرنده، توسط مراکز داده و از طریق اینترنت ارائه می­شوند [۶][۷]. محاسبات سیار و محاسبات پوشیدنی برای برقراری توازن بین سیار بودن و قدرت محاسباتی، خواهان توان بالای پردازشی نیستند. لذا می­توان از رایانش ابری برای رفع این محدودیت­ها استفاده کرد.

۲-۲-۱ کاربردهای محاسبات پوشیدنی

محاسبات پوشیدنی در بسیاری از کاربردها از قبیل تشخیص فعالیت­های فرد[۱۶][۸][۹][۱۰][۱۱][۱۲]، تشخیص افتادن[۱۷][۱۳][۱۴][۱۵][۱۶][۱۷]، کاربردهای سلامت و بهداشت [۱۸][۱۹][۲۰][۲۱][۲۲]، تحلیل فعالیت­های ورزشکاران [۲۳][۲۴][۲۵]، حوزه ­های کشاورزی [۲۶]، نظامی [۲۷]، سرگرمی و قمار [۲۸]، مورد استفاده قرار می­گیرند. این استفاده­های وسیع نشان می­ دهند که گرایش سیستم­های محاسباتی آینده به سمت ناهمگنی و فراگیری است [۲۹].

مسئله تشخیص فعالیتهای انسانی به دلیل نقشِ مادر بودن در سایر مسئله­ها به عنوان یک مسئله­ کلاسیک مورد توجه قرار گرفته است. تشخیص فعالیتهای انسانی در حوزه ­های وسیعی از جمله حوزه سلامت [۳۰][۳۱][۳۲]، ورزش [۳۳][۳۴]، نظامی، سرگرمی­ها و بازیها، مسائل حفاظتی و غیره استفاده می­ شود .

در حوزه­ سلامت به دلیل هزینه­ها و محدودیت­ها­ نمی­ توان بیماران را در بیمارستان­ها و کلینیک­های پزشکی برای مدت طولانی نگهداری کرد. به علاوه، کنترل علائم حیاتی بیمار توسط افراد به صورت پیوسته و در دراز مدت، کسل کننده است بطوریکه ممکن است فرد ناظر برداشتِ اشتباهی را از داده ­های گردآوری شده داشته باشد. در اینگونه نظارت­ها فرد ناظر، باید تخصص یا مهارت لازم را برای کنترل علائم حیاتی بیمار داشته باشد. از طرفی هم یک متخصص مانند یک دکتر نمی­تواند به مدت طولانی مسئول کنترل یک بیمار باشد زیرا بیماران زیادی به تخصص او و درمان شدن نیاز دارند. برای غلبه بر محدودیت­های ذکر شده، شبکه ­های پوشیدنی می­توانند یک گزینه خوب باشند [۳۵][۳۶][۳۷]. از مزایای این شبکه­ ها این است که کنترل وضعیت بیمار به صورت اتوماتیک و پیوسته، در دراز مدت صورت می­گیرد. به علاوه دکتر می ­تواند در هر زمان و در هر مکانی از وضعیت سلامت بیمارش آگاه باشد. از طرفی، فرد بیمار فقط دستگاه پوشیدنی را می­پوشد و هیچ­گونه نیازی به داشتن مهارت ­ها و تخصص­های خاص ندارد. علاوه بر موارد ذکر شده، باید خاطرنشان کرد که شبکه ­های پوشیدنی ارزان هستند و قابل استفاده توسط تمامی سطوح طبقاتی جامعه هستند.

مسائل تحلیل ورزشکاران یکی دیگر از کاربردهای شبکه ­های پوشیدنی است [۳۸][۳۹][۴۰]. رشته­ های مختلف ورزشی همواره خواهان استفاده از آخرین تکنولوژی­های روز بوده ­اند. با توجه به شرایط پر استرس مسابقات، تحلیل ورزشکاران در شرایط مسابقه یک مسئله­ چالش­دار می­باشد. لذا با کمک شبکه ­های پوشیدنی می­توان با هزینه­ای ارزان و به صورت دقیقی عملکرد ورزشکاران را تحلیل کرد. به طور مثال این شبکه­ ها می­توانند مشخص کنند که یک فوتبالیست چند کیلومتر دویده است؟ به طور تقریبی چقدر انرژی مصرف کرده است؟ چند پاس داده است؟ و یا چند شوت کرده است؟

با وجود کاربردهای روبه افزایش محاسبات پوشیدنی، تهدیدها و چالش­هایی این فناوری را به مخاطره می­ اندازد [۴۱][۴۲]. برای مثال تحمل­پذیری در برابر خطا از این موارد می­باشد. برای حصول تحمل­پذیری خطا تکنیک­های مختلفی استفاده می­ شود و مفاهیم زیادی مورد بهره ­برداری قرار می­گیرد، برای مثال بررسی کیفیت داده ­های سنسورها می ­تواند مفید باشد. کاربردهای گوناگون از کامپیوترهای پوشیدنی در صورتی می­توانند اُمید­بخش و مفید باشند که بتوانند جریان کیفیت داده­ی بالایی را در بازه­های زمانی طولانی مدت مهیا کنند. کیفیت داده ­ها دارای معیارهای شناخته شده مرتبط بودن، به موقع بودن، دقت، در دسترس بودن، مقایسه­پذیری و انسجام، می­باشند [۴۳]. در شبکه ­های پوشیدنی پایداری، دقت، قابلیت مقاومت در مقابل خطرات از جمله فاکتورهای پر اهمیتِ کیفیت داده ­ها می­باشند. فاکتورهای کیفیت داده باید در گردآوری، ذخیره­سازی و پردازش داده ­ها مورد توجه قرار گیرند.

تحمل خطا در سیستم­های محاسباتی بویژه در محاسبات پوشیدنی ضروری است. در سیستم­هایی که در برابر خطا تحمل­پذیرند با وجود خطا سیستم باید قادر به انجام درست وظایف و ارائه سرویس باشد [۴۴][۴۵][۴۶]. در اینگونه سیستم­ها باید سرویس­های ارائه شده دارای کیفیت و شفافیت باشند. شبکه ­های پوشیدنی در کاربردهای وسیعی می­توانند مورد استفاده قرار گیرند که بسیاری از این کاربردها حیاتی هستند لذا بکارگیری مکانیزم­ های تحمل خطا در این شبکه­ ها حائز اهمیت است. از آنجایی که در بسیاری از کاربردهای حیاتی ریسک معنا ندارد، خرابی این سیستم­ها می ­تواند خسارات جبران­ناپذیری را رقم بزند. بنابراین همواره باید سعی شود که با بهره گرفتن از روش­های تحمل خطا از شکست سیستم جلوگیری شود.

۲-۲-۲ تحمل­پذیری خطا در محاسبات پوشیدنی

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

به دلیل افزایش استفاده از کامپیوترها در کاربردهای مختلف از زندگی بشر، تحمل­پذیری خطا برای سیستم­های مختلف، همواره مورد توجه محققان و طراحان بوده است. اما متأسفانه تحمل­پذیری خطا در محاسبات پوشیدنی، کمتر مورد بحث و بررسی قرار گرفته است. این در حالیست که به علت اهمیت مسأله، تحمل­پذیری خطا یک ویژگی بسیار مهم در تمام سیستم­های کامپیوتری می­باشد.

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

در ادامه با ذکر سه سناریو بیان می­ شود که چرا تحمل­پذیری خطا در محاسبات پوشیدنی مهم است؟

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

در ماه های ابتدایی این پیراهن بخوبی علائم حیاتی بیمار را کنترل می­کرد. اما یک روز با وجود اینکه سارا شرایط جسمانی مطلوبی داشت، کنترل کننده­ ضربان قلبش[۱۸] علائم نامنظمی را به کامپیوتر پزشک ارسال می­کرد. پزشک معالج که در آن روز در بروجرد نبود با مشاهده­ این علائم ، داروهایی را برای او در نظر گرفت و سریعاً با بیمارستان تماس گرفت. بلافاصله بیمارستان چند پرستار را به منظور تزریق آمپولها و مصرف داروها به خانه­ی او فرستاد. تیم پرستاری به محض معاینه بیمار متوجه سلامت و سالم بودنش شد. علت این تشخیص اشتباه، خرابی دستگاه بود که این مسئله باعث تحمیل هزینه به بیمارستان و بیمار گردید.

سناریوی۲: سیزده شیر نادر در آفریقا وجود دارد که هر کدام از آنها با بیماری­ها و خطرات طبیعی گوناگونی روبرو هستند. لذا پژوهشگران به منظور جلوگیری از انقراضِ نسل این شیرهای نادر، تصمیم به انجام اقداماتی گرفتند. با توجه به اینکه نگهداری آنها در قفس و در بلند مدت مقدور نبود، پژوهشگران تصمیم گرفتند که از شیرها در زیستگاههای طبیعی و بدون محدودیت نگهداری کنند. لذا آنها گوشواره­هایی به گوش شیرها نصب کردند. گوشواره­های مذبور هوشمند بودند، به طوری که قادر بودند اطلاعاتی را در مورد وضعیت سلامت شیرها، برای پژوهشگران ارسال کنند. با آمدن فصل گرمِ تابستان، هنگامی که شیرها در زیر آفتاب سوزان قرار می­گرفتند، گوشواره­ها به درستی کار نمی­کردند. به بیانی دیگر عملکرد حسگرهای این پوشیدنی­های هوشمند تحت تأثیر دما قرار می­گرفت.

سناریوی۳: سوزان زن جوانی است که به بیماری ناشناخته­ای مبتلا بود از اینرو هرازگاهی به صورت ناگهانی غش می­کرد و به زمین می­افتاد. به تشخیص پزشک معالج، در زمان غش نباید جسم بیمار تکان می­خورد. همچنین به منظور بازگشت فوری سلامت سوزان به حالت طبیعی، آمپول­هایی تجویز شد تا بلافاصله بعد از هر بار غش به وی تزریق شوند. اما مشکل این بود که در هنگام غش مردم عادی از بیماری سوزان خبر نداشتند و با تکان دادن جسم او بلافاصله وی را به بیمارستان انتقال می­دادند، از طرفی پزشکان هم از تزریق آمپول­ها بی­خبر بودند. از اینرو پزشک معالج سعی کرد که مشکل را با یک گیرِ سر هوشمند حل کند.

عملکرد گیر سر هوشمند بدین صورت بود که در زمانی که سوزان غش می­کرد، از طریق بلندگوی تعبیه شده در آن پیامِ «جسم بیمار را حرکت ندهید و برای کمک بلوتوث گوشی­هایتان را روشن کنید» مدام پخش می­شد، سپس گیر مذکور توسط بلوتوث پیامی را برای همه افرادی که بلوتوثشان روشن بود می­فرستاد. متن پیام به افراد هشدار می­داد که جسم بیمار را تکان ندهند و اورژانس را خبر کنند. همچنین در آن پیام، سابقه­ بیماری سوزان و نام آمپول­ها و دستورالعمل استفاده از آنها ذکر شده بود. اوضاع به خوبی پیش می­رفت تا اینکه یک روز در اتوبوس سوزان دوباره غش کرد. گیرِ سر هوشمند دو بار پیام صوتی را پخش کرد. اما مسافران اتوبوس علیرغم اینکه بلوتوث­های گوشی­هایشان را روشن کرده بودند، به دلیل خالی شدن باتری گیرِ سر هوشمند، هیچ پیامی را دریافت نکردند.

۲-۳ اتکاپذیری

سیستم­های محاسباتی با پنج ویژگی عملکرد[۱۹]، کارایی[۲۰]، اتکاپذیری[۲۱]، امنیت[۲۲] و هزینه شرح داده می­شوند. اتکاپذیری یعنی مقدار توانایی یک سیستم در فراهم کردن سرویس­هایی که قابلیت اطمینان قابل قبول دارند. مطابق شکل ۲-۲، مفاهیم مربوط به اتکا­پذیری به سه دسته یعنی ویژگی­ها، تهدیدها و ابزارها تقسیم می­شوند که در ادامه به شرح این مفاهیم پرداخته می­ شود.

شکل ۲-۲: درخت اتکا­پذیری

۲-۳-۱ ویژگی­های اتکاپذیری یک سیستم

دسترس­پذیری، قابلیت اطمینان، ایمنی، تمامیت و نگهداشت­پذیری ویژگی­هایی هستند که اتکاپذیری یک سیستم را مشخص می­ کنند. در ادامه به شرح این ویژگی­ها پرداخته می­ شود.

قابلیت اطمینان را با R(t) نشان می­ دهند، در واقع R(t) تابعی از زمان می­باشد که یک احتمال شرطی را بیان می­ کند. احتمال شرطی بدین صورت است که، یک سیستم در طول مدت زمانِ (t0,t1) صحیح عمل کند، به شرط اینکه سیستم مذبور در زمان t0، به صورت صحیح شروع به کار کرده باشد.

باید خاطرنشان کرد که تفاوت بین تحمل­پذیری خطا و قابلیت اطمینان، بسیار مهم است. تحمل­پذیری خطا یک تکنیک است که قادر به افزایش قابلیت اطمینان می­باشد. اما یک سیستم تحمل­پذیر خطا، لزوماً قابلیت اطمینان بالایی ندارد.

به طور مثال می­توان سیستمی طراحی نمود که قابلیت تحمل خطای بالایی داشته باشد، اما احتمال رخ دادن خطا و خرابی در این سیستم آنقدر بالا باشد که قابلیت اطمینان را بصورت زیادی کاهش دهد. یا برعکس، می­توان با بهره گرفتن از مؤلفه­ های بسیار خوب سیستمی طراحی نمود که هر مؤلفه با احتمال بسیار پایینی دچار خطا و خرابی شود، اما در صورت رخ دادن این اتفاق کار سیستم قطعاً متوقف می­ شود. در واقع این سیستم قابلیت اطمینان زیاد و قابلیت تحمل­خطای کمی را دارد.

دسترس­پذیری را با A(t) نشان می­ دهند، در واقع A(t) تابعی از زمان می­باشد که به صورت یک احتمال شرطی تعریف می­ شود. احتمال شرطی اینکه در لحظه ­t، سیستم صحیح عمل نماید و در دسترس باشد.

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

ایمنی بیانگر این است که یک سیستم ایمن باید دارای سه ویژگی باشد. الف) در دسترس باشد و درست کار کند. ب)دارای سازگاری داده باشد. و ج)مانع از دسترسی افراد غیر مجاز به سیستم شود.

تمامیت و سازگاری داده به این مورد اشاره می­ کنند که در سیستم تغییرات نامناسب سیستمی رخ ندهد. به عنوان مثال داده ­های ذخیره شده در سیستم با یکدیگر ضدیت نداشته باشند.

قابلیت نگهداری، در اکثر سیستم­ها یکی از مهمترین اهداف می­باشد. قابلیت نگهداری یعنی تحمل اصلاحات و تعمیرات، به عبارتی یعنی هنگامی که یک سیستم دچار مشکلی شد به راحتی قابل تعمیر باشد. قابلیت نگهداری را که با M(t) نشان می­ دهند که تابعی از زمان است که بیانگر احتمال آن است که یک سیستم خراب بتواند در زمان t به حالت عملیاتی بازگردد.

۲-۳-۲ تهدیدها

انواع تهدیدهایی که در رابطه با مفهوم اتکاپذیری وجود دارد را می­توان به سه دسته­ی نقص­ها، خطاها و خرابی­ها تقسیم کرد. در تحقیقات مختلف معمولاً مفاهیم نقص[۲۳]، خطا[۲۴] و شکست[۲۵] به عنوان واژگانی مترادف در نظر گرفته می­شوند.در مبحث تحمل­پذیری خطا، سه واژه نقص، خطا و شکست از لحاظ تکنیکی ازهم متفاوتند، و بین آنها یک رابطه علت و معلول وجود دارد. یعنی مطابق شکل ۲-۳، خطا در سیستم به علت بروز نقص رخ می­دهد. اگر به علت خطا سیستم نتواند عملکرد خود را بصورت صحیح انجام دهد، آنگاه خطا منجر به شکست سیستم می­ شود [۴۷].

شکل ۲-۳: رابطه­ علت و معلول نقص، خطا و شکست [۴۷]

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

  1. توصیف اشتباه: مسأله­ توصیف اشتباه می ­تواند شامل طراحی الگوریتم اشتباه و معماری­های سخت­افزاری و نرم­افزاری اشتباه، باشد.
  2. پیاده­سازی اشتباه: از آنجا که پیاده­سازی، فرایند تبدیل توصیف نرم­افزار یا سخت­افزار به نرم­افزار یا سخت­افزار واقعی است، یک پیاده­سازی اشتباه می ­تواند باعث ایجاد شدن خطاهایی شود.
  3. خرابی عناصر: اجزاء فیزیکی عناصر بنا به دلایلی از قبیل ضعف­های ساخت یا خرابی تصادفی، ممکن است خراب شوند که خرابی هر یک از این اجزاء می ­تواند باعث بروز خطا شود.
  4. عوامل خارجی: عوامل محیطی و اشتباهات اپراتوری آخرین علت بروز خطا هستند. به عنوان مثال اگر یک مدار الکترونیکی در سرمای بیش از اندازه قرار بگیرد، ممکن است که باعث بروز خطا شود.

خطا دارای ویژگی­هایی است؛ به طور مثالطبیعت خطا، طول مدت خطا[۲۶] و محدوده[۲۷] خطا سه ویژگی مهم خطاها می­باشند. نوع خطا توسط طبیعت خطا مشخص می­ شود.به عنوان مثال یک خطا می ­تواند آنالوگ، دیجیتال، سخت­افزاری و یا نرم­افزاری باشد.

مدت زمانی که خطا در سیستم فعال است توسط طول مدت خطا مشخص می­ شود. بر این اساس سه نوع خطای ماندگار[۲۸]، گذرا[۲۹] و متناوب[۳۰] وجود دارد. خطاهای پایدار به دلیل وجود خطا در مرحله­ ساخت سیستم یا در فاز عملیاتی، رخ می­ دهند. خطاهای پایدار و اثراتشان همیشه در سیستم باقی می­مانند. رفع این خطاها نیازمند تعمیر یا تعویض سخت­افزار معیوب می­باشد. اما خطاهای گذرا در محیط عملیاتی و در زمانی که سیستم مشغول کار است رخ می­ دهند. اینگونه خطاها قابل پیش ­بینی و جداسازی هستند و دارای منشأ محیطی (مانند رعد و برق، طوفان، افزایش دمای محیط) می­باشند. زمانی که سیستم در وضعیت عملیاتی قرار دارد با بهره گرفتن از یکسری از روشها می­توان خطاهای گذرا را کشف کرد. دسته­ی دیگر خطاهای متناوب می­باشند که در بازه­های زمانی مختلف آشکار و ناپدید می­شوند. به بیانی خطاهای متناوب گونه ­ای خاص از خطاهای ناپایدار می­باشند. طبق آمار گزارش شده در [۴۸]، بیش از ۸۰ درصد خطا­ها از نوع متناوب می­باشند.

نوع خطا در سناریوهای ذکر شده بدین صورت است که در سناریوی اول، به دلیل خرابی سنسور، خطا از نوع پایدار است. خطای مشاهده شده در سناریوی شیرهای نادر، از نوع گذراست، زیرا با افزایش دما و به صورت موقت بروز می­ کند. در سناریوی گیر سر هوشمند، به دلیل مصرف انرژی زیاد، باتری تخلیه شده و باعث بروز خطای پایدار گردیده است.

در بحث محدوده­ خطا، بر روی این موضوع بحث می­ شود که آیا خطا به یک واحد سخت­افزاری/نرم­افزاری محدود می­ شود یا اینکه کل سیستم را فرا می­گیرد. به طور مثال خرابی منبع تغذیه سیستم می ­تواند بر کل سیستم تأثیرگذار باشد.

بطور کلی طبقه ­بندی­های مختلفی از خطاها وجود دارد. به طور مثال خطاهای پایدار، ناپایدار، متناوب، بی­خطر[۳۱] و بداندیش[۳۲] را می­توان به عنوان خطاهای سخت­افزاری در یک دسته­بندی قرار داد [۴۹]. جدول ۲-۱، یک طبقه ­بندی رایج از خطاها را نشان می­دهد.

انواع خطا تعریف مثال
  1. سخت­افزاری یا نرم­افزاری
  1. خطای سخت­افزاری
عملکرد نادرست یک مؤلفه­ی سخت­افزاری خرابی پردازنده
  1. خطای نرم­افزاری
عملکرد نادرست به سبب یک bug نرم­افزاری افتادن در یک حلقه تکرار بی­نهایت
  1. بر اساس رفتار زمانی
  1. خطای پایدار
خطا تا زمان اصلاح یا جایگزینی عامل خطا، در سیستم باقی می­ماند. خرابی سنسور
  1. خطای متناوب
در زمان های مختلف خطا ناپدید و آشکار می­ شود شل شدن سیم
  1. خطای ناپایدار
پس از مدتی خطا ناپدید می­ شود زیاد گرم شدن سنسور

جدول ۲-۱:یک طبقه ­بندی رایج از خطاها

به منظور غلبه بر خطا می­توان از روش­هایی بهره برد. به طور کلی برای غلبه کردن بر خطا و حفظ کارایی نرمال سیستم، سه روش الف) اجتناب از خطا[۳۳]ب) پوشاندن خطا[۳۴] ج) تحمل­پذیری خطا، وجود دارد. هر تکنیکی که برای جلوگیری از بروز خطا در سیستم، استفاده می­ شود، جزء تکنیک­های اجتناب از خطا می­باشد. پوشاندن خطا یعنی اینکه پس از بروز نقص در سیستم، از تکنیک­هایی استفاده کنیم تا از وقوع خطا جلوگیری شود. تحمل­پذیری خطا یعنی پس از بروز خطا، سیستم قادر به ادامه­ وظایف خود باشد.

شایان ذکر است که هدف نهایی تحمل­پذیری خطا، جلوگیری از رخ دادن خرابی در سیستم است. به منظور دستیابی به تحمل­پذیری خطا می­توان از تکنیک­های مختلفی از جمله پیکربندی مجدد استفاده کرد. معمولاً در پیکربندی مجدد می­توان عناصر خراب را از سیستم حذف کرد و سپس سیستم را به وضعیت کارآمد خود باز گرداند.

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

به طور مثال فرض کنید که یک خطا در سیستمی که از تحمل­پذیری خطا پشتیبانی می­ کند، رخ داده است. در این صورت می­توان از تکنیک­های پیکربندی مجدد بدین صورت استفاده کرد که تکنیک­های تشخیص خطا، وجود خطا را در سیستم مشخص می­ کنند. در ادامه با بهره گرفتن از روش­های تعیین موقعیت خطا، منبع خطا مشخص می­ شود. سپس یا می­توان خطا را محدود کرد و یا می­توان آنرا رفع کرد. بدین صورت که رفع خطا و پیکربندی مجدد، واحد خراب را حذف می­ کنند و یا آنرا با مؤلفه­ی سالم دیگری تعویض می­ کنند. اگر امکان تعویض مؤلفه­ی خراب نباشد، می­توان با کمک تکنیک­هایی و با کاهش قابل قبول کارایی، سیستم را در حالت فعال نگه داشت.

۲-۳-۳ ابزارهای اتکاپذیری

روش­های دستیابی به یک سیستم اتکاپذیر(ابزارها) به چهار دسته پیش­گیری از اشکال، رفع اشکال، تحمل اشکال و پیش ­بینی اشکال، تقسیم می­شوند.

  • پیش­گیری از اشکال: ابزاری است که برای جلوگیری از وقوع اشکال استفاده می­ شود. که این کار به وسیله­ طراحی کاملاً دقیق و اصولی قابل انجام است. به طور کلی روش­های پیش­گیری از اشکال در مراحل طراحی و توسعه سیستم­ها مورد استفاده قرار می­گیرند.
  • رفع اشکال: روش­های رفع اشکال هدفشان کاهش تعداد و اثرات اشکال­هاست.
  • تحمل اشکال: روش­های تحمل اشکال، روش­هایی می­باشند که هنگام بروز اشکال­ها، از شکست سیستم جلوگیری می­ کنند، بدین صورت که خطا را تشخیص و بازیابی سیستم را انجام می­ دهند. در فرایند بازیابی، کارهای رسیدگی و اداره کردن خطا و اشکال صورت می­گیرد. که فرایند اداره کردن اشکال از چهار مرحله­ تشخیص اشکال، جداسازی اشکال، پیکربندی مجدد سیستم و آغاز مجدد سیستم، تشکیل شده است.

در مرحله­ تشخیص اشکال، مکان و علت اشکال مشخص می­ شود، در مرحله­ جداسازی اشکال، از شرکت مؤلفه­ های معیوب در انجام وظایف سیستم، جلوگیری می­ شود. سپس در مرحله­ پیکربندی مجدد سیستم، از مؤلفه­ های افزونه استفاده می­ شود و یا کل وظایف سیستم تنها به مؤلفه­ های سالم، تخصیص می­یابند. در مرحله­ آخر یعنی آغاز مجدد سیستم، پیکربندی جدید سیستم مورد استفاده قرار می­گیرد.

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

در بحث ابزار­های اتکاپذیری ممکن است این سؤال مطرح شود که بهترین ابزار چیست؟ هرچند که می­توان در طراحی و توسعه سیستم از روش­هایی به منظور پیش­گیری از اشکال استفاده کرد، اما همواره این امکان وجود دارد که در سیستم اشکال­هایی رخ دهد. از اینرو ابزار پیش­گیری اشکال، به تنهایی کافی نمی ­باشد و نیاز به ابزار رفع اشکال نیز می­باشد. اما واقعیت امر این است که ابزار رفع اشکال نیز خود شامل کاستی­هایی می­باشد. زیرا این ابزار قادر به یافتن همه اشکال­ها نیست، همچنین ممکن است که در هنگام برطرف کردن یک اشکال، اشکال­های جدیدی تولید شود. به علاوه این امکان وجود دارد که حتی مؤلفه­ های استاندارد سیستم، خود نیز حاوی اشکال­هایی باشند. موارد ذکر شده، نیاز به استفاده از ابزارهای پیش ­بینی اشکال و تحمل اشکال را بیان می­ کنند. پس به عنوان یک نتیجه کلی باید گفت که یک سیستم به هر چهار ابزار اتکاپذیری نیاز دارد.

اما بررسی میزان اتکاپذیری مبحث دیگری است که باید بررسی شود. میزان اتکاپذیری یک سیستم به دو روش کمی و کیفی قابل مشخص شدن است. که در این میان تزریق اشکال[۳۵]، یکی از متداول­ترین روش­های کمی می­باشد. به فرایند افزودن آگاهانه­ی اشکال به سیستم برای ارزیابی تحمل­پذیری آن، تزریق اشکال گفته می­ شود. به طور کلی روش­های تزریق اشکال به سه روش فیزیکی، نرم­افزاری و شبیه­سازی شده تقسیم می­شوند.

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

۲-۴ رهیافت­های تحمل­پذیری خطا

سه رویکرد عمده برای حل مسئله­ تحمل­پذیری خطا عبارتند از: الف)افزونگی ب)آزمایش و اشکال­زدایی کامل ج)self-healing، [۵۰] که این رویکردها در محاسبات پوشیدنی استفاده شده ­اند.

رویکرد اول برای حل این مسئله، استفاده از افزونگی است. فرایند افزونگی به افزودن یکسری مؤلفه­ ها (سخت­افزار، نرم­افزار، اطلاعات و زمان) به سیستم گفته می­ شود که در حالت عادی این مؤلفه­ ها برای عملکرد سیستم اضافی هستند[۵۱]. افزونگی هزینه­ های فاز تولید محصول را افزایش می­دهد و به علاوه تشخیص خطا، نیاز به آنالیز انسانی دارد.بطور کلی افزونگی به چهار دسته­ی سخت­افزاری، اطلاعاتی، زمانی و نرم­افزاری تقسیم می­ شود [۴۹][۵۱]. در جدول ۲-۲ به شرح این افزونگی­ها پرداخته شده است.

  • افزونگی سخت­افزاری: به فرایند تکرار کردن فیزیکی سخت­افزار به سیستم به منظور تشخیص خطا یا تحمل خطا، گفته می­ شود. واحدهای سخت­افزار اضافه شده مانند یکدیگرند و کار اضافه­تری را انجام نمی­­دهند. این روش رایج­ترین نوع افزونگی است اما اگر در بحث تحمل­پذیری شبکه ­های پوشیدنی در برابر خطا، به ویژگی­های کامپیوترهای پوشیدنی دقت نشود، این روش می ­تواند مناسب نباشد؛ دلیل این امر مصرف انرژی، فضای اشغال شده و هزینه­ قطعات افزونه است[۵۲]. افزونگی سخت­افزاری به سه دسته­ی فعال، غیر فعال و هیبرید تقسیم می­شوند.
  • افزونگی سخت­افزاری فعال(پویا): در این روش ابتدا خطا تشخیص داده می­ شود و سرانجام بعد از مکان­ یابی خطا، اقداماتی جهت رفع آن صورت می­گیرد.
  • افزونگی سخت­افزاری غیرفعال: در این روش پوشانده شدن خطا نسبت به رفع خطا بیشتر مورد توجه قرار می­گیرد، بگونه­ای که با وجود خطا مقادیر صحیحی در خروجی پدیدار می­ شود.
  • افزونگی سخت­افزاری ترکیبی: با ترکیب افزونگی­های فعال و غیرفعال، افزونگی ترکیبی حاصل می­ شود.
  • افزونگی اطلاعاتی: به فرایند اضافه کردن اطلاعات اضافی به داده ­های اصلی، افزونگی اطلاعاتی گفته می­ شود. تکنیک­های این روش قادر به تشخیص و گاه رفع خطا نیز می­باشند. معمولاً از این روش برای تحمل خطاهای سخت­افزاری استفاده می­ شود.
  • افزونگی زمانی: این روش برای در نظر گرفتن تحمل خطا از زمان اضافه­تری استفاده می­ کند. از این روش برای تحمل خطاهای نرم­افزاری و سخت­افزاری استفاده می­ شود.
  • افزونگی نرم­افزاری: به فرایند تکرار قسمتی از برنامه یا تمام برنامه، گفته می­ شود.
انواع افزونگی ویژگیها معایب مزایا
۱٫سخت­افزاری ۱٫۱- سخت­افزاری فعال ۱- قادر به تشخیص خطا، تعیین موقعیت خطا و بازیافت خطا.

- نیاز به سخت­افزار اضافی و گران قیمت

- مصرف انرژی بیشتر

- فضای اشغال شده بیشتر

- سرعت بالا

- توانایی غلبه بر خطاهای سخت­افزاری

۱٫۲- سخت­افزاری غیرفعال

۱- بجای یافتن خطا آن را می­پوشاند.

۲- از روش رأی­گیری بر اساس رأی اکثریت استفاده می­ کنند.

۱٫۳- سخت­افزاری ترکیبی

۱- ترکیب ویژگیهای روش های فعال و غیر فعال.

۲- رایج­ترین نوع افزونگی سخت­افزاری.

۳- هزینه­ های بیشتر نسبت به دو روش فعال و غیرفعال.

۲٫اطلاعات ۱- به داده ­های اصلی اطلاعاتی را اضافه می­ کند.

- استفاده از مقدار زیادی بیت اطلاعاتی

- نیاز به پردازش بیشتر

- امکان رفع خطا
۳٫زمانی

۱- تکرار محاسبات در زمان بیشتر.

۲-قادر به کشف خطاهای پایدار و ناپایدار

۳-توانایی تصحیح خطا

- در کاربردهایی که زمان حیاتی است، قابل استفاده نیست.

- نیاز به پردازش بیشتر

- هزینه کمتر

- قابل استفاده شدن در کاربردهایی که زمان کم اهمیت­تر از سخت­افزار است.

۴٫نرم­افزاری ۱- واحدهای نرم­افزار تکراری - غیر عملی بودن در بسیاری از کاربردها مانند کامپیوترهای پوشیدنی - سادگی

جدول ۲-۲: رویکرد افزونگی

رویکرد دوم برای حل این مسئله، استفاده از روش آزمایش و اشکال­زداییِ[۳۶]کامل برای ساخت سیستم­های قابل اطمینان است. در این روش سطح اطمینان به نحوه­ آزمایش وابسته است و از طرفی دستیابی به قابلیت اطمینان بالا در یک سیستم پیچیده، پرهزینه و دشوار است. از این گذشته، به دلیل ناهمگن بودن گره­های محاسبات فراگیر و باز بودن سیستم، نمی­ توان از قبل سیستم را تست کرد.

رویکرد سوم برای حل این مسئله، ساخت سیستم­های self-healing است. سیستم­های self-healing، به صورت جاسازی شده دارای توانایی­های کشف خطا، شناسایی منبع خطا و ریکاوری اتوماتیک خطا می­باشند [۵۳][۵۴]. این سیستم­ها کنترل عملیات را به صورت خودکار انجام می­ دهند و نیازمند مکانیزم­ های مختلف بازیافت خطا می­باشند. این رویکرد یک گزینه­ی خوب برای اعمال شدن در سیستم­های محاسباتی بزرگ است. در جدول ۲-۳ مزایا، معایب و سابقه پژوهش رویکردهای رایج مسئله­ تحمل­پذیری خطا شرح داده شده است.

رویکرد مزایا معایب سابقه پژوهش
افزونگی

۱- پیاده­سازی ساده

۲- افزایش قابلیت اطمینان بالا

۳- پیچیدگی پایین(تنها نیاز به یک مکانیزم رأی­گیری ساده است.)

۱- هزینه­ ساخت(manufacturing) بالا

۲- استفاده بیشتر از منابع (حافظه، انرژی، بهره­وری(از CPU))

۳- مناسب نبودن برای همه شرایط (به طور مثال پوشیدن حسگر بزرگ دشوار است)

۱- Hassan Ghasemzadeh و همکاران [۵۵]
آزمایش و اشکال­زدایی

۱- مناسب برای سیتم­های نرم­افزاری

۲- سادگی

۱- مناسب نبودن برای محاسبات توزیع شده

۲- با توجه به غیرقابل پیش ­بینی بودن سیستم­ها، خطاها همواره خود را نشان نمی­دهند.

-
Self-healing ۱- با توجه به اینکه wearable computingها برای تست و debug همیشه در دسترس نیستند، این گزینه می ­تواند در دسترس قرار گیرد. ۱- طراحی و پیاده­سازی دشوار

۱-Themistoklis Bourdenas و همکاران [۵۶]

۲- Byoung Uk Kim و همکاران [۵۷]

جدول ۲-۳: رویکرد­های رایج حل مسئله­ تحمل خطا

با توجه به هم ارز بودن سخت­افزار و نرم­افزار مشخص است که بخشهایی از روش­های فوق می­توانند نرم­افزاری یا سخت­افزاری پیاده شوند. معیارهایی مانند هزینه، سرعت، قابلیت ارتقاع، سازگاری با نسل قبلی و… طراح را در تصمیم ­گیری برای انتخاب سخت­افزار یا نرم­افزار تحت تأثیر قرار می­ دهند.

۲-۵ جنبه­ های مختلف تحمل­پذیری خطا در محاسبات پوشیدنی

شکل ۲-۴ جنبه­ های مختلف تحمل­پذیری خطا در محاسبات پوشیدنی را نشان می­دهد. این دسته­بندی­ها برای ساماندهی ادامه تحقیق و تفکیک موضوعات ارائه شده است. جنبه­ های تحمل­پذیری خطا به دو نوع درون گرهی و برون گرهی تقسیم می­شوند. شبکه ­های حسگر به دو دلیل خرابیهای گره و نقص­های ارتباطی، در برابر خطا آسیب­پذیر هستند.

شکل ۲-۴: جنبه­ های تحمل خطا از نظر معماری یک کامپیوتر پوشیدنی

۲-۵-۱ سخت­افزار

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

۲-۵-۱-۱ کشف و جداسازی سنسورهای معیوب

به منظور دستیابی به تحمل خطا در شبکه ­های پوشیدنی یکی از بنیادی­ترین کارها کشف و جدا­سازی سنسورهای معیوب است. در ادامه روش­های مختلف برای شناسایی سنسورهای معیوب توضیح داده می­شوند.

رویکرد مقایسه: یک رویکرد عیب­یابی کارا، برای تشخیص خطاهای نرم و سخت است. در رویکرد مقایسه، یک کار مشترک به دو گره اختصاص داده می­ شود و نهایتاً نتایج­شان با هم مقایسه می­ شود. خروجی این آزمایش می ­تواند صفر(مطابقت نتایج) و یا یک (عدم تطابق نتایج) باشد، لذا این خروجی مبنایی است برای شناسایی گره­های معیوب [۶۲].

به عنوان یک مثال از این رویکرد در [۶۲] یک پروتکل self-diagnosis توزیع شده پویا برای شناسایی گره­های معیوب پیشنهاد شده است. پروتکل مذبور از رویکرد مقایسه استفاده می­ کند و شامل سه فازِ آزمایش، گردآوری و پخش است. در فاز گردآوری، هر گره سیار نتایج کارهای محول شده به همسایگانش را گردآوری می­ کند. سپس به منظور عیب­یابی، این نتایج را با هم مقایسه می­ کند تا گره­های معیوب و سالم مشخص شوند. سرانجام، در فاز پخش، همه اطلاعات عیب­یابی، از طریق شبکه برای همه گره­ها ارسال می­ شود تا هر گره، یک دید کلی از وضعیت شبکه داشته باشد. هدف این پروتکل این است که به گره­های fault-free اجازه دهد که وضعیت خطای کل گره­های شبکه را شناسایی کنند.

نظارت بر وضعیت گره:در سیستم­های پوشیدنی با نظارت کردن به وضعیت هر گره می­توان خطاها را شناسایی و مکان­ یابی کرد. با نظارت کردن به وضعیت هر گره مشخص می­ شود که گره در وضعیت فعال قرار دارد یا غیر فعال. می­توان از دو مؤلفه­ی کلیدی یعنی میزانِ انرژی باتری و تداخل برای تشخیص وضعیت گره­ها استفاده کرد [۵۹] .

شناسایی بر اساس جابجایی و انرژی مصرفی: یک مکانیزم برای کشف گره معیوب است [۵۸]. حالت اول این روش بدین صورت است که گره ناظر بر عضو، هیچ داده­ای را تولید و مخابره نمی­کند، لذا با کنترل انرژی گره مشخص می­ شود که گره اصلاً کار نمی­کند و خراب است. حالت دوم این روش بدین صورت است که گره ناظر مدام در حال تولید و مخابره­ی داده است. در این حالت با کنترل انرژی گره فعالیت گره بیش از حد نرمال تشخیص داده می­ شود و چنین استدلال می­ شود که گره معیوب است.

از جمله چالش­های این روش این است که قرائت­های گره­های سنسور، از اعضای بدن برای حرکات مختلف، ممکن است جابجایی و انرژی مصرفی یکسانی نداشته باشند. به عنوان مثال حالتی را در نظر بگیرید که فرد کنترل شده، در حال نواختن گیتار است. او مدام در حال تکان دادن دستانش است در این حالت سنسورهای نصب شده بر دستان او جابجایی زیادی را نشان می­ دهند لذا با کنترل انرژی مصرفی این سنسورها به دلیل فعالیت بیش از حد نرمالِ گره­ها، چنین پنداشته می­ شود که سنسورهای کنترل کننده­ دستان، خراب می­باشند. اما این سنسورها سالم هستند و داده ­های درستی را مخابره می­ کنند. در این سناریو سنسورهای کنترل کننده­ پاها داده­هایی را تولید و مخابره نمی­کنند. لذا با کنترل انرژی این سنسورها چنین تشخیص داده می­ شود که گره­ها اصلاً کار نمی­کنند و خراب هستند که این تشخیص نیز اشتباه می­باشد.

استفاده از داده ­های جمع­آوری شده: روش دیگر به منظور شناسایی گره­های معیوب است؛ روش کار به این طریق است که اگر داده ­های گردآوری شده توسط یک سنسور از حد پایین و حد بالای آستانه تجاوز کند [۶۳]، آن گره سنسور معیوب است. فرایند شناسایی و جداسازی گره­های حسگر معیوب، براساس داده ­های جمع­آوری شده بخصوص هنگامی که گره سنسور داده ­های اشتباهی را تولید و مخابره می­ کند یک مسئله­ چالش­دار است.

به عنوان مثال حالتی را می­توان در نظر گرفت که گره سنسور معیوب است و بجای داده ­های درست، داده ­های اشتباه و غلطی را از بدن دریافت می­ کند. ولی به دلیل اینکه داده ­های گردآوری شده از حد آستانه تجاوز نکرده ­اند، سیستم معیوب بودن سنسور را تشخیص نمی­دهد و داده ­ها­ی اشتباه را مخابره می­ کند. که این کار می ­تواند باعث تفسیر نادرست از فعالیت شخص تحت نظارت شود. لذا با توجه به مطالب ذکر شده می­توان نتیجه گرفت که اگر چه استفاده از حد آستانه به منظور کشف گره معیوب در برخی از سیستم­ها پیشنهاد می­ شود ولی این روش به تنهایی کافی نیست.

روش دسته­بندی گره­های مجاور: دیگر روش برای کشف گره­های معیوب می­باشد [۵۸]. در این روش قرائت­های گره­های مجاور تقریباً برابر و مشابه می­باشند. روش کار بدین صورت است که قرائت­های گره­هایی که در یک دسته­بندی قرار دارند با هم مقایسه می­شوند که اختلاف بیش از اندازه­ این قرائت­ها نشان دهنده وجود سنسورهای معیوب در دسته­بندی است. این روش در سیستم­هایی که شامل تعداد زیادی گره­ می­باشند، به خوبی جواب می­دهد، این در حالی است که در BSNها تعداد سنسورها اندک می­باشد. در مسائل کشف خطا کم بودن تعداد گره­های مجاور، یک چالش مهم است[۵۸]. به بیانی دیگر در محیط­هایی مانند BSNها که تعداد سنسورهای کمی وجود دارد، دقت کشف کاهش می­یابد. کار [۵۸] این مسئله را مورد مطالعه قرار داده است.

به علاوه یافتن همسایگان صحیح برای تضمین داده ­ها به منظور کاهش هشدارهای غلط، دیگر چالش است [۵۸] . به عنوان مثال شرایطی را در نظر بگیرید که بر روی هر کدام از دستان شخص کنترل شده، یک سنسور نصب شده و هر دوی این سنسورها به عنوان گره­های مجاور در نظر گرفته می­شوند و در یک دسته­بندی قرار داده می­شوند. حال حالتی را در نظر بگیرید که این فرد با خودکارش در حال نوشتن یک متن است. در این حالت علیرغم اینکه هر دو سنسور به عنوان سنسورهای مجاور در یک دسته­بندی قرار گرفته­اند، قرائت­های سنسورهای هر دو دست با هم اختلاف زیادی دارند. لذا اینگونه استنتاج می­ شود که یکی از سنسورها معیوب است اما اینگونه نیست. بنابراین عملکرد این روش به یافتن همسایگان صحیح بستگی دارد.

۲-۵-۲٫نرم­افزار

نرم­افزار در سیستم­های کامپیوتری یک نقش کلیدی را ایفا می­ کند. به واقع محاسبات پوشیدنی همانند سایر سیستم­های کامپیوتری برای انجام عملیات نیازمند نرم­افزار می­باشند. الگوریتم­ها و روش­های نرم­افزاری مختلفی به منظور تحمل خطا در شبکه ­های پوشیدنی وجود دارد که در ادامه به آنها پرداخته می­ شود.

کیفیت داده: از جمله مباحث کلیدی در بخش نرم­افزار می­باشد. موضوع کیفیت داده ­ها یک موضوع قدیمی است که در سیستم­های جدید امروزی از جمله سیستم­های پوشیدنی ابعاد جدیدی پیدا کرده است. بطور کلی روش­های مختلف بررسی کیفیت داده ­ها، به سه دسته­ی الف)روش ساختارگرا(syntactic) ب)روش نشانه­گرا(semantic) ج)روش عملگرا(pragmatic) تقسیم می­شوند.

در روش ساختارگرا بیشتر به ساختار داده ­ها توجه می­ شود. در روش نشانه­گرا برای کیفیت داده­ چهار معیار ۱-کامل بودن ۲-صحیح بودن ۳-مبهم نبودن و ۴-معنادار بودن، در نظر گرفته می­ شود. در واقع در این روش دنیای واقعی حوزه­ مورد بررسی نامیده می­ شود که سیستم اطلاعاتی یک تصویر از دنیای واقعی است. هر چقدر که تصویر دنیای واقعی بهتر باشد داده ­ها با کیفیت­تر هستند. اما در روش عملگرا برای کیفیت داده شش معیار ۱-مرتبط بودن ۲-به موقع بودن ۳-دقت ۴-در دسترس بودن ۵-مقایسه­پذیری و ۶-انسجام، در نظر گرفته می­ شود.

معیار­های کیفیت داده تعریف
کامل بودن هر پدیده­ موجود در دنیای واقعی فقط باید توسط یک داده نمایش داده شود.
صحیح بودن داده­ی سیستم اطلاعات دو پدیده­ دنیای واقعی را همزمان تفسیر نکند.
مبهم نبودن نباید دو پدیده از دنیای واقعی توسط یک داده نمایش داده شود.
معنادار بودن هر داده­ی سیستم اطلاعاتی حداقل یک پدیده­ دنیای واقعی را به تصویر بکشد.

جدول ۲-۴٫ معیارهای کیفیت داده در روش نشانه­گرا

معیار­های کیفیت داده تعریف
مرتبط بودن آیا داده ­های تولید شده برای کاربران آنها با معنی و مفید هستند؟
به موقع بودن به مدت زمان بین تولید داده ­ها تا دسترسی به آنها مربوط می­ شود. که با معیار دقت رابطه معکوس دارد.
دقت داده ­ها برای اندازه ­گیری فعالیت­های مختلف مورد استفاده قرار می­گیرند که این امر باید درست برآورد شود. بنابراین در بحث دقت، میزان خطاهای تولید شده در فرایند اندازه ­گیری مورد توجه است.
در دسترس بودن به موضوع میزان در دسترس بودن داده ­ها و سهولت دسترسی به آنها اشاره دارد.
قابل مقایسه بودن یعنی بتوان در دوره­ های زمانی مختلف مقایسات قابل اطمینانی را ارائه داد.
انسجام به این موضوع دلالت دارد که داده ­های تولید شده توسط منابع مختلف و یا زمان های متفاوت باید با یکدیگر همخوانی داشته باشند و قابل مقایسه باشند.

جدول ۲-۵٫ معیارهای کیفیت داده در روش عملگرا

خطا در قرائت­های سنسورهای پوشیدنی باعث عدم کیفیت داده­ می­ شود. لذا به منظور تأمین کیفیت داده باید وضعیت­های نامطلوب گره­ها را در شبکه­پوشیدنی کشف و با انجام اقدامات جبرانی اثرات آنها را کم کرد. از اینرو به منظور مدیریت وضعیت­های نامطلوب[۳۷] گره­ها در [۶۴] روشی ارائه شده است که در آن قسمت­ هایی که دارای وضعیت نامطلوبند شناسایی می­شوند، سپس مقادیری که دارای خطا هستند با مقادیر پیش ­بینی شده قبلی جایگزین می­شوند.

کیفیت سرویس: یک پارامتر نرم­افزاری در شبکه ­های پوشیدنی می­باشد. پشتیبانی از کیفیت سرویس در شبکه ­های پوشیدنی یک نیاز مهم می­باشد. تأخیر، قابلیت اطمینان و قابلیت دسترسی از جمله ویژگیهای کیفیت سرویس شبکه ­های پوشیدنی است که قابلیت اطمینان، فاکتور غالب در کیفیت سرویس WSNها [۶۱] و شبکه ­های پوشیدنی است. لذا با تأمین تحمل­پذیری خطا در شبکه ­های مذبور می­توان به قابلیت اطمینان و در نتیجه کیفیت سرویس دست یافت.

شفافیت: به عنوان یک فاکتور نرم­افزاری مهم در سیستم­های محاسباتی فراگیر بشمار می­رود. این درحالیست که سیستم­های مذکور با نشان دادن عکس­العمل در برابر خطاهای مختلف می­توانند شفاف باشند. اما در اینگونه سیستم­ها افزایش پویایی و پیچیدگی منابع سخت­افزاری/نرم­افزاری و تعامل مکرر بین مؤلفه­ ها باعث می­ شود که طراحی قدرت تحمل نقص بسیار چالش­انگیز شود [۶۵][۶۶]. از اینرو به منظور دستیابی به شفافیت در [۶۵] و [۶۶] برای محیط محاسباتی فراگیر پویا، یک مکانیسم تحمل خطای خود-تطبیق پیشنهاد شده است که در این رویکرد، مکانیزم مذبور بر طبق انواع مختلف خرابی­های کشف شده به صورت دینامیکی ساخته می­ شود.

درخواست سرویس: یک بحث نرم­افزاری می­باشد. در محیط­های محاسباتی فراگیر به دلیل طبیعت متحرک و بازشان، خرابی­های زیادی رخ می­دهد. برخی از خطاها در هنگام فرایند درخواست سرویس رخ می­ دهند. این خطاها بهتر است در هر فرایند درخواست سرویس کشف و بررسی شوند که این مسئله در کار [۶۷] مورد بررسی قرار می­گیرد.

کشف سرویس: در محاسبات پوشیدنی و فراگیر همواره به عنوان یک فاکتور نرم­افزاری حائز اهمیت بوده است. همزمان با رشد سریع محاسبات فراگیر، فرایند کشف سرویس در این تکنولوژی به یک مسأله­ داغ تبدیل شده است. لذا فرایند کشف سرویس در پژوهش­های زیادی مانند [۶۸] و [۶۹] مورد توجه قرار گرفته است. در محاسبات سیار و محاسبات پوشیدنی، دستگاه­ها به دلیل محدودیت­هایشان همواره خواستار سرویس­هایی هستند، بنابراین در این محیط­ها پیدا کردن سرویس­ها ضروری است. با بهره گرفتن از فرایند کشف سرویس، سرویس­های موجود در یک محیط فراگیر شناسایی و مکان­ یابی می­شوند. در چنین محیط­هایی معمولاً گره­های ارائه دهنده سرویس سیار هستند، که این امر خطاها و چالش­هایی را در فرایند کشف سرویس به همراه دارد. بنابراین فرایند کشف سرویس باید در برابر خرابی مقاوم باشد.

فرایند کشف منبع: قادر به پیدا کردن یک دستگاه ارائه دهنده سرویس است. با توجه به اینکه در محیط­های فراگیر دستگاه­های handheld شامل محدودیت­هایی از قبیل حافظه و قدرت پردازشی محدود، باتری با طول عمر محدود و قطع اتصال مکرر می­باشند، پس دستگاه­های مذکور با توجه به محدودیت­هایشان نیازمند منابع و سرویس­هایی از دیگر دستگاه­ها می­باشند.

اما در محیط­های فراگیر به دلیل طبیعت بی­دوام و ad hoc شبکه، نمی­ توان برای مدت طولانی سرویس­هایی را از یک دستگاه معین، دریافت کرد. همچنین همانطور که در بخش ۲-۶ بیان خواهد شد، این امکان وجود دارد که چند دستگاه درخواست یک منبع واحد را بکنند. به علاوه حل مسئله­ کشف منبع شامل چالشهایی از قبیل زمان جستجوی منبع و معیارهای تطبیق منبع می­باشد. از اینرو در [۷۰] رویکردی ارائه شده است که چالش­های مطرح در کشف و جستجوی منبع را مورد توجه قرار می­دهد.

۲-۵-۳ انرژی

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

مکانیزمDynamic power level adjustment:به منظور صرفه­جویی در مصرف انرژی استفاده می­ شود [۵۹]. روش کار این مکانیزم به این صورت است که یک برش زمانی به همه گره­های همسایه تخصیص داده می­ شود. آنگاه گرهی که تمایل به انتقال داده ­ها دارد وارد وضعیت فعال می­ شود و بسته­هایش را با ماکزیمم انرژی انتقال می­دهد، در غیر این صورت گره به وضعیت خواب می­رود. در وضعیت خواب، گره از مینیمم انرژی استفاده می­ کند که این میزان انرژی برای دریافت پیام­های hello و پشتیبانی از اتصال، کافی می­باشد.

رویکرد استفاده از سنسورهای مستقل: با بهره گرفتن از این رویکرد می­توان مصرف انرژی را کاهش داد [۶۴]. بحث اینکه گره­ها به یکدیگر وابسته باشند و یا از همدیگر مستقل باشند، یک بحث مهم در شبکه ­های پوشیدنی است. برای مثال حالتی را در نظر بگیرید که گره­های A، B و C به یکدیگر وابسته­اند. به صورتی که گره B برای ادامه­ انجام فعالیت نیازمند اطلاعاتی است که توسط گره A برایش ارسال می­ شود و گره C نیز نیازمند اطلاعاتی است که توسط گره B برایش مخابره می­ شود. به بیانی دیگر به صورت زنجیروار گره B به A و گره C به B وابسته است. در سناریوی ذکر شده اگر یکی از گره­ها معیوب شود، سیستم قادر به ادامه­ کار نیست و با شکست مواجه می­ شود. اما در حالتی که گره­ها از همدیگر مستقل باشند یعنی اینکه برای انجام ادامه­ فعالیت نیازمند همدیگر نباشند، خرابی یک گره بر عملکرد دیگر گره­ها تأثیر­گذار نیست.

در حالتی که سنسورها از یکدیگر مستقل باشند می­توان سنسورهای معیوب را بدون تغییر در ساختار شبکه حذف و یا جایگزین کرد. به علاوه، می­توان به محض کشف سنسورهای خراب، آنها را توسط ایستگاه مرکزی خاموش کرد تا انرژی در کل سیستم ذخیره شود. از اینرو در [۶۴] به منظور کشف و تصحیح وضعیت نامطلوب گره­ها از معماری اتصال دسته­کننده[۳۸]، استفاده شده است که این معماری استقلال بین سنسورها را حفظ می­ کند.

کاهش هزینه­ ارتباطات:دیگر رویکرد برای کاهش مصرف انرژی است [۵۵]. با توجه به اینکه در شبکه ­های پوشیدنی در فرایند ارتباطات بین گره­ها بیشترین میزان انرژی مصرف می­ شود، می­توان با کاهش هزینه­ ارتباطات، میزان مصرف انرژی را کاهش داد.

لذا در [۵۵] روشی برای کاهش مصرف انرژی براساس کاهش هزینه ارتباطات به ازای افزایش هزینه­ سخت­افزاری ارائه شده است. بدین صورت که بجای ارسال پیوسته، اطلاعات در بافرهایی ذخیره می­شوند و در بازه­های زمانی مشخصی ارسال می­شوند. به بیانی دیگر در این روش ارتباطات گسسته جایگزین ارتباطات پیوسته می­ شود. بدیهی است در صورتی می­توان از این تکنیک استفاده کرد که سیستم ماهیتاً نیاز به جریان پیوسته­ی اطلاعات نداشته باشد، به علاوه هزینه­ مصرف انرژی بخش سخت­افزاری اضافه شده کمتر از مصرف انرژی بخش ارتباطات باشد.

مکانیزمِ hand-off:بعداز شناسایی و مکان­ یابی گره­های معیوب، می­توان از این مکانیزمبه منظور تحمل نقص در برابر باتری ضعیف استفاده کرد [۵۹]. هنگامی که انرژی باتری یک گره از حد آستانه پایین­تر می ­آید، آن گره به عنوان گره معیوب در نظر گرفته می­ شود که در این حالت، سیستم می ­تواند از مکانیزمِ hand-off استفاده کند. روش کار مکانیزم مذبور به اینصورت است که گره معیوب از میان گره­های مجاورش، گرهی را که بالاترین انرژی را دارد انتخاب می­ کند، سپس گره انتخاب شده تمام سرویس­های گره معیوب را اجرا می­ کند.

استفاده­ی همزمان از تکنولوژی­های مختلف سخت­افزاری:دیگر رویکرد به منظور کاهش مصرف انرژی، است. روش کار بدین صورت است که در زمانی که یک تکنولوژی برای انجام یک کار به انرژی مصرفی زیادی نیاز دارد می­توان از تکنولوژی دیگری استفاده کرد که همان کار را با مصرف مقدار کمتری انرژی انجام می­دهد.

به عنوان مثال می­توان سیستمی را تصور کرد که هر گره برای تبادل اطلاعات مجهز به دو تکنولوژی ارتباطی بلند برد و بلوتوث است. فرض بر این است که تکنولوژی ارتباطی بلند برد نسبت به تکنولوژی بلوتوث انرژی بیشتری را مصرف می­ کند و می ­تواند اطلاعات را به مسافت دورتری ارسال کند. در این سیستم اگر هر گرهی بخواهد اطلاعاتش را به مسافت­های دور دست بفرستد می ­تواند از تکنولوژی ارتباطی بلند برد استفاده کند. ولی اگر گرهی بخواهد اطلاعاتش را برای گره­های مجاورش بفرستد، می ­تواند به منظور صرفه­جویی در مصرف انرژی از تکنولوژی بلوتوث استفاده کند زیرا که بلوتوث انرژی کمتری مصرف می­ کند.

۲-۵-۴ ارتباطات

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

رسانه­های انتقال بی­سیم:در شبکه ­های پوشیدنی انتقال اطلاعات توسط سیگنال­ها و امواج الکترومغناطیسی صورت می­گیرد. به بیانی در شبکه ­های بی­سیم انتقال اطلاعات توسط رسانه­های انتقال بی­سیم مانند بلوتوث و ZigBee انجام می­گیرد. در بحث امواج الکترومغناطیسی هرچقدر فرکانس بالاتر باشد طول موج پایین­تر است و برعکس. یعنی امواج با فرکانس بالا توانایی عبور از اجسام سخت مانند دیوار را ندارند. همچنین امواج با فرکانس پایین طول موج بالایی دارند و می­توانند مسافت زیادی را تحت پوشش قرار دهند. جدول ۲-۴ انواع امواج الکترومغناطیسی را به همراه ویژگی­هایشان شرح می­دهد.

انواع امواج الکترو مغناطیسی ویژگی­ها
  1. امواج رادیویی
  • محدوده فرکانس بین ۳KHz تا ۱GHz
  • قابلیت انتشار در تمامی جهات
  • مناسب برای مواردی که یک فرستنده و چندین گیرنده وجود دارد
  • تداخل دارد
  • ایمن نبودن در برابر استراق سمع
  • بردش ۱۰-۱ تا ۱۰۴
  1. امواج مایکرویو
  • محدوده فرکانس بین ۱GHz تا ۳۰۰GHz
  • قابلیت انتشار به صورت مستقیم
  • تداخل ندارد
  • برد ۱۰-۳ تا ۱۰-۱
  1. مادون قرمز

IR

  • محدوده فرکانس بین ۳۰۰GHz تا ۴۰۰GHz
  • در فواصل طولانی نمی­ توان از آن استفاده کرد
  • پهنای باند بالا
  • برد ۱۰-۷ تا ۱۰-۳
  1. بلوتوث/ PAN

۸۰۲٫۱۵٫۱

  • فرکانس ۲/۴GHz
  • حداکثر تا محدوده ۱۰۰ متر را پوشش می­دهد
  • نرخ انتقال ۳Mbps
  • عدم تداخل امواج بلوتوث با دیگر امواج
  • قیمت ارزان این فناوری
  • مصرف انرژی کم
  1. Wi-Fi

۸۰۲٫۱۱

  • تا شعاع ۲۰ متر برد دارد
سریهای استاندارد ۸۰۲٫۱۱ مشخصات
۸۰۲٫۱۱ - نرخ انتقال ۱Mbps تا ۲Mbps
۸۰۲٫۱۱a

- فرکانس ۵GHz

- نرخ انتقال ۵۴Mbps

۸۰۲٫۱۱b

- فرکانس ۲/۴GHz

- نرخ انتقال ۱۱Mbps

۸۰۲٫۱۱g

- فرکانس ۲/۴GHz

- نرخ انتقال ۵۴Mbps

۸۰۲٫۱۱n

- استفاده از دو محدوده فرکانسی ۲٫۴GHz و ۵GHz

- نرخ انتقال ۱۰۸Mbps

  1. WiMAX

۸۰۲٫۱۶

  • محدوده فرکانس بین ۱٫۲۵MHz تا ۲۰MHz
  • امکان استفاده به دو صورت ثابت و سیار
  • نرخ انتقال بالا
  • کیفیت سرویس
  • امنیت
  • دسترسی
  • مقیاس­پذیری
  • پوشش وسیع تا حدود ۵۰ کیلومتر
سریهای استاندارد ۸۰۲٫۱۶ مشخصات
۸۰۲٫۱۶ - محدوده فرکانس بین ۱۰GHz تا ۶۶GHz
۸۰۲٫۱۶a - محدوده فرکانس بین ۲GHz تا ۱۱GHz
۸۰۲٫۱۶d

- وایمکس ثابت

- نرخ انتقال ۴۰Mbps

۸۰۲٫۱۶e

- وایمکس سیار

- پشتیبانی از آنتن­های چندگانه

- نرخ انتقال ۱۵Mbps

  1. ZigBee
  • محدوده فرکانس ۸۵۰MHz تا ۹۳۰MHz
  • قابل استفاده در شبکه ­های حسگر
  1. نسل­های اول تا چهارم ارتباطات
  • ۱G: فقط سیگنال­های آنالوگ را انتقال می­دهد
  • ۲G: نرخ انتقال ۱۹/۲Kbps تا ۹/۶Kbps
  • ۳G: نرخ انتقال ۱۴۴Kbps تا ۲/۴Mbps
  • ۴G: نرخ انتقال ۱۵Mbps
       

جدول ۲-۶: امواج الکترومغناطیسی

گمشدگی داده ­ها: از جمله مباحث مهم ارتباطات است. عوامل مختلفی از جمله قطعی ارتباط،می ­تواند باعث اتلاف داده ­ها شود. قطع ارتباط فرستنده و گیرنده در هنگام ارسال داده ­ها، حتی در بازه زمانی کوتاه می ­تواند باعث گمشدگی داده ­ها شود. در [۷۱] مشکلاتی که منجر به قطع ارتباط و گمشدگی داده ­ها می­شدند توسط سیاست­های آبشاری حل شدند و قابلیت اعتماد با بهره گرفتن از این سیاست­ها تأمین شد.

دیگر حالت برای گمشدگی داده ­ها می ­تواند وضعیتی باشد که ارسال اطلاعات به صورت گسسته صورت می­گیرد. برای این کار نیاز به حافظه­هایی از جمله بافر است تا اطلاعات در آنها ذخیره و در بازه­های زمانی معین ارسال شوند. در این حالت امکان دارد که قبل از ارسال اطلاعات، فضای بافر پر شود. بنابراین داده ­های حس شده­ توسط سنسورها که قصد ورود به بافر را دارند، به منظور کاهش تراکم نابود می­شوند که این امر باعث گمشدگی داده ­ها می­ شود. لذا با اعمال تکنیک­های تحمل خطا در سیستم باید مانع گمشدگی داده ­ها شد.

تداخل و نویز نیز می­توانند باعث گم شدن داده ­ها شوند [۷۲].از اینرو بعداز شناسایی و مکان­ یابی گره­های معیوب، می­توان از مکانیزمِ Dynamic power level adjustment[39] به منظور تحمل نقص در برابر تداخل استفاده کرد [۵۹]. روش کار این مکانیزم در بخش۲-۵-۳ شرح داده شد.

نرخ تحویل داده: از جمله پارامترهای مهم در بحث ارتباطات است. در شبکه­ هایی نظیر شبکه­ پوشیدنی و شبکه­ [۴۰]DFT-MSN، دستیابی به نرخ تحویل داده­ مطلوب اهمیت فراوانی دارد. در چنین شبکه­ ای به وسیله­ تکرار می­توان به نرخ تحویل داده­ی خوب رسید. اما باید یادآوری کرد که تکرار، باعث مصرف انرژی و افزایش سربار می­ شود. بنابراین سازش بین نرخ تحویل داده ­ها و سربار ضروری است [۷۳]. از اینرو به منظور دستیابی به نرخ تحویل داده مطلوب با مینیمم سربار، در [۷۳][۷۴][۷۵] با ارائه چند طرح تحویل داده این مسئله مورد بررسی قرار می­گیرد.

مدیریت جریان داده: در ارتباطات از اهمیت بسیاری برخوردار می­باشد. با پیشرفت تکنولوژی سیستم­های تعبیه شده، در بسیاری از کاربردها نیاز به مدیریت جریان داده ­ها([۴۱]DSM) می­باشد. مدیریت جریان داده ­ها باید به روشی توزیع شده و قابل اعتماد فراهم شود. که سطوح قابلیت اعتماد DSM توسط سه بعد ۱)DSM بدون اتلاف و با اتلاف محدود ۲)DSM بدون تأخیر یا با تأخیر محدود ۳)حفظ ترتیب جریان بیرونی و جریان درونی تعریف می­ شود. بنابراین مدیریت جریان داده ­ها به صورت قابل اعتماد، برای برخی از کاربردها نظیر telemonitoring بیماران، اهمیت بیشتری پیدا می­ کند. کار [۷۶] با ارائه یک مدل جریان داده ­های[۴۲] مطمئن و توزیع شده به بررسی این مسئله می ­پردازد.

انواع جریان ارسال داده ­ها: به دو صورت پیوسته و گسسته می­باشد. در ارسال پیوسته به محض دریافت داده ­ها از محیط، بلافاصله برای دستگاه یا شخص دیگری ارسال می­شوند. اما در ارسال گسسته، اطلاعات دریافتی در حافظه­هایی مانند بافر ذخیره می­شوند و در زمان­های خاصی به صورت گسسته ارسال می­شوند. تصمیم ­گیری در مورد پیوسته بودن یا گسسته بودن اطلاعات، با توجه به شرایط و سیستم، صورت می­گیرد.

۲-۵-۵ معماری

از آنجا که توسعه سیستم­های نرم­افزاری تحمل خطا در محیط­های فراگیر با چالشهایی روبرو است، اعمال اصول نرم­افزاری، می ­تواند این چالشها را برطرف کند. مدلهای معماری نرم­افزاری مختلفی از جمله client-server و peer to peer وجود دارند که انتزاعاتی را ارائه می­ دهند. این معماریها به منظور مفید بودن در توسعه و پیاده­سازی نیاز به پشتیبانی دارند. سه فاکتور مهم در توسعه سیستم­های فراگیر تحمل خطا، عبارتند از: ۱)کشف سرویس­ها و منابع جدید به صورت پویا. ۲)ریکاوری شفاف و خودکارِ خرابی. ۳)تعیین تحلیلیِ معماریهای توسعه و استراتژی­ های تکرار مؤلفه. با توجه به فاکتورهای ذکر شده مشخص می­ شود که نقش معماری در سیستم­های فراگیر تحمل­خطا، یک نقش کلیدی است [۷۷].

۲-۶ مدیریت منبع و نحوه­­ی دسترسی به آن

در شبکه ­های پوشیدنی، به دلیل محدودیت­های گره­ها، نیاز به اشتراک گذاشتن یکسری از منابع و سرویس­ها می­باشد. اما در زمانی که چندین گره به صورت متناوب تقاضای دستیابی به منبع به اشتراک گذاشته شده را داشته باشند، مسئله­ به اشتراک­گذاری منبع با چالش­هایی همراه است. در واقع این امر همان مسئله­ انحصار متقابل است که چندین میزبان به منظور دستیابی به منبع به اشتراک گذاشته شده، درخواست ورود به ناحیه­ی بحرانی را دارند. در سیستم­های توزیع شده راه­ حل­های زیادی برای حل مسئله­ MUTEX ارائه شده است اما سیستم­های فراگیر در مقایسه با سیستم­های توزیع شده دارای ویژگی­هایی از جمله تحرک و محدودیت­های منبع می­باشند که نمی­ توان مسئله­ انحصار متقابل را با این راه­حل­ها حل کرد. از اینرو الگوریتم­های پیشین به منظور پذیرفته شدن در شبکه ­های سیار نیاز به طراحی دوباره دارند.

به طور کلی راه­ حل­های ارائه شده برای حل مسئله­ انحصار متقابل به دو دسته­ی token-based و permission-based تقسیم می­شوند. در الگوریتم­های token-based یک توکن منحصر به فرد در بین میزبانان به اشتراک گذاشته می­ شود، به اینصورت که هر میزبانی که توکن را در دست داشته باشد، اجازه­ی ورود به ناحیه­ی بحرانی را دارد. اما در الگوریتم­های permission-based روش کار به اینصورت است که میزبانی که می­خواهد وارد ناحیه­ی بحرانی شود ابتدا باید از طریق تبادل پیام، مجوزهایی را از دیگر میزبانان کسب کند. الگوریتم­های permission-based در مقایسه با الگوریتم­های token-based شامل دو مزیت می­باشند. اول اینکه نیازی به پشتیبانی کردن از یک توپولوژی منطقی برای تبادل توکن ندارند. دوم اینکه اگر میزبانی درخواست ورود به ناحیه­ی بحرانی را نداشته باشد، آنگاه نیاز به منتشر کردن هیچ پیامی نیست. به دلیل محدودیت­های شبکه ­های فراگیر رویکردهای permission-based مناسب­تر هستند [۷۸].

اما مهمترین چالش در رویکردهای permission-based این است که در بین میزبانان تعداد زیادی پیام مبادله می­ شود. با توجه به اینکه در شبکه ­های پوشیدنی مبادله­ زیاد پیام­ها انرژی زیادی از گره­ها را مصرف می­ کند، باید به دنبال راه­حل­هایی باشیم که تعداد پیام­های مبادله شده را کاهش دهند. لذا در [۷۸] الگوریتم انحصار متقابلی پیشنهاد شده است که قادر به کاهش تعداد پیام­های مبادله شده است.

۲-۷Self-healing

در شبکه ­های پوشیدنی به دلیل عوامل گوناگون از قبیل گرم شدن زیاد، رسوب شیمیایی سطح سنسور، توان کم باتری، گره­ها دچار مشکلاتی می­شوند که این عوامل بر دقتِ قرائت­ها تأثیر گذار است. در این حالت اولین راه حلی که به ذهن می­رسد، تعویض سنسورهای معیوب است. اما اغلب بنا به دلایلی از قبیل هزینه­ سنسورها و در دسترس نبودن آنها، امکان تعویض سنسورها نیست. نکته­ی دیگری که در مورد شبکه ­های پوشیدنی باید در نظر گرفت، بحث مدیریت این شبکه­ ها است. در شبکه ­های پوشیدنی امکان مدیریت شبکه به صورت دستی و توسط افراد خبره نیست لذا مدیریت دستی حتی برای شبکه ­های حسگر بدنی که مقیاس کوچکی دارند، عملی نیست، بنابراین باید از رویکردهای مدیریت اتوماتیک استفاده شود.

با توجه به اینکه در شبکه ­های پوشیدنی امکان تعویض سنسورهای معیوب نیست و مدیریت این شبکه­ ها باید به صورت اتوماتیک صورت گیرد، self-healing اتوماتیک برای رفع این محدودیت­ها، بهترین گزینه است. مسئله­ self-healing در پژوهش­های زیادی مانند [۵۷] و [۷۹] مورد بحث و بررسی قرار گرفته است. در رویکردهای Self-healing اتوماتیک، دستگاه­های معیوب به صورت اتوماتیک شناسایی می­شوند و بوسیله­ی پوشش و جداسازی خطاها، عکس­العمل­های مناسب انجام داده می­شوند [۵۶]. جدول ۲-۵ لیست کارهای انجام شده در زمینه تحمل خطا برای سیستم­های پوشیدنی را نشان می­دهد.

معماری انرژی ارتباطات نرم افزار سخت افزار سابقه پژوهش
          WeigangWu و همکاران [۷۸]
          Mourad Elhadef و همکاران [۶۲]
          Byoung Uk Kim و همکاران [۵۷]
          Haibin Cai و همکاران [۶۵][۶۶]
          Yang Yongzhi و همکاران [۶۷]
          Themistoklis Bourdenas و همکاران [۵۶]
          Rose Williams و همکاران [۷۱]
          Wenshuan Xu و همکاران [۶۸]
          Moushumi Sharmin و همکاران [۷۰]
          YuWang و همکاران [۷۳]
          Duk-Jin Kim و همکاران [۵۸]
          Sheikh I. Ahamed و همکاران [۶۹]
          Eung Nam Ko[80]
          Yu Wang[75]
          Gert Brettlecker و همکاران [۷۶]
          Guowei Wu و همکاران [۸۱]
          Gabriel E. Arrobo و همکاران [۷۹]
          Hesam Sagha و همکاران [۶۴]
          D.D. Geeta و همکاران [۵۹]
          Reza Sharif و همکاران [۶۰]
          Hassan Ghasemzadeh و همکاران [۵۵]

جدول ۲-۷: لیست کارهای انجام شده

۲-۸ نتیجه ­گیری

در این فصل تحقیقات انجام شده در زمینه تحمل خطا برای سیستم­های پوشیدنی مورد بحث و بررسی قرار گرفت. متأسفانه با توجه به اهمیت موضوع، مشخص شد که در این زمینه تحقیقات اندکی صورت گرفته است. این درحالیست که در محاسبات پوشیدنی نیاز به یک چارچوب تحمل خطا ضروری است. لذا در فصل سه یک چارچوب تحمل خطا برای محاسبات پوشیدنی ارائه می­ شود.

فصل سوم

معماری پیشنهادی

۳-۱ مقدمه

عملکرد صحیح سیستم­هایی که بر مبنای آنها تصمیم ­گیری­های حیاتی صورت می­گیرد ضروری است. محاسبات پوشیدنی گونه ­ای از این سیستم­ها هستند که امروزه نقش بسیار مهمی را در کاربردهای گوناگون و حساس از قبیل حوزه سلامت ایفا می­ کنند. به عنوان مثال خطای این سیستم برای سالمندی که به علت کهولت سن تنها زندگی می­ کند، غیر قابل جبران است به حدی که این خطا می ­تواند منجر به وقوع حوادث ناگواری شود. در فصل دوم مشخص شد که با وجود اهمیت موضوع تحمل­پذیری محاسبات پوشیدنی در برابر خطا، در این زمینه تحقیق زیادی صورت نگرفته است. از اینرو با مطالعه­ کارهای دیگران و بررسی معماری­های موجود، در این فصل یک معماری ارائه می­ شود. محاسبات پوشیدنی با محدودیت­های فراوانی از قبیل محدودیت­های منبع، مواجه هستند. بنابراین در معماری ارائه شده به منظور غلبه بر محدودیت­های مذکور، از محاسبات موبایل و محاسبات ابری استفاده می­ شود. عملکرد صحیح سیستم­های استفاده کننده از این معماری، یک چالش است. برای حل چالش ذکر شده نیاز به یک چارچوب تحمل خطا برای این معماری است، که این چارچوب تحمل خطا در این فصل ارائه می­ شود.

۳-۲ معماری پیشنهادی

با مطالعه­ کارهای انجام شده و بررسی معماری­های ارائه شده در رابطه با محاسبات پوشیدنی نیاز به وجود یک معماری جامع، احساس می­ شود. معماری که بتواند نواقص معماری­های پیشین را برطرف سازد. همچنین بتواند تمام معماری­های پیشین را پشتیبانی کند، به بیانی قادر به انجام وظایف معماری­های پیشین باشد. از اینرو با توجه به نقاط ضعف و قدرت معماری­های ارائه شده، در این بخش یک معماری تحمل­پذیر در برابر خطا برای محاسبات پوشیدنی ارائه می­ شود. این معماری از سه فناوری محاسبات ابری، محاسبات سیار و محاسبات پوشیدنی بهره می­برد. شکل ۳-۱ معماری پیشنهادی را نشان می­دهد، که ترتیب لایه ­ها در این معماری بیانگر این است که هر لایه خدماتی را از لایه­ی پایینی خود می­گیرد.

محاسبات پوشیدنی[۴۳]
محاسبات موبایل[۴۴]
محاسبات ابری[۴۵]

شکل ۳-۱: یک معماری پیشنهادی برای محاسبات پوشیدنی

این معماری سه لایه­ای در ادامه توضیح داده می­ شود. لایه­ی محاسبات پوشیدنی بالا­ترین لایه در این معماری است. این لایه شامل گره­های بدن[۴۶] و ارباب[۴۷] است. Body Node اطلاعات بدست آمده از بدن جاندار را می­گیرد و به Master Node می­فرستد. ممکن است سنسورهای تعبیه شده در Body Node پردازشی جزئی را بر روی اطلاعات حس شده انجام دهند، از طرفی هم ممکن است این سنسورها اصلاً پردازشی را انجام ندهند. برای مثال یک سنسور دما، پردازشی را انجام نمی­دهد اما برخی از سنسورهای حرکتی از قبیل سنسور mpu-9150، دارای یک واحد پردازش حرکت دیجیتال[۴۸] است که برخی محاسبات پایه را انجام می­دهد. به هرحال لایه محاسبات پوشیدنی به منظور گرفتن خدمات بیشتر، اطلاعاتی را که دارد به لایه­ی پایینی خود می­دهد.

لایه­ی محاسبات سیار به علت داشتن سخت­افزار و نرم­افزار پیچیده­تر نسبت به لایه­ی بالایی خود، اطلاعاتِ ارسالی توسط لایه­ی بالایی را می­گیرد و بر روی آنها پردازش­هایی را در حد توان خود انجام می­دهد، سپس می ­تواند این اطلاعات را یا در حافظه خود یا در ابر ذخیره کند. به هرحال این لایه برای گرفتن خدمات بیشتر، اطلاعاتش را ممکن است به ابر بفرستد.

لایه­ی رایانش ابری پایین­ترین لایه در این معماری می­باشد، این لایه اطلاعاتِ ارسالی را از لایه­ی محاسبات سیار یا Master Node می­گیرد و با توجه به مزایای منحصربفرد ابر، می ­تواند خدمات ِزیادی را به لایه­ های بالایی خود بدهد. محاسباتِ سنگین، ذخیره­سازی داده ­های حجیم، ارتباط با پزشکانِ دوردست و بسیاری از خدماتِ دیگر، همگی از خدمات این لایه می­باشند.

نتایج فصل بعد نشان می­دهد که این معماری با فراهم کردن یک محیط محاسباتی قدرتمند می ­تواند در زمینه ­های حساس و گوناگونی از جمله حوزه سلامت و درمان از راه دور بیماران مورد استفاده قرار گیرد. یک پیکر­بندی ممکن است به این صورت باشد که شبکه­ ای متشکل از رایانه­های پوشیدنی[۴۹] بر بدن جاندار پوشیده می­ شود که این رایانه ­ها بسیار کوچک و کم حجم­اند؛ وظیفه آنها جمع­آوری اطلاعاتی راجع به علائم حیاتی بدن است، سپس آنها این اطلاعات را به یک گره سیار ارسال می­ کنند، این کامپیوتر سیار می ­تواند این اطلاعات را ذخیره و پردازش کند و همچنین می ­تواند با محیط ابری ارتباط برقرار کند و از مزایای منحصربفرد ابرها استفاده کند. شکل ۳-۲ عناصر تشکیل دهنده این معماری را بصورت شماتیک نشان می­دهد.

شکل ۳-۲: طرح کلی معماری پیشنهادی

این شبکه­ حسگر بدنی از تعدادی گره سخت­افزاری تشکیل شده است که هر کدام از این گره­ها به وسیله­ جاندار پوشیده یا بر روی ماشین نصب می­شوند. در این تحقیق، گره­های پوشیدنی به دو دسته­یBody Node و Master Node تقسیم شده ­اند.

گره­های Body Node دارای اجزای سخت­افزاری بسیار ساده­ای هستند. مطابق شکل ۳-۳ هرBody Node شامل پنج قسمتِ حسگر[۵۰]، واحد ریزکنترل کننده[۵۱](MCU)، فرستنده[۵۲] ، گیرنده[۵۳] و باتری است.

  1. حسگر:طبق وظیفه از پیش تعیین شده­ا­ش اطلاعات را از بدن جاندار می­گیرد.
  2. MCU: کنترل عملیات، مدار و راه ­اندازی سخت­افزارها را در یک Body Node بر عهده دارد.
  3. فرستنده: اطلاعات محیطی دریافتی بوسیله حسگرها را، به مقصد مورد نظر که می­تواندMaster Node یا Mobile Node باشد، ارسال می­ کند.
  4. گیرنده: برای برقراری ارتباط، تشخیص سلامت گره­های Master Node یا Mobile Node و همچنین گرفتن فرمان از آنها می ­تواند مورد استفاده قرار گیرد.
  5. باتری: انرژی تمام ماژول­های Body Node را تأمین می­ کند.

فرستنده

باتری

MCU  
گیرنده
 
سنسور

شکل ۳-۳: معماری سختافزاری یکBody Node

گره­های Master Node، اطلاعاتی که توسط Body Nodeها ارسال شده است، را می­گیرند و پردازش جزئی را بر روی این اطلاعات انجام می­ دهند، سپس نتایج را به Mobile Node ارسال می­ کنند. این گره­ها نیز دارای سخت­افزار پیچیده­ای نیستند. مطابق شکل ۳-۴ هرMaster Node شامل چهار قسمتِ گیرنده[۵۴]، پردازش سبک[۵۵] ،فرستنده[۵۶] و باتری است. انرژی تمامی ماژول­های Master Node را باتری تأمین می­ کند. گیرنده اطلاعات ارسالی توسط Body Nodeها را دریافت می­ کند و همچنین وضعیت سلامت Mobile Node را چک می­ کند. سپس بخش پردازش سبک بر روی اطلاعات دریافتی از Body Nodeها یک پردازش جزئی را انجام می­دهد. در پایان، فرستنده اطلاعات تولید شده توسط پردازش سبک را بهMobile Node ارسال می­ کند. شایان ذکر است که در شرایط خاص این واحد توانایی ارتباط با ابر را دارد.

در شرایطی که Mobile Node بنا به هر دلیلی قادر به انجام وظایفش نباشد، ارتباط لایه­ی محاسبات پوشیدنی با ابر قطع می­ شود. لذا به منظور تحمل این خطا، Master Node خود مسئولیت ارتباط با ابر را بر عهده می­گیرد. اما واقعیت امر این است که ارتباط Master Node با ابر متفاوت­تر از ارتباط Mobile Node با ابر است، زیرا فلسفه­ی طراحی Master Node بر مبنای پیچیده نبودن و کم حجم بودن است. با توجه به نکته­ی فوق Master Node فاقد نمایشگر، پردازشگر قوی و فاقد قابلیت نصب نرم­افزارهای پیشرفته است. به بیانی ساده­تر Master Node به دلیل محدودیت­های سخت­افزاری و نرم­افزاری­اش نمی­تواند جانشین Mobile Node شود و وظایف Mobile Node را انجام دهد. پس ارتباطMaster Node با ابر صرفاً برای آگاه­سازی ابر از معیوب بودن Mobile Node است.

  فرستنده
پردازش سبک
گیرنده

باتری

شکل ۳-۴: معماری سختافزاری یکMaster Node

گره­Mobile Node، اطلاعاتی را که توسط Master Nodeها یا Body Nodeها ارسال شده ­اند را می­گیرد و بر روی آنها پردازش متوسطی را انجام می­دهد، سپس نتایج را به یک ابر ارسال می­ کند. Mobile Node به مراتب دارای سخت­افزار نسبتاً پیچیده­ای است. مطابق شکل ۳-۵، هر Mobile Node دارای حداقل چهار قسمتِ گیرنده، پردازش متوسط[۵۷] ، فرستنده و باتری است. اصول عملکرد این واحد بدین شکل می­باشد که گیرنده اطلاعات ارسالی توسط Master Nodeها یا Body Nodeها رادریافت می­ کند، سپس بخش پردازش متوسط بر روی آنها یک پردازشِ معمولی را انجام می­دهد. فرستنده نیز در آخر، این اطلاعاتِ تولید شده توسط لایه­ی پردازش متوسط را به ابرها ارسال می­ کند. لازم به ذکر است که انرژی تمامی ماژول­های Mobile Node توسط باتری تأمین می­ شود.

باتری

  فرستنده
پردازش متوسط
گیرنده

شکل ۳-۵: معماری سختافزاری یکMobile Node

در این تحقیق پردازش­ها به چهار دسته مختلف تقسیم می­شوند. در ادامه به منظور درک بهتر، انواع مختلف پردازش­های موجود در این معماری سه لایه­ای شرح داده می­شوند.

  1. پردازش جزئی: به تمامی پردازش­هایی که توسط MCU انجام می­گیرد، گفته می­ شود. تبدیل داده ­های آنالوگ حس شده به دیجیتال، همچنین عملیات پردازشی سنسور ۹۱۵۰ که زوایای اویلری را انجام می­دهد، نمونه­هایی از پردازش جزئی می­باشند.
  2. پردازش سبک: قدرت پردازشگر Master Node از MCU بیشتر است اما این پردازشگر بسیار ضعیف­تر از پردازشگر Mobile Node می­باشد، با توجه به نکته­ی ذکر شده، به همه پردازش­هایی که توسط پردازشگر Master Node انجام می­گیرد، پردازش سبک گفته می­ شود. بررسی کیفیت داده ­ها، مدیریت Body Nodeهای افزونه و پردازش داده ­های دریافت شده از Body Nodeها نمونه­هایی از پردازش سبک می­باشند.
  3. پردازش متوسط: پردازنده Mobile Node قدرتمندتر از پردازنده­ی Master Node و بسیار ضعیف­تر از ابر است. از اینرو این پردازنده نسبت به لایه­ های کامپیوترهای پوشیدنی و ابر پردازش متوسطی را انجام می­دهد. به بیانی دیگر به کلیه­ پردازش­هایی که توسط Mobile Node انجام می­گیرد، پردازش متوسط گفته می­ شود.
  4. پردازش سنگین: به تمامی پردازش­هایی که توسط ابر انجام می­گیرد، گفته می­ شود.

در ادامه مشاهده خواهد شد که معماری سه لایه­ای ارائه شده با قابلیت پشتیبانی از کارها و معماری­های دیگران، یک معماری جامع است.

در حوزه سلامت یک معماری سه لایه­ای موجود می­باشد که محققان بسیاری از آن بهره برده­اند.برای مثال می­توان مراجع[۸۲]،[۴۸] و[۸۳] را مشاهده کرد. این محققان در تحقیقات­شان اسامی لایه ­ها و برخی جزئیات را مطابق تفسیر خودشان تعریف کرده ­اند، این در حالیست که در اکثر این تحقیقات اصل مفهوم مشترک است. لذا در ادامه به نمایندگی از این تحقیقات، یک تحقیق مورد بررسی قرار داده می­ شود.

مطابق شکل ۳-۶ در [۸۴] یک معماری سه لایه­ای ارائه شده است. لایه­ی یک [۵۸]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 پیشنهاد می­ شود.

استفاده از افزونگی TMR : یک روش به منظور برطرف کردن خطای ماژول سنسور Body Node، استفاده از روش افزونگی TMR است. به عبارتی یک راه­حل برای نائل شدن به تحمل­پذیری خطای ماژول سنسور، استفاده از سنسورهای افزونه می­باشد. بگونه­ای که هر Body Node طوری پیاده­سازی می­ شود که شامل چند ماژول سنسور ­باشد. شکل ۳-۱۰ نشان می­دهد که در روش افزونگی TMR، تعداد سنسورها سه عدد است. در افزونگی TMR، روش کار بدین صورت است که هر سه ماژول سنسور در درون یک Body Node جاسازی می­شوند و همزمان با هم کار می­ کنند بطوریکه هر سه ماژول یک فعالیت مشابه را انجام می­ دهند. در نگاه اول این ایده عالی به نظر می­رسد، بطوریکه حتی با این ایده می­توان بسیاری از عملیات از قبیل بررسی کیفیت داده ­ها و کشف خطا را انجام داد.

Transmitter

باتری

MCU  
Reciver
 
S1& S2 & S3

شکل ۳-۱۰: افزونگی TMR برای ماژول سنسور در Body Node­ها

در واقع در این رویکرد سه ماژول سنسور در درون یک پوسته واحد قرار داده شده ­اند. این کار در برخی از موارد باعث بزرگتر شدن حجم Body Nodeمی­شود. اما لزوماً همیشه حجم زیاد نمی­ شود زیرا بعضی از سنسورها مانند mpu-9150 بسیار کوچک و کم مصرف هستند. از طرفی در روش ذکر شده هر سه ماژول سنسور همزمان با هم فعالند و از یک باتری مشترک استفاده می­ کنند که این امر سبب افزایش مصرف انرژی می­ شود. به بیانی، درست است که زیان­های افزونگی بخاطر منفعتش نادیده گرفته شدند اما ایده­ فوق در دراز مدت می ­تواند منجر به وقوع خطای پایدار شود. چونکه سه عدد ماژول سنسور از یک منبع تغذیه مشترک استفاده می­ کنند، که این امر سبب تخلیه­ی سریعتر باتری و کاهش طول عمر Body Node می­ شود.

به عنوان یک نتیجه ­گیری کلی، در صورت استفاده از روش TMR، ممکن است که مصرف توان و حجم Body Node افزایش یابد. اما باید خاطرنشان کرد که روش TMR از نظر قابلیت اطمینان عالی است، همچنین پیاده­سازی این روش بسیار ساده است. باید خاطرنشان کرد که روش فوق در مواقعی که مصرف توان و حجم مدنظر نباشد، عالی جواب می­دهد.

استفاده از روش افزونگیStandby :برای رفع مشکل مصرف توان روش TMR، می­توان از روش standby استفاده کرد. در این روش هر Body Node تنها یک ماژول سنسور فعال دارد. بدین صورت که اگر هر Body Node، n ماژول سنسور داشته باشد، در هر زمان یکی از آنها فعال و بقیه در حالت standby قرار می­گیرند. لازم به ذکر است که ماژول­ها در حالت standby، انرژی بسیار کمی را مصرف می­ کنند، یعنی روش standby مشکل توان را ندارد. اما در روش standby به منظور تغییر حالت سنسور معیوب از حالت فعال به حالت standby و همچنین تغییر حالت سنسور افزونه از حالت standby به حالت فعال، نیاز به تشخیص خطا داریم. که این تشخیص خطا توسط واحد MCU انجام می­گیرد. به عنوان مثال این واحد می ­تواند با بهره گرفتن از حد آستانه، خطا و خرابی را تشخیص دهد. این کار پیچیدگی نرم­افزاری را افزایش می­دهد که در برخی از شرایط قابل چشم پوشی است.شکل ۳-۱۱، افزونگی standby را برایماژولسنسوردرBody Nodeها نشان می­دهد.

Transmitter

باتری

MCU  
Reciver
 
S1 | S2

شکل ۳-۱۱: افزونگی standbyبرای ماژول سنسور در Body Node­ها

در روش­های NMR[66] و standby تعداد قطعات افزونه با توجه به کاربرد و هزینه­ها مشخص می­ شود. به عنوان مثال اگر کاربرد حیاتی است باید با تحمل هزینه­ها از تعداد قطعات بیشتری استفاده کرد. یا اگر هزینه­ های انرژی و حجم قطعه مهم است باید از قطعات افزونه­ی کمتری استفاده کرد. در کل توصیه می­ شود که روش NMR برای Body Nodeها از سه ماژول سنسور استفاده کند یعنی TMRباشد، همچنین روش standby از یک ماژول سنسور اصلی و یک ماژول سنسور افزونه استفاده کند. بدین صورت که ماژول سنسور اصلی در حالت فعال و ماژول سنسور افزونه در حالت غیر فعال باشند. در این صورت اگر ماژول سنسور اصلی خراب شود بلافاصله ماژول سنسور افزونه فعال می­ شود و شروع بکار می­ کند. این یعنی اینکه در هر زمان تنها یکی از دو ماژول سنسور فعال است، در نتیجه در هر زمان فقط یک ماژول سنسور از انرژی باتری استفاده می­ کند.

در روش standby یک سؤال مهم مطرح می­ شود و آن این است که چگونه خرابی ماژول سنسور اصلی را تشخیص دهیم؟ در تحقیق حاضر به منظور پاسخ دادن به سؤال فوق، الگوریتمی تحت عنوان الگوریتم تعویض سنسور[۶۷] ارائه می­ شود. عملکرد الگوریتم مذبور بدین صورت می­باشد که دو ماژول سنسور A و B برای یک کار مشترک در نظر گرفته می­شوند، بطوریکه یکی از آنها فعال و دیگری در حالت standby قرار دارد. این در حالیست که حالت سنسورهای فعال و افزونه در زمان­های مشخصی با هم تعویض می­ شود. این تعویض حالت بگونه­ای است که در بازه­ای از زمان هر دو سنسور همزمان با هم در حالت فعال قرار می­گیرند، که به این بازه­ی زمانی، بازه­ی چک گفته می­ شود. در واقع سنسور معیوب در بازه چک شناسایی می­ شود.

به منظور درک بهتر می­توان حالتی را تصور کرد که در آن A، سنسور فعال و B در حالت standby قرار دارد. عملکرد تعویض حالت بدین صورت است که A دیر خاموش می­ شود تا با سنسور B که به تازگی در حالت فعال قرار گرفته، همزمان با هم کار کنند. در این حالت به بازه­ای که A و B همزمان با هم فعال هستند، بازه­ی چک گفته می­ شود. بطور طبیعی هر دو سنسور در بازه چک باید یک مقدار تقریباً یکسان را تولید کنند. به عنوان مثال اگر سنسورهای دما هستند باید یک دمای یکسان را نشان دهند و یا اگر سنسورهای فشار هستند باید به صورت مشترک، یک فشار را نشان دهند.

در بازه چک با تفریق مقدار دو سنسور، معنادار بودن یا نبودن اختلاف دو سنسور مشخص می­ شود. در واقع یک حد آستانه تحت عنوان «حد آستانه حاصل تفریق دو سنسور» تعیین می­ شود. اگر حاصل تفریق مقدار دو سنسوراز حد آستانه فوقکمتر باشد آنگاه اختلاف، معنادار نیست یعنی هر دو سنسور سالم هستند و در فواصل زمانی مشخص الگوریتم تعویض سنسور تکرار می­ شود. اما در صورتیکه حاصل تفریقدو سنسور از حد آستانه ذکر شده بیشتر باشد یعنی اختلاف معنادار است، یعنی یکی از سنسورها معیوب است. در این صورت مقادیر حس شده توسط سنسورها با «حد آستانه سنسور» مقایسه می­شوند (این حد آستانه مقداری است که داده یک سنسور نباید از آن تجاوز کند؛ به عنوان مثال حد آستانه را برای یک سنسور دما می­توان ۲۷ درجه سانتی ­گراد در نظر گرفت). در این فرایند، سنسور معیوب شناسایی و تا ابد خاموش می­ شود. در طرف مقابل سنسور دیگر تا ابد در حالت فعال قرار می­گیرد و به دلیل عدم وجود سنسور افزونه، دیگر الگوریتم تعویض سنسور اجرا نمی­ شود. شکل ۳-۱۲الگوریتم تعویض سنسور را به صورت شماتیک نشان می­دهد.

A

B

بازه چک

A

بازه چک

شکل ۳-۱۲: الگوریتم تعویض سنسور

در زیر الگوریتم تعویض سنسور شرح داده شده است.

  1. سنسور A در حالت فعال و سنسور B در حالت standbyقرار گیرند.
  2. بعد از گذشت مدت زمان X، سنسور B نیز فعال شود بگونه­ای که سنسورهای A و B همزمان با هم فعال باشند در این حالت به مدت زمانی که هر دو سنسور فعال هستند بازه چک گفته می­ شود.
  3. در بازه چک مقدار دو سنسور را از هم تفریق کن.
  4. اگر حاصل تفریق از «حد آستانه حاصل تفریق دو سنسور» کمتر بود، هر دو سنسور سالم می­باشند و به مرحله ۸ برو، در غیر اینصورت اختلاف معنادار است و به مرحله ۵ برو.
  5. یکی از سنسورها معیوب است پس خروجی هر دو سنسور را با «حد آستانه سنسور» که از قبل مشخص شده، مقایسه کن.
  6. سنسوری که خروجی­اش از «حد آستانه سنسور» تجاوز کند، خراب است پس آن را تا ابد خاموش کن و دیگر از آن به عنوان ماژول سنسور افزونه استفاده نکن. سپس سنسور سالم را تا ابد روشن کن.
  7. در این وضعیت، Body Node فاقد هرگونه ماژول سنسور افزونه می­باشد. پس از الگوریتم تعویض سنسور خارج شو و آن را دیگر اجرا نکن.
  8. بعد از گذشت مدت زمان Y، سنسور A خاموش و در حالت standby قرار گیرد.
  9. بعد از گذشت مدت زمان Z، مجدداً الگوریتم را با تعویض پارامترهای A و B اجرا کن.

به عنوان یک نتیجه ­گیری کلی باید به این نکته اشاره شود که برای Body Nodeها استفاده از روش standby نسبت به TMR مناسب­تر است. لذا به منظور تحمل خطای ماژول سنسور Body Node، روش standby توصیه می­ شود.

اگرچه روش standby روش خوبی است اما حالتی را مانند خُرد شدن گره Body Node می­توان تصور کرد کهیک گره Body Node به همراه ماژول­های سنسور افزونه­اش خراب شود. لذا در کاربردهای بسیار مهم باید برای حل این مشکل از یک گره جایگزین در یک نقطه­ی دیگر از بدن استفاده شود. توصیه می­ شود که Body Node جایگزین در فاصله­ی نزدیک یا چسبیده به Body Node اصلی نصب نشود. به عنوان مثال بیماری را می­توان در نظر گرفت که کنترل ضربان قلبش امری حیاتی برای وی محسوب می­ شود. به دلیل اهمیت موضوع، برای کنترل ضربان قلب، دو Body Node که یکی اصلی و دیگری جایگزین است، بر روی مچ دستش نصب می­شوند. در حالت فوق اگر به دلیل از دست دادن تعادل بیمار، مچ دست وی محکم با زمین برخورد کند، هر دو Body Node اصلی و جایگزین نابود ­می­شوند. این در حالیست که در این سناریو، کنترل ضربان قلب بیمار امری حیاتی است. لذا برای سناریوی ذکر شده بهتر است که Body Node اصلی و جایگزین در مکان­های متفاوت و دور از هم، نصب شوند. به طور مثالBody Node اصلی بر روی قلب و Body Node جایگزین بر روی مچ دست نصب شوند. در این فرایند باید به مکان Body Node جایگزین توجه کرد. به عنوان مثال اگر Body Nodeی که بر روی مچ دست نصب شده و کارش کنترل ضربان قلب است خراب شود، نمی­تواند کارهایش را به Body Nodeی که کارش کنترل دمای بدن است و بر گوش نصب شده بسپارد؛ چونکه لاله­ی گوش قادر به نشان دادن نبض نیست.

در این روش از بین دو Body Node افزونه و اصلی، یکی فعال و دیگری در حالت standby است. روش کار بدین صورت است که به محض خرابی Body Node اصلی، Master Node می ­آید و Body Nodeاصلی را به حالت standby می­برد و Body Node افزونه را فعال می­ کند. در واقع Body Node معیوب (Body Node که همه ماژول­های سنسورش خراب است) خود را در شبکه Mask می­ کند تا با این کار از ارسال اطلاعات به Master Node و مشغول کردن آن خودداری کند.

خطای MCU درBody Nodeها: ماژول MCU از دو بخش سخت­افزار و نرم­افزار تشکیل شده است. در بخش­های قبل بیان شد که خرابی بخش نرم­افزاری MCU، با روش آزمایش و اشکال­زدایی کامل قابل پیشگیری است. در Body Nodeها فرستنده و گیرنده توسط MCU کنترل می­شوند، یعنی اگر MCU خراب شود، Body Node ارتباطش را با شبکه از دست می­دهد. به بیانی خرابی بخش سخت­افزاری MCU، باعث وجود خطای پایدار در Body Node می­ شود. نتیجتاً، در Body Node اگر هر یک از واحدهای فرستنده/گیرنده یا بخش سخت­افزاری MCU خراب شوند، آنگاه ارتباط Body Node با شبکه قطع می­ شود، پس در این حالت گره در دسترس نیست.

خطای باتری در Body Nodeها: هر Body Node به منظور انجام وظایفش نیاز به انرژی دارد لذا در درون هر Body Node یک باتری کوچک تعبیه می­ شود. این باتری کوچک انرژی کل Body Node را تأمین می­ کند. با توجه به مبحث طراحی ارگونومی ( که در بخش­های آتی مطرح می­ شود) و همچنین به دلیل رعایت فاکتورهای پوشیدنی در Body Node، اندازه­ این گره باید کوچک باشد از اینرو کوچک بودن اندازه­ باتری یک فاکتور کلیدی در Body Node است. اما این باتری­های کوچک توانایی ذخیره­ی مقدار کمی از انرژی را دارند. از آنجا که عملکرد Body Node به صورت مستقیم به باتری آن وابسته است، در صورت خالی شدن باتری، Body Node دچار خطای پایدار می­گردد که این امر موجب می­ شود که شبکه یک رویداد مهم را از دست بدهد.

اگر چه به منظور مدیریت انرژی، می­توان از تکنیک­های ارائه شده در بخش انرژی از فصل قبل استفاده کرد اما لزوماً توصیه نمی­ شود. زیرا فلسفه طراحی Body Node این است که در حد امکان ساده، کوچک و ارزان باشد. همچنین باید خاطرنشان کرد که باتری Body Node با توجه به نوع فعالیتش می ­تواند برای مدت زمانی مشخص به طور مثال یک ماه انرژی را ذخیره کند. در استفاده­های حوزه سلامت به دلیل اینکه گره­ها همیشه در دسترس­اند، می­توان آنها را طوری پیاده­سازی کرد که تعویض باتری یا شارژ مجدد امکان­ پذیر باشد. به دلیل اینکه استفاده­های حوزه سلامت حیاتی می­باشند، می­توان یک زمان را برای بیماران مشخص کرد(به طور مثال روز اول هر ماه) تا باتری­های Body Nodeها را تعویض یا بصورت دستی شارژ مجدد کنند.

باتری Body Nodeها همچنین می ­تواند از نوع خود شارژ باشد؛ یعنی باتری­هایی که با حرکت، نور و … به صورت اتوماتیک شارژ می­شوند. لذا با توجه به اینکه Body Nodeها گره­های بسیار ساده­ای می­باشند، می­توانند از باتری­های خود شارژ استفاده کنند؛ و همچنین با توجه به اینکه بدن انسان مدام در حرکت است، Body Nodeها می­توانند از باتری­هایی استفاده کنند که با حرکت یا ضربان قلب شارژ می­شوند.

هر Body Node می ­تواند با بهره گرفتن از روش حد آستانه، از میزان باتری خود مطلع شود؛ کهاینکاربادقتبسیاربالا، بوسیلهتراشههایخاصی از جمله ICهای GUAGقابلانجاماست. روش کار بدین صورت است که اگر انرژی باتری از حد آستانه کمتر شد، Body Node یک پیام هشدار به Master Node و یک پیام هشدار شارژ یا تعویض باتری به Mobile Node می­دهد. به منظور در نظر گرفتن شفافیت، هشدار شارژ یا تعویض باتری Body Node، توسط گره موبایل به کاربر داده می­ شود که این مسئله به صورت مفصل در بخش تحمل خطای شفاف مورد بررسی قرار می­گیرد. Master Nodeبا دریافت پیام هشدار می­فهمد که باید Body Node با باتری ضعیف را از حالت فعال به حالت standby ببرد و به منظور جایگزینی Body Node افزونه­ی آن، باید حالت Body Node افزونه­ی آن را از standby به فعال تغییر دهد. در نهایت زمانیکه باتری Body Node معیوب، تعویض یا شارژ شد، می­توان آن را به عنوان یک Body Node افزونه برای Body Node فعال مورد استفاده قرار داد؛ با هر بار خالی شدن باتری، این چرخه می ­تواند تکرار شود.

خطای فرستنده در Body Nodeها:هر Body Node باید اطلاعات sense شده را به Master Node ارسال کند که این کار توسط واحد فرستنده در Body Node صورت می­گیرد. در این فرایند ارسال، انتخاب تکنولوژی ارتباطی مناسب بسیار مهم می­باشد. این انتخاب می ­تواند بر اساس معیارهای میزان مصرف باتری، برد انتقال اطلاعات، روش کشف خطا در تکنولوژی و حجم ماژول سخت­افزاری باشد. لذا با انتخاب یک تکنولوژی خوب می­توان با بالا بردن کارایی شبکه، میزان هزینه­ها را پایین آورد.

در انتخاب تکنولوژی ارتباطی برای Body Nodeها، باید تکنولوژی انتخابی دارای قابلیت انتشار اطلاعات را در تمامی جهات داشته باشد. به عنوان مثال می­توان حالتی را تصور کرد که امواج مایکرویو به عنوان تکنولوژی ارتباطی انتخاب شده باشند. در امواج مایکرویو انتشار اطلاعات به صورت مستقیم صورت می­گیرد، یعنی گیرنده دقیقاً باید روبروی فرستنده باشد. این در حالی است که در شبکه­ پوشیدنی امکان دارد که Body Node و Master Node دقیقاً روبروی یکدیگر نباشند. به علاوه ممکن است که گره­های Body Node یا Master Node سیار باشند، برای مثال می­توان گرهی را تصور کرد که بر روی مچ دست نصب می­ شود. بنابراین در فرایند انتخاب تکنولوژی ارتباطی، خاصیت قابلیت انتشار در تمامی جهات الزامی می­باشد.

قیمت دیگر فاکتور مهم در انتخاب تکنولوژی ارتباطی برای Body Nodeها می­باشد. از آنجا که در یک شبکه­ پوشیدنی تعداد زیادی Body Node می ­تواند وجود داشته باشد، پس این گره­ها نسبت به Master Node و Mobile Node باید ارزانتر باشند. علاوه بر این باید یادآوری کرد که در طراحی و پیاده­سازی Body Nodeها باید قیمت ارزان و ساده بودن آنها، مورد توجه قرار گیرد. از اینرو انتخاب ماژول­های ارزان قیمت برای یک Body Node ضروری است، که انتخاب تکنولوژی ارتباطی ارزان قیمت کمک می­ کند تا هدف فوق محقق گردد.

در انتخاب تکنولوژی ارتباطی باید دقت شود که تکنولوژی انتخابی، برای ادامه­ کار نیازمند ماژول­های خارجی دیگری مانند مودم یا آنتن نباشد، به عبارتی کل تکنولوژی ارتباطی قابلیت تعبیه شدن در یک Body Node را داشته باشد.

تداخل می ­تواند به عنوان یک عامل مهم برای انتخاب نوع تکنولوژی ارتباطی، در نظر گرفته شود. تداخل می ­تواند باعث بروز مشکلاتی از جمله گمشدن داده ­ها شود. در برخی از کاربردها از جمله حوزه سلامت، امکان وجود تداخل در شبکه پذیرفتنی نیست. لذا اگر برای Body Nodeها یک فناوری مانند امواج رادیویی انتخاب شود که دارای تداخل باشد، عاقلانه نیست. از مطالب ذکر شده می­توان به این نتیجه رسید که تکنولوژی ارتباطی انتخاب شده برای Body Nodeها باید تداخل نداشته باشد.

با توجه به مبحث طراحی ارگونومی که در بخش­های آتی مطرح می­ شود، در طراحی و پیاده­سازی Body Nodeها رعایت فاکتورهای پوشیدنی و کوچک بودن اندازه، مهم می­باشد. لذا در فرایند انتخاب باید به حجم تکنولوژی ارتباطی دقت شود. به بیانی دیگر باید ماژول تکنولوژی ارتباطی به مقدار کافی کم حجم باشد.

برد انتقال اطلاعات دیگر ویژگی برای تکنولوژی­های ارتباطی می­باشد. هر دو نوع گره­های Body Node و Master Node بر روی بدن نصب می­شوند. این موضوع بیانگر این است که فاصله­ی گره­ها از یکدیگر بسیار کم می­باشد که این خود یک مزیت برای شبکه­ پوشیدنی است. زیرا که هم می­توان از تکنولوژی­های ارتباطی با برد کم و هم با برد زیاد، پشتیبانی کند. اما از آنجا که فاصله­ی گره­ها از یکدیگر کم است، توصیه می­ شود که از تکنولوژی­هایی استفاده شود که برد انتقال اطلاعات­شان کم باشد.

همانطور که در بخش­های قبل بیان شد، مصرف انرژی یک بحث کلیدی در محاسبات پوشیدنی می­باشد. به عبارتی، در محاسبات پوشیدنی برای انجام کارهای مختلف از قبیل بررسی کیفیت داده یا انتخاب ماژول سخت­افزاری، باید همواره به مبحث انرژی توجه ویژه­ای شود. نوع پردازش­Body Nodeها از نوع پردازش­های جزئی می­باشد، لذا کارهای پردازشی در Body Nodeها انرژی کمی را مصرف می­ کنند، این در حالیست که در Body Nodeها، موضوعات ارتباطات بیشترین انرژی را مصرف می­ کنند. یعنی مصرف انرژی با انتخاب نوع تکنولوژی ارتباطی رابطه­ای مستقیم دارد. به عبارتی باید تکنولوژی انتخاب شده، کمترین میزان انرژی را مصرف کند.

با توجه به مطالب بیان شده در این بخش و با توجه به جدول امواج الکترومغناطیسی از فصل دوم، بلوتوث می ­تواند بهترین تکنولوژی ارتباطی برای Body Nodeها باشد. زیرا که بلوتوث قادر می­باشد تا تمام نیازها و کاستی­های مطرح شده را برطرف سازد. در واقع بلوتوث دارای ویژگی­های برد انتقال اطلاعات کم، نداشتن تداخل، قابلیت انتشار در تمامی جهات، مصرف انرژی کم، حجم کم و نیاز نداشتن به سایر تجهیزات و تکنولوژی­های اضافی، قابلیت استفاده در همه مکان­ها، قیمت ارزان و نرخ انتقال بالا می­باشد.

همچنین باید خاطرنشان کرد در صورتی که Master Node فیزیکی معیوب شود، آنگاه Body Nodeها به محض آگاهی، باید قادر به ارسال اطلاعاتشان به Master Node مجازی تعبیه شده در Mobile Node باشند. با انتخاب بلوتوث به عنوان تکنولوژی ارتباطی Body Nodeها با Master Node فیزیکی، دیگر نیازی به انتخاب تکنولوژی اضافی دیگری برای ارتباط بین Body Nodeها و Mobile Node نیست. زیرا معمولاً فاصله­ی Body Nodeها و گره Mobile Node کم می­باشد، بطوریکه بلوتوث می ­تواند این ارتباط را برقرار کند. به بیانی دیگر Body Nodeها با بهره گرفتن از تکنولوژی ارتباطی بلوتوث، قادر به برقراری ارتباط با Master Node فیزیکی و Mobile Node می­باشند.

خطای گیرنده در Body Nodeها: Body Nodeها باید ابتدا از سالم بودن Master Node خود با خبر باشند سپس اقدام به ارسال اطلاعات برای آن نمایند. هر Body Node به منظور اطلاع از سالم بودن Master Node خود نیاز به یک ماژول گیرنده دارد. روش کار بدین صورت می­باشد که در فواصل زمانی مشخص به طور مثال هر ۱۵ ثانیه یکبار Master Node با بهره گرفتن از تکنیک «رمز شب»، یک پیام مانند «سلام بچه­ها» را که بین خودش و Body Nodeهایش انحصاری است، برای تمام Body Nodeهایش ارسال می­ کند، بطوریکه هر Body Node با دریافت این پیام از سلامت Master Node خود مطلع می­ شود. اگر Body Node بعد از سپری شدن مدت زمان از پیش مشخص شده به طور مثال ۱۵ ثانیه، پیام «سلام بچه­ها» را از Master Node دریافت نکرد، می­فهمد که Master Node مورد نظر معیوب شده است.

خرابی ماژول گیرنده­ی Body Node باعث عدم اطلاع Body Node از سالم بودن Master Node می­ شود. این امر ممکن است تا زمانیکه Master Node سالم است، مهم نباشد. اما با معیوب شدن یک Master Node باید Body Nodeهایش به Master Node مجازی تخصیص یابند. به بیانی در زمانیکه Body Nodeها در فواصل زمانی مشخص پیام «سلام بچه­ها» را دریافت نکنند، تشخیص می­ دهند که Master Nodeشان معیوب است. پس Body Nodeها با ارسال پیام به Mobile Node، معیوب بودن Master Node را گزارش می­ دهند. سپس Mobile Node به منظور جایگزینی Master Node مجازی، پیام «سلام Body Node» را برای Body Nodeها ارسال می­ کند. این مسئله به صورت مفصل در بخش­های آتی شرح داده می­ شود.

همچنین در بحث مدیریت خطا که در بخش­های آتی شرح داده می­ شود بیان می­ شود، درخواست برقراری ارتباط، از سوی گره­های بالایی برای Body Node ارسال می­ شود. از اینرو خرابی ماژول گیرنده­ی Body Node باعث عدم دریافت این درخواست­ها و در نتیجه عدم ایجاد ارتباط بین Body Node و گره­های بالایی می­ شود. به بیانی، دیگر گره­ها قادر به مشاهده و پیج کردن Body Node نیستند.

خطاهای زودگذر در Body Nodeها:برخی عوامل محیطی از قبیل گرمای زیاد، سرمای شدید و غیره باعث بروز خطاهای گذرا در Body Nodeها می­شوند. از آنجا که در بیشتر سیستم­ها اکثر خطاهای ممکن از نوع گذرا می­باشند، می­توان با مدیریت خطاهای گذرا تا میزان زیادی سیستم را در برابر خطا تحمل­پذیر کرد. بنا به تعریف خطاهای گذرا، آنها پس از مدتی ناپدید می­شوند، سپس سیستم ادامه­ وظایفش را به صورت صحیح انجام می­دهد. با توجه به این تعریف ممکن است اینگونه استنباط شود که اینگونه خطاها برای Body Nodeها نگران کننده نیستند و می­توان از مدیریت خوشبینانه خطاهای گذرا استفاده کرد. اما این تفکر اشتباه است، به عنوان مثال می­توان حالتی را در نظر گرفت که فرد تحت کنترل در محیط بسیار سردی قرار بگیرد. در حالت مذبور گره Body Node کنترل کننده­ دمای بدن، دچار خطای گذرا می­ شود به گونه ­ای که پزشک دور دست برای مدت زمانی دمای درستی را از ابر دریافت نمی­کند. این دمای ارسالی می ­تواند برابر با دمای بدن یک فرد مرده باشد. در این حالت پزشک ممکن است تشخیص دهد که بیمار فوت کرده است. عواقب این تشخیص می ­تواند برای بیمار و بیمارستان هزینه­بر باشد و حتی ممکن است تشخیص فوق در روحیه بیمار تأثیر منفی بگذارد.

از مطالب بیان شده می­توان به این نتیجه رسید که خطاهای ناپایدار و متناوب در Body Nodeها باید مدیریت شوند. برای این کار بعد از پیاده­سازی یک Body Node، می­توان توسط فرایند تزریق خطا، تحمل­پذیری آنرا از تمامی جهات مورد تست قرار داد. ابتدا باید تا حد ممکن حداکثر خطاهای ناپایدار و پایدار را پیش ­بینی کرد، سپس با تزریق این خطاها به سیستم، توانایی تحمل خطای Body Nodeها را سنجید. همچنین با مشخص کردن خطاهای ناپایدار ممکن، می­توان به فرد تحت نظارت آموزش داد که چگونه از بروز این خطاها جلوگیری کند به طور مثال به وی گفته شود که فلان Body Node در محیطی که دمای آن بیشتر از حد تعیین شده باشد، دچار خطای گذرا می­ شود. نهایتاً، در یک محیط عملیاتی می­توان با بهره گرفتن از روش­های کشف خطا، از وجود خطاهای ناپایدار در یک Body Node مطلع شد و آنها را مدیریت کرد.

۳-۳-۲ Master Nodeها

Master Node رابط بین شبکه­ پوشیدنی با Mobile Node و ابر است. لذا با نگاه کردن به وظیفه و جایگاه Master Node در شبکه می­توان به نقش کلیدیش پی برد. در واقع اگر Master Node خراب شود ارتباط شبکه­ پوشیدنی با Mobile Node و ابر قطع می­ شود، به بیانی کل شبکه از کار می­افتد. از اینرو بررسی چالش­ها و تهدیداتی که Master Nodeها با آنها مواجه می­شوند، ضروری است.

در معماری سه لایه­ای ارائه شده Master Nodeها به دو دسته­ی فیزیکی و مجازی تقسیم می­شوند.Master Node فیزیکی یک گره سخت­افزاری است که در لایه­ی محاسبات پوشیدنی قرار دارد. در شرایطی که شبکه به دلایل خطاهای پایدار فاقد Master Node فیزیکی باشد، معماری سه لایه­ای از ادامه­ عملکرد باز می­ماند. به منظور تحمل خطای فوق از Master Node مجازی استفاده می­ شود. Master Node مجازی یک نرم­افزار با توانایی انجام تمامی کارهای Master Node فیزیکی است که در لایه­ی محاسبات سیار قرار دارد.

۳-۳-۲-۱ Master Node فیزیکی

هر Master Node فیزیکی از چهار بخش باتری، گیرنده، پردازنده سبک وزن[۶۸] و فرستنده تشکیل شده است. که هر یک از این اجزای داخلی Master Node احتمال خراب شدن را دارند. خطای پایدار در باتری باعث از کار افتادن کل گره می­ شود. با خرابی بخش­های فرستنده و گیرنده، علناً Master Node شبکه را به دو جزیره جدا تبدیل می­ کند. بدین صورت که اگر گیرنده خراب شود، Master Node ارتباطش را با Body Nodeها از دست می­دهد و همچنین خرابی فرستنده باعث مختل شدن ارتباطش با Mobile Node و ابر می­ شود. در آخر، اگر پردازشگر Master Node خراب شود، گره قادر به انجام ادامه­ فعالیت نمی ­باشد. در نتیجه، خرابی هر یک از چهار جزء تشکیل دهنده Master Node مساوی است با وقوع خطای پایدار در Master Node، که این امر کل شبکه را تحت الشعاع قرار می­دهد.

خطاهای فرستنده: مهمترین تهدید در Master Nodeها، ارتباطات است. از اینرو باید تکنولوژی ارتباطی انتخابی برای Master Node، تضمین کننده­ برقراری ارتباط در تمامی زمان­ها باشد. فرستنده­ی Master Node باید قادر باشد که اطلاعات را برای Mobile Node بفرستد. یک تکنولوژی ارتباطی خوب می ­تواند باعث افزایش کارایی شبکه شود همچنین با توجه به اینکه معمولاً فاصله­ی بین Master Node و Mobile Node زیاد نیست، یک تکنولوژی ارتباطی کوتاه برد برای برقراری این ارتباط کافی است.

با توجه به مطالب ذکر شده، تمام موارد مطرح شده در بخش ۳-۳-۱، درباره Master Nodeها نیز صادق است و مطابق با آن بخش، بلوتوث بهترین گزینه بعنوان تکنولوژی ارتباطی Master Nodeها می­باشد. در واقع ویژگی­های بلوتوث باعث پذیرفته شدن این تکنولوژی توسط Master Nodeها می­ شود. ویژگی­های بلوتوث عبارتند از: برد انتقال اطلاعات کم، نداشتن تداخل، قابلیت انتشار در تمامی جهات، مصرف انرژی کم، حجم کم، عدم نیاز به سایر تجهیزات و تکنولوژی­های اضافی، قابلیت استفاده در همه مکان­ها، قیمت ارزان و نرخ انتقال بالا.

در وضعیتی که گره Mobile Node قادر به انجام وظایف خود نباشد، باید آنرا از توپولوژی شبکه حذف کرد. با حذف گره Mobile Node، شبکه قادر به برقراری ارتباط با ابر نیست. در این شرایط Master Node باید ارتباط شبکه را با ابر برقرار کند. اما به دلیل برد کم بلوتوث، Master Node قادر به برقراری ارتباط با ابر نیست. از مطالب بیان شده نتیجه می­ شود که در تمامی کاربردها، هر Master Node علاوه بر بلوتوث، نیاز به یک تکنولوژی ارتباطی بلند برد دارد. که این تکنولوژی بلند برد دارای دو مزیت می­باشد: ۱- برقراری ارتباط Master Node با ابر، در صورت خرابی Mobile Node. 2- در زمانیکه Master Node از طریق بلوتوث اطلاعاتش را به Mobile Node ارسال می­ کند اگر بنا به هر دلیلی بلوتوث خراب شود، ارتباط Master Node با Mobile Node قطع می­ شود، که به منظور تحمل این خطا می­توان از تکنولوژی ارتباطی بلند برد برای ارتباط با Mobile Node استفاده کرد. به بیانی در این حالت تکنولوژی ارتباطی بلند برد به عنوان تکنولوژی ارتباطی افزونه استفاده می­ شود.

خطای گیرنده: Master Node ابتدا باید از سلامت Mobile Node مطمئن باشد سپس اقدام به ارسال اطلاعات برای Mobile Node کند. هر Master Node به منظور اطلاع از سلامت Mobile Node، به یک ماژول گیرنده نیاز دارد. روش کار به منظور رسیدن به هدف فوق بدین شرح است که Mobile Node می ­تواند در فواصل زمانی مشخص پیام «سلام Master Node» را برای Master Node ارسال کند. به عبارتی Master Node با دریافت پیام «سلام Master Node» تشخیص می­دهد که گره Mobile Node سالم است. اما اگر در فاصله­ی زمانی از قبل مشخص شده، پیام مذبور را دریافت نکند، متوجه می­ شود که Mobile Node معیوب شده است.

در ادامه بیان می­ شود که برقراری ارتباط بین Master Node و Mobile Node به دو طریق قابل انجام است.

حالت اول: همانطور که در شکل ۳-۱۳ مشخص است، در این حالت پیام­های «سلام Master Node» و «Master Nodeسلام می­رساند» در تمامی شبکه­ ها مشترک است. لذا در این حالت تعداد ارسال اطلاعات Master Node به Mobile Node زیاد است؛ همچنین به دلیل مشترک بودن پیام «سلام Master Node»، ممکن است Master Node قادر به تشخیص خرابی Mobile Node خود نباشد. از اینرو حالت اول برای برقراری ارتباط بین Master Node و Mobile Node توصیه نمی­ شود.

شکل ۳-۱۳: برقراری ارتباط بین Mobile Node و Master Node در حالت اول

حالت دوم: مطابق شکل ۳-۱۴، در حالت دوم پیام­های ارسالی توسط گره­ها، منحصر به فرد می­باشند بطوریکه با این پیام­ها هم می­توان Master Node را از سلامت Mobile Node باخبر کرد و هم این پیام­ها را به عنوان رمز شب برای احراز هویت مورد استفاده قرار داد.

شکل ۳-۱۴: برقراری ارتباط بین Master Node و Mobile Node در شبکه A و در حالت دوم

نتیجتاً، اگر ماژول گیرنده­ی Master Node خراب شود، آنگاه سه مشکل به وجود می ­آید.

  1. Master Node توانایی تشخیص سالم بودن Mobile Node را ندارد.
  2. اطلاعات حس شده توسط Body Nodeها، قابل دریافت نیستند.
  3. به منظور برقراری ارتباط، Mobile Node قادر به مشاهده و پیج کردن Master Node نیست.

به عبارتی خرابی ماژول گیرنده باعث وقوع خطای پایدار در Master Node می­ شود. برای تحمل­پذیر کردن Master Node در برابر این خطا می­توان از افزونگی­های TMR و standby استفاده کرد. که لزوماً توصیه می­ شود از روش standby استفاده شود و تعداد گیرنده­ها در هر Master Node دو عدد باشند. بدین صورت که گیرنده­ی اصلی در حالت فعال و گیرنده­ی افزونه در حالت standby باشد. در این روش به منظور تشخیص خرابی ماژول گیرنده، نیاز به استفاده از تکنیک­های کشف خطا می­باشد، که این کار توسط پردازشگر Master Node، انجام می­ شود، اگرچه این کار پیچیدگی نرم­افزاری را افزایش می­دهد اما در اکثر مواقع قابل چشم پوشی است.

در روش standby تشخیص خرابی گیرنده اصلی یک چالش مهم است. در تحقیق فوق به منظور حل این چالش، الگوریتم «تعویض گیرنده» ارائه می­ شود. در زیر الگوریتم تعویض گیرنده شرح داده شده است.

  1. گیرنده A در حالت فعال و گیرنده B در حالت standbyقرار گیرند.
  2. بعد از گذشت مدت زمان X، گیرنده B نیز فعال شود بگونه­ای که گیرنده­های A و B همزمان با هم فعال باشند در این حالت به مدت زمانی که هر دو گیرنده فعال هستند بازه چک گفته می­ شود.
  3. در بازه چک مقادیر دریافتی توسط هر دو گیرنده را با هم مقایسه کن.
  4. اگر مقادیر دریافت شده یکسان بودند آنگاه هر دو گیرنده سالم می­باشند و به مرحله ۸ برو، در غیر اینصورت به مرحله ۵ برو.
  5. یکی از گیرنده­ها معیوب است پس مقادیر دریافتی هر دو گیرنده را با رمز شب­های از قبل مشخص شده، مقایسه کن.
  6. گیرنده­ای که مقادیرش با رمز شب­ها تناقض دارد، خراب است پس آن را تا ابد خاموش کن و دیگر از آن به عنوان ماژول گیرنده افزونه استفاده نکن. سپس گیرنده سالم را تا ابد روشن کن.
  7. در این وضعیت، Master Node فاقد هرگونه ماژول گیرنده افزونه می­باشد. پس از الگوریتم تعویض گیرنده خارج شو و آن را دیگر اجرا نکن.
  8. بعد از گذشت مدت زمان Y، گیرنده A خاموش و در حالت standby قرار گیرد.
  9. بعد از گذشت مدت زمان Z، مجدداً الگوریتم را با تعویض پارامترهای A و B اجرا کن.

همانطور که مشاهده شد، در روش standby تشخیص خرابی گیرنده با بهره گرفتن از الگوریتم «تعویض گیرنده»، انجام می­ شود. شکل ۳-۱۵افزونگیstandbyرا برایماژولگیرندهدر یکMaster Node نشان می­دهد.

 

Transmitter

باتری

Light Processing
R1 | R2

شکل ۳-۱۵: افزونگی standbyبرای ماژول گیرنده در Master Node­ها

خطای پردازشگر: کار Master Node پردازش اولیه می­باشد همچنین در هر Master Node، ماژول پردازشگر کنترل فرستنده و گیرنده را بر عهده دارد از اینرو وجود خطای پایدار در پردازشگر Master Node، بر تمامی ماژول­های Master Node تأثیر می­ گذارد. در چنین شرایطی استفاده از پردازشگر افزونه توصیه نمی­ شود زیرا فلسفه طراحی Master Node، بر روی سادگی و مبرّا بودن از پیچیدگی مانور می­دهد؛ بنابراین در چنین حالتی استفاده از Master Node افزونه توصیه می­ شود. باید خاطرنشان کرد که Master Node افزونه در شبکه ­های چند Master Nodeی هم از نوع فیزیکی و هم از نوع مجازی است ولی در شبکه ­های تک Master Nodeی از نوع مجازی می­باشد.

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

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

روش دیگر به منظور پیشگیری از خالی شدن باتری، استفاده­ی همزمان از دو تکنولوژی ارتباطی متفاوت است. Master Node به دو نوع تکنولوژی ارتباطی بلند برد و بلوتوث مجهز است. حال اگر انتقال بلند برد نسبت به بلوتوث انرژی بیشتری را مصرف ­کند، آنگاه به منظور ذخیره­ی انرژی، Master Node می ­تواند برای ارسال اطلاعات به Mobile Node از تکنولوژی بلوتوث استفاده کند و در مواردی خاص برای ارسال اطلاعات به ابر از تکنولوژی ارتباطی بلند برد استفاده کند.

دیگر روش پیشگیری از خراب شدن باتری، استفاده از باتری با کیفیت عالی است. اگرچه هزینه­ های مالی یکی از محدودیت­های طراحی و پیاده­سازی خوب Master Nodeها می­باشد. اما در مرحله­ طراحی باید به تفاوت Body Nodeها و Master Nodeها توجه شود. از آنجا که تعداد زیادی سنسور در یک شبکه­ پوشیدنی وجود دارد پس باید هزینه­ Body Nodeها کم باشد. اما باید یادآوری کرد که در یک شبکه­ تک Master Nodeی، تنها یک Master Node فیزیکی وجود دارد، همچنین در شبکه ­های چند Master Nodeی تعداد Master Nodeها بسیار کمتر از Body Nodeهاست؛ این امر باعث می­ شود که در انتخاب باتری و اجزاء سازنده­ی Master Node، قطعات با کیفیت­تری مورد استفاده قرار گیرد.

اگرچه رعایت فاکتورهای پوشیدنی و معیارهای ارگونومی در طراحی و پیاده­سازی Master Nodeها ضروری است اما اگر اندازه­Master Node تا میزان قابل قبولی بزرگ باشد، اشکالی ندارد. زیرا که محل قرار گیری Master Node در توپولوژی شبکه ثابت نیست و می ­تواند در هرجا قرار گیرد. به طور مثال اگر به علت اندازه­ بزرگ نشود که آنرا به عنوان یک دستبند استفاده کرد، می­توان آنرا بر روی کمربند نصب کرد، این درحالیست که یک Body Node که مسئولیت کنترل ضربان قلب را دارد نمی­تواند در هر مکان از توپولوژی شبکه قرار گیرد.

امروزه به منظور ذخیره حرکات و فعالیت­های انسان انواع مختلفی از کامپیوترهای پوشیدنی از قبیل Fitbit و Misbit Shine توسط کارخانه­های سازنده، تولید می­ شود. طراحی این محصولات شبیه طراحی Master Node می­باشد. طراحی Fitbit به صورتی است که بر روی مچ دست نصب می­ شود و به عنوان یک دستبند مورد استفاده قرار می­گیرد.

از مطالب ذکر شده می­توان به این نتیجه رسید که طراحی و پیاده­سازی گره Master Node با Body Node متفاوت است. بطوریکه می­توان تا اندازه­ قابل قبولی از هزینه­ های اقتصادی و بزرگ بودن اندازه­ Master 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 تشخیص می­دهد و بعد Body Node معیوب را از ساختار شبکه حذف و سپس یک Body Node افزونه را جانشین آن می­ کند.

اما در روش چک کردن فعالیت، Body Node خودش خرابی خود را تشخیص می­دهد و بلافاصله خود را Mask می­ کند و دیگر چیزی را برای Master Node ارسال نمی­کند. به عبارتی Body Node خراب خودش را از توپولوژی شبکه حذف می­ کند، Master Node در این حالت Body Node را چک می­ کند تا بفهمد داده ارسال می­ شود یا نه؛ اگر Master Node تشخیص دهد که Body Node هیچ داده­ای را برایش ارسال نمی­کند، آنگاه یک Body Node افزونه را جایگزین آن می­ کند. البته این روش کارا نیست زیرا Master Node همیشه به سبب سرکشی مداوم Body Nodeها مشغول است. برای رفع مشکل این روش توصیه می­ شود که Master Node به صورت مداوم از Body Nodeها سرکشی نکند، در عوض Body Node معیوب قبل از Mask کردن خود، یک پیام «مُردم» را برای Master Node ارسال کند. سرانجام Master Node با دریافت این پیام یک Body Node افزونه را جایگزین آن می­ کند.

سخت­افزار و نرم­افزار Master Nodeها نسبت به Body Node­ها پیشرفته­تر است. به عبارتی در مقایسه با Body Node­ها، آنها قادر به اجرای الگوریتم­ها و محاسبات پیچیده­تری هستند. لذا Master Nodeها می­توانند مدیریت داده ­ها را در سطح بالاتری انجام دهند، به طور مثال بررسی کیفیت داده یکی از مباحث مدیریت داده است که می ­تواند توسط Master Node و در سطح بالاتری نسبت به Body Node انجام شود.

۳-۳-۲-۲ Master Node مجازی

Master Node نقش مهمی را در معماری سه لایه­ای ارائه شده ایفا می­ کند. از اینرو وجود گره Master Node در شبکه یک نیاز محسوب می­ شود. در معماری ارائه شده اگر بنا به هر دلیلی Master Node فیزیکی از کار بیافتد، بگونه­ای که قادر به انجام ادامه­ وظایفش نباشد، آنگاه شبکه قادر به ادامه دادن فعالیتش نیست. در این شرایط به منظور تحمل خطای فوق، Mobile Node گره Master Node فیزیکی معیوب را از ساختار شبکه حذف می­ کند و با خبردار کردن Body Nodeها از معیوب بودن Master Nodeشان، به آنها فرمان می­دهد تا اطلاعات حس شده­شان را برای Mobile Node ارسال کنند.

ممکن است فرایند ارسال مستقیم اطلاعات از Body Nodeها به Mobile Node با این ایده همراه باشد که Master Node از ساختار شبکه حذف شده و Mobile Node خود، جایگزین آن شده است. اما واقعیت امر این است که با توجه به نقش کلیدی Master Node، نمی­ توان آنرا از ساختار شبکه حذف کرد. پس باید فرایند ارسال اطلاعات از Body Nodeها به Mobile Node بگونه­ای باشد که Body Nodeها فکر کنند اطلاعاتشان را برای یک Master Node می­فرستند و در طرف مقابل نرم­افزار Mobile Node فکر کند که اطلاعاتش را از یک Master Node می­گیرد. دلیل این امر اهمیت انجام کارها بصورت سلسله مراتبی در بین گره­هاست. به بیانی باید مشکل فوق بگونه­ای حل شود که سلسله مراتب کارها در معماری سه لایه­ای ارائه شده حفظ شود. واقعیت امر این است که برای تحقق هدف فوق به یک Master Node نیاز است و این در حالیست که شبکه­ ما فاقد هرگونه Master Node فیزیکی است.

با توجه به مطالب بیان شده، وجود یک Master Node مجازی در شبکه نیاز است. در واقع یک Master Node مجازی به صورت نرم­افزاری در گره Mobile Node ایجاد می­ شود. به منظور درک بهتر می­توان Master Node مجازی را شبیه کیبرد مجازی ویندوز تصور کرد که در صورت خرابی کیبرد فیزیکی، می­توان از آن استفاده کرد. به بیانی ساده­تر Master Node مجازی یک نرم­افزار است که توانایی انجام تمام کارهای Master Node فیزیکی را دارد. Mobile Node ابتدا Master Node فیزیکی معیوب را از ساختار شبکه حذف می­ کند، سپس به Body Nodeهای آن فرمان می­دهد که اطلاعاتشان را برای Master Node مجازی ارسال کنند، این کار سبب می­ شود که Body Nodeها متوجه نبود Master Node فیزیکی در شبکه نشوند. همچنین Master Node مجازی با دریافت این اطلاعات، مانند یک Master Node فیزیکی آنها را پردازش می­ کند و نتایج پردازش را به نرم­افزار Mobile Node می­دهد. لازم به ذکر است که در فرایند مذکور، نرم­افزار Mobile Node بگونه­ای طراحی می­ شود که داده ­ها و اطلاعات مورد نیازش را از Master Node مجازی می­گیرد.

خطاها و خرابی­های Master Node مجازی نسبت به Master Node فیزیکی متفاوت است. Master Node مجازی یک نرم­افزار، واقع در Mobile Node است؛ بنابراین تهدیدات آن مانند تهدیدات نرم­افزارMobile Node است. به عنوان مثال hang کردن Mobile Node باعث وقوع خطای پایدار در Master Node مجازی می­ شود. این تهدیدات و راه­ حل­های آنها در بخش ۳-۳-۶ و در قسمتخرابیدرنرم­افزارMobile Nodeها به تفضیل شرح داده می­شوند. شکل ۳-۱۶ برقراری ارتباط بین Mobile NodeوBody Nodeرا درشبکهA نشان می­دهد.

شکل ۳-۱۶: برقراری ارتباط بین Mobile Node و Body Node در شبکه A

۳-۳-۲-۳ شبکه ­های چندMaster Nodeی

بحث دیگری که در مورد Master Nodeها مطرح می­باشد، این است که در شبکه­ ها با تعدادBody Nodeهای فراوان، در هر زمان چه تعداد Master Node در شبکه فعال باشد. یعنی آیا تمام Body Nodeها اطلاعات­شان را فقط برای یک Master Node واحد بفرستند. که در این حالت آن Master Node به دلیل فعالیت­های زیاد از قبیل دریافت زیاد، پردازش زیاد، ارسال زیاد، انرژی زیادی را مصرف می­ کند. به بیانی دیگر یک Master Node توسط تعداد زیادی Body Node تغذیه می­ شود که این باعث می­ شود که Master Node مدام در حال انجام فعالیت شدید و مصرف انرژی باشد. همچنین در چنین شرایطی بحث­های پیچیده­ای از قبیل مدیریت کانال، تصادف و پر شدن حافظه­ Master Node به وجود می ­آید که هر کدام نیاز به الگوریتم­ها و محاسبات پیچیده دارند. استفاده از یک Master Node فعال، برای شبکه­ ها و کاربردهایی از جمله حوزه سلامت توصیه می­ شود که تعداد Body Node­هایشان کم است.

با توجه به مطالب ذکر شده می­توان به این نتیجه رسید که در شبکه­ هایی که دارای Body Nodeهای فراوانی می­باشند، بهتر استبه منظور تقسیم بار و فعالیت، همزمان چند Master Node در شبکه در حالت فعال باشد. در این تحقیق، این دسته از شبکه­ ها با نام «شبکه ­های چند Master Nodeی» شناخته می­شوند.

اگر بنا به دلایلی از قبیل خطاهای پایدار یک Master Node خراب شود، آنگاه این خرابی بر کل سیستم تأثیرگذار است به بیانی خطا به یک مؤلفه­ی خاص محدود نمی­ شود و محدوده­ خطا کل سیستم می­باشد. یعنی در این حالت با حذف Master Node معیوب از توپولوژی شبکه، سیستم نمی­تواند مشکل را حل کند. در شرایط فوق افزونگی سخت­افزاری می ­تواند بهترین گزینه برای حل مشکل باشد. در این حالت Master Nodeهای افزونه در حالت standby قرار می­گیرند.

به عنوان مثال حالتی را می­توان تصور کرد که در شبکه­ پوشیدنی سه Master Node با نامهای A، B و C در حال فعالیت می­باشند. همچنین این شبکه­ شامل ۱۵ عدد Body Node­ می­باشد. در این حالت به منظور تقسیم فعالیت بین Master Nodeها، A به Body Nodeهای ۱ تا ۵، B به Body Nodeهای ۶ تا ۱۰ و C به Body Nodeهای ۱۱ تا ۱۵ تخصیص می­یابند. در این حالت A یک قطعه­ی افزونه با نام، B یک قطعه­ی افزونه با نام و C یک قطعه­ی افزونه با نام دارند. که هر کدام از Master Nodeها در صورت خرابی فقط مجاز می­باشند که از افزونه­ی همنام خود استفاده کنند.

در حالت فوق می­توان حالتی را در نظر گرفت که A خراب شده و از افزونه­اش که است، استفاده می­ کند. حال اگر هم خراب شود، با وجود بیکار بودن و ، Body Nodeهای ۱ تا ۵ اطلاعاتشان را مستقیم به Master Node مجازی تعبیه شده در Mobile Nodeارسال می­ کنند که این کار توصیه نمی­ شود. راه­حل دیگر می ­تواند این باشد که Body Nodeهای ۱ تا ۵ را به B و C تخصیص دهیم. بدین صورت که Body Nodeهای۱ تا ۳ به Bو Body Nodeهای۴ و ۵ را به C بدهیم، که این کار نیز توصیه نمی­ شود. زیرا علیرغم بیکار بودن و ، فعالیت­های B و C زیادتر شده است.

از مطالب ذکر شده می­توان به این نتیجه رسید که هر Master Node باید قادر به استفاده از همه Master Nodeهای افزونه باشد. و در صورتی که همه افزونه­ها نیز خراب شدند آنگاه Body Nodeهای متعلق به Master Node خراب به Master Nodeهای سالم تخصیص یابد. در آخر اگر تمام Master Nodeها خراب شدند، آنگاه تمام Body Nodeها خودشان مستقیماً اطلاعاتشان را به Master Node مجازی تعبیه شده در Mobile Nodeارسال کنند. برای درک بهتر حالتی را می­توان در نظر گرفت که در سناریوی ذکر شده اگر A خراب شد باید از استفاده کرد و اگر خراب شد باید از استفاده کرد و اگر خراب شد باید از استفاده کند و اگر خراب شد باید Body Nodeهایش به B و C تخصیص یابد. حال اگر B خراب شود باید Body Nodeهایش به C تخصیص یابد در آخر اگر C که تنها Master Node باقیمانده است، خراب شود، باید Body Nodeها خودشان اطلاعاتشان را به Master Node مجازی تعبیه شده در Mobile Nodeارسال کنند.

در شبکه ­های چندMaster ی هر لحظه این امکان وجود دارد که کلیه­ Master Nodeهای فیزیکی از کار بیافتند، این در حالیست که ممکن است، این شبکه­ ها در کاربردهای حیاتی مورد استفاده قرار گیرند. باید خاطرنشان کرد که در کاربردهای حیاتی ریسک معنا ندارد. گرچه احتمال از کار افتادن همه Master Nodeها کم است ولی باید در هر لحظه شبکه آمادگی برخورد با چنین مشکلی را داشته باشد. اگر همه Master Nodeها خراب شوند آنگاه ارتباط Body Nodeها با لایه­ های Mobile Node و ابر قطع می­ شود. همچنین اگر Body Node­ها بدون آگاهی از این مسأله مدام داده­هایی را برای Master Nodeها بفرستند، بیهوده انرژیشان اتلاف می­ شود. لذا به محض از کار افتادن Master Node، باید Body Nodeهای آن از این قضیه مطلع شوند تا از ادامه­ ارسال اطلاعات به Master Nodeها و مصرف بیهوده انرژی خودداری کنند.

از مطالب ذکر شده می­توان نتیجه گرفت که با از کار افتادن تمام Master Nodeهای شبکه باید بلافاصله Body Nodeها از این موضوع آگاه شوند. پس از آگاهی Body Nodeها، تحت هر شرایطی نباید شبکه از انجام صحیح عملیات باز بماند. لذا باید هر Body Node اطلاعات دریافتی را به Master Nodeمجازی تعبیه شده در Mobile Node ارسال کند. با توجه به اینکه فاصله­ی Body Nodeها تا Mobile Node کم است، تکنولوژی بلوتوث برای این کار مناسب است.

تحمل خرابی باتری: در شبکه ­های چند Master Nodeی به منظور تحمل خرابی باتری، بجای باتری افزونه از Master Node افزونه استفاده می­ شود. در چنین شبکه­ هایی اگر Master Node معیوب باتریش از حد آستانه کمتر شود، به حالت standby می­رود. اما سؤالی که ممکن است مطرح شود این است که یک Master Node تا چه میزانی باید شارژ باتری داشته باشد که ما آن را به عنوان گره معیوب در نظر گرفته و سراغ گره جایگزین بگردیم؟ به بیانی حد آستانه باتری چقدر باشد؟ به منظور پاسخ به سؤال فوق، در این تحقیق الگوریتمی تحت عنوان «حد آستانه­ باتری» ارائه می­ شود. الگوریتم مذبور مینیمم انرژی باتری Master Node را برای کارهای آتی حساب و بر حسب درصد نشان می­دهد. الگوریتم «حد آستانه­ باتری» به شرح زیر است.

  1. هزینه­ باتری برای ارسال اطلاعات حس شده فعلی A= .
  2. هزینه­ باتری برای تبادل پیام با Mobile Node (به منظور آگاه­سازی Mobile Node از کمبود باتری Master Node) B = .
  3. هزینه­ باتری برای قطع ارتباط و خاموش شدن Master Node = C .
  4. C + B + A = D .D مینیمم انرژی باتری برای کارهای آینده Master Node است.
  5. D را بر حسب درصد در خروجی نشان بده.

روش کار بدین شکل است که در صورت وجود Master Node افزونه، گره Mobile Node تمام Body Nodeهای Master Node معیوب را به Master Node افزونه تخصیص می­دهد، بطوریکه Master Node افزونه، ادامه­ فعالیت­های Master Node معیوب را انجام می­دهد و در آخر گره Mobile Node، Master Node معیوب را به حالت standby می­برد؛ که اگر در این حالت شارژ باتری Master Node خالی شده باشد، می­توان آنرا شارژ کرد و به عنوان Master Node افزونه مورد استفاده قرار داد.

اما اگر در سناریوی ذکر شده، هیچ Master Node افزونه­ای در شبکه موجود نباشد، باید به منظور تحمل این خرابی از مکانیزم hand-off استفاده کرد. بدین صورت که گره Mobile Node به منظور واگذاری فعالیت­های Master Node معیوب، از میان Master Nodeهای موجود در شبکه، Master Nodeی را که دارای بیشترین انرژی است انتخاب می­ کند.

به بیانی ساده­تر هنگامی که هیچ Master Node افزونه­ای در شبکه وجود ندارد، Master Node معیوب باید Body Nodeهایش را به یک Master Node سالم واگذار کند. حال برای این کار Master Node جانشین باید بقدر کافی انرژی لازم را داشته باشد، از اینرو Master Nodeی که بیشترین انرژی را دارد برای اجرای سرویس­های Master Node معیوب انتخاب می­ شود. سپس Master Node معیوب توسط گره Mobile Node به حالت standby می­رود. این فرایند در شکل ۳-۱۷ نشان داده شده است.

شکل ۳-۱۷: تحمل خرابی باتری Master Node در شبکه ­های چند Master Nodeی که فاقد Master Node فیزیکی افزونه هستند

توضیح شکل ۳-۱۷ بدین صورت است که اگر انرژی یک Master Node از حد آستانه پایین­تر آید، آنگاه Master Node مذبور به عنوان یک گره معیوب در شبکه شناخته می­ شود و باید با پیام « من معیوب هستم » معیوب بودنش را به Mobile Node اطلاع دهد. اگر هیچ Master Node افزونه­ای در شبکه موجود نباشد آنگاه Mobile Node با بهره گرفتن از تکنیک hand-off، یک Master Node را به عنوان جانشین انتخاب می­ کند. سپس پیام «شما به عنوان جانشین انتخاب شدید» را برای Master Node جانشین می­فرستد و در جواب، اگر Master Node جانشین هیچ مشکلی برای جانشینی نداشته باشد یک پیام تصدیق برای او می­فرستد. در پایان Mobile Node، تمامی Body Nodeهای Master Node معیوب را به Master Node جانشین تخصیص می­دهد.

بطور کلی اگر باتری Master Node معیوب خراب شده باشد، باید آنرا تعویض کرد. اما اگر باتری آن خالی شده باشد می­توان آنرا شارژ کرد، یعنی در زمانی که Master Node در حالت standby است، کاربر آنرا شارژ کند. با پر شدن شارژ باتری Master Node معیوب، دیگر خطای آن رفع شده است، پس می­توان از آن به عنوان یک Master Node افزونه برای Master Nodeهای دیگر استفاده کرد.

مدیریت خطا: در شبکه ­های چندMaster Nodeی و در بحث مدیریت Master Nodeها این سؤال مطرح است که مدیریت Master Node معیوب از طریق Mobile Node انجام شود یا اینکه توسط دیگر Master Nodeهای شبکه صورت گیرد. توصیه می­ شود که این مدیریت توسط Mobile Node انجام گیرد، زیرا Master Nodeها نسبت به Mobile Node دید کمتری از شبکه دارند. از آنجا که مدیریت Master Node معیوب بر عهده­ Mobile Node است پس باید به محض معیوب شدن یک Master Node، گره Mobile Node از این قضیه آگاه شود. این آگاه­سازی توسط چک کردن فعالیت بدین صورت انجام می­گیرد که اگر بعد از گذشت مدت زمانی Master Node با Mobile Node ارتباط نداشته باشد، آنگاه Mobile Node می­فهمد که Master Node مورد نظر، معیوب شده است.Mobile Node بعد از باخبر شدن، یکی از سه کار مهم زیر را انجام می­دهد.

  1. یک Master Node افزونه را به Body Nodeهای متعلق به Master Node معیوب تخصیص می­دهد، بدین صورت که به تمام Body Nodeهای آن اطلاع می­دهد که داده­هایشان را به Master Node افزونه ارسال کنند.
  2. اگر هیچ Master Node افزونه­ای در شبکه نباشد، آنگاه Mobile Node با بهره گرفتن از تکنیک hand-off، بار Master Node معیوب را بین Master Nodeهای سالم تقسیم می­ کند. Master Nodeهای سالم نیز می­توانستند این تقسیم بار را انجام دهند اما با توجه به اینکه مدیریت Master Nodeها بر عهده­ Mobile Node است، توصیه می­ شود که تکنیک hand-off را Mobile Node انجام دهد، زیرا دید بهتری به شبکه دارد.
  3. اگر Master Node معیوب شده تنها Master Node موجود در شبکه باشد، آنگاه Mobile Node خود جایگزین Master Node معیوب می­ شود و اطلاعات را از کل Body Nodeهای شبکه می­گیرد. در این حالت Body Nodeها بعد از آگاهی از خرابی تنها Master Node موجود در شبکه، به فرمان Mobile Node، داده­هایشان را با بلوتوث به Master Node مجازی تعبیه شده در Mobile Node ارسال می­ کنند.

نتیجتاً در شبکه ­های چند Master Nodeی، Master Node معیوب توسط گره­های هم سطح یعنی دیگر Master Nodeها مدیریت نمی­ شود و این مدیریت خطا توسط گره بالایی صورت می­گیرد. بدین صورت که هر Master Node خطای خود را کشف می­ کند، سپس توسط پیامی Mobile Node را از این خطا آگاه می­ کند. در نهایت Mobile Node فرمان مناسب را به منظور مدیریت خطا صادر می­ کند.

خطاهای گذرا و متناوب: خطاهای گذرا دیگر تهدید برای Master Nodeها می­باشند. با توجه به اینکه در سیستم­های مختلف اکثر خطاها از نوع گذرا و متناوب می­باشند، لذا Master Nodeها باید قابلیت تحمل این نوع خطاها را داشته باشند. Master Nodeها در هر زمان باید آماده­ی دریافت، پردازش و ارسال اطلاعات باشند. در بحث Body 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 سالم در شبکه، 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 کر است. عملکرد الگوریتم «شناسایی گیرنده کر» به شرح زیر است.

  1. در بازه زمانی X به لینک بین Master Node و Mobile Node گوش کن، اگر پیام «سلامMaster Node» را از Mobile Node دریافت نکردی، به مرحله ۲ برو، در غیر اینصورت از الگوریتم خارج شو (X دو برابر فاصله زمانی است که Mobile Node پیام­هایش را در شبکه پخش می­ کند).
  2. از این لحظه تا زمان Y، اگر پیام­های «سلام ارباب» را از سوی Body Nodeها دریافت نکردی یا داده­هایی را از Body Nodeها دریافت نکردی به مرحله ۳ برو، در غیر این صورت به مرحله ۴ برو.
  3. گیرنده اصلی Master Node خراب است، تا ابد آنرا خاموش و گیرنده standby، را تا ابد روشن کن، سپس به مرحله یک برو.
  4. یک پیام هشدار مبنی بر خراب بودن Mobile Node، برای ابر و موبایل­های اطراف ارسال کن.

باتری: خوشبختانه شرکت­های سازنده­ی Mobile Nodeها امروزه به نوع باتری محصولاتشان توجه ویژه­ای دارند. بگونه­ای که این باتری­ها با داشتن حجم کم می­توانند برای ساعت­های طولانی انرژی لازم را در خود ذخیره کنند. علاوه بر مزایای فوق باید خاطرنشان کرد که باتری­های Mobile Nodeها قابل شارژ می­باشند، همچنین در صورت خرابی باتری، می­توان آن را به سادگی تعویض کرد.

تکنولوژی ارتباطی: با توسعه و پیشرفت Mobile Nodeها، آنها قادر به پشتیبانی از انواع مختلف تکنولوژی­های ارتباطی می­باشند. همچنین کارخانه­های سازنده­ی این دستگاه­ها، معمولاً چندین نوع مختلف از تکنولوژی­های ارتباطی را به صورت همزمان در یک Mobile Node تعبیه می­ کنند. لذا مباحثی که در بحث انتخاب تکنولوژی ارتباطی وجود دارند از قبیل میزان مصرف باتری، برد انتقال اطلاعات، روش کشف خطا در تکنولوژی ارتباطی و حجم ماژول، دیگر برای Mobile Nodeها نگران کننده نیست، زیرا کارخانه­های سازنده این مسائل را در طراحی و پیاده­سازی به خوبی مد نظر قرار داده­اند بطوریکه کاربر می ­تواند با توجه به شرایط، مناسب­ترین تکنولوژی را انتخاب کند.

اما دلایل مختلفی از جمله قطعی اینترنت می ­تواند باعث قطع ارتباط Mobile Node با ابر شوند. در چنین شرایطی Mobile Node به صورت اتوماتیک و از طریق پیامک یا تماس اضطراری، دکتر و مسئول معماری سه لایه­ای را از این قطعی ارتباط آگاه می­ کند.

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

کدهای بداندیش[۷۱] دیگر تهدیدات برای نرم­افزار دستگاه­های لایه­ی دو می­باشند. لایه­ی دوم به منظور ارتباط با ابر، دسترسی مستقیم به اینترنت دارد، این در حالیست که اینترنت بخاطر وجود افراد غیرمجاز و برنامه ­های مخرب، فضای ناامنی است. همچنین معمولاً افراد تحت نظارت مانند سالمندان، کاربرانی هستند که اطلاعاتی درباره کامپیوترها ندارند و خیلی سریع در دام افراد غیرمجاز و برنامه ­های مخرب اسیر می­شوند، بگونه­ای که لایه­ی دوم خراب می­ شود. به منظور تحمل این خرابی دو روش پیشنهاد می­ شود که البته هر دو روش باید با هم و در کنار هم مورد استفاده قرار بگیرند.

روش اول این است که افراد متخصص برای دستگاه لایه­ی دوم آنتی­ویروسی را در نظر بگیرند و نصب کنند که همیشه فعال باشد، و از آنجا که این لایه بخاطر ارتباطش با ابر دارای اینترنت است به صورت اتوماتیک و بدون اطلاع کاربر به مرکز پشتیبانی آنتی­ویروس وصل شود و آنرا بروز رسانی کند. روش دوم این است که برای اجرای نرم­افزار کاربر فقط آن نرم­افزار را باز کند بطوریکه ارتباط لایه دوم با کامپیوترهای پوشیدنی و ابر و همچنین پردازش داده ­ها در لایه دوم به صورت اتوماتیک و بدون دخالت کاربر صورت پذیرد. همچنین برای اجتناب از آسیب رساندن کاربر به نرم­افزار، می­توان محیط نرم­افزار را از دید کاربر مخفی کرد. بدین صورت که به محض اجرای نرم­افزار فقط آیکن کوچکی در گوشه­ی صفحه ظاهر شود و کاربر قادر به مشاهده­ محیط نرم­افزار و ایجاد تغییر در نرم­افزار، نباشد.

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

در بحث نصب مجدد نرم­افزار می­توان با روشی کاملاً ساده، نصب آنرا برای افراد با هر دانشی امکان­ پذیر کرد. بدین صورت که یک نسخه از نرم­افزار سالم در مکانی از حافظه­ گره موبایل قرار داده شود که این نسخه افزونه است. سپس بعد از خرابی نرم­افزار، باید کاربر با مسئول سه لایه تماس بگیرد و به منظور کسب اجازه از او یک نام کاربری و رمز دریافت کند. حال کاربر می ­تواند نرم­افزار افزونه را اجرا کند و نام کاربری و رمز را وارد کند تا نرم­افزار نصب شود. فرایند نصب باید بدین صورت باشد که کاربر پس از وارد کردن نام کاربری و رمز عبور هیچ دخالتی در حذف نرم­افزار خراب و نصب نرم­افزار جدید نداشته باشد به بیانی باید این دو کار به صورت اتوماتیک انجام گیرند.

اما در این فرایند نصب، ممکن است این سؤال مطرح شود که چه نیازی به کسب اجازه از مسئول معماری سه لایه­ای است؟ این سؤال را می­توان با این سؤال پاسخ داد که در حین خرابی نرم­افزار لایه­ی دو، تکلیف داده ­ها و اطلاعات ارسالی از کامپیوترهای پوشیدنی به دستگاه موبایل چه می­ شود؟ به این سؤال در بخش­های آتی جواب داده می­ شود. اما فعلاً باید خاطرنشان کرد که این معماری سه لایه­ای باید در برابر خطا و خرابی تحمل­پذیر باشد و تحت هر شرایطی در حال انجام صحیح فعالیت باشد. لذا در زمانی که نرم­افزار لایه­ی دو خراب است باید با هماهنگی مسئول معماری سه لایه­ای این خرابی را تحمل کرد.

در زمانی که نرم­افزار لایه­ی دوم خراب است، به منظور تحمل خرابی باید مانع از نابودی داده ­های ارسالی از کامپیوترهای پوشیدنی شد. به علاوه، اطلاعات تولید شده قبلی، توسط لایه­ی دو نیز، باید از بین نروند. برای چالش فوق دو راه­حل پیشنهاد می­ شود.

راه­حل اول این است که دستگاه لایه­ی دو، داده ­های دریافتی از کامپیوترهای پوشیدنی را بدون دخالت نرم­افزار لایه دو، در حافظه خودش و در درون یک پوشه تحت عنوان «داده ­های حساس» ذخیره کند. همچنین نرم­افزار لایه دو، تمامی اطلاعات تولید شده توسط خود را در حافظه­ موبایل و در پوشه ذکر شده، ذخیره کند. بطوریکه اگر بنا به هر دلیلی نرم­افزار لایه دوم خراب شد، بتوان بعد از نصب مجدد نرم­افزار، این داده ­ها و اطلاعات را مورد بررسی قرار داد. شایان ذکر است که نرم­افزار لایه دوم نرم­افزاری است که توسط مسئولین معماری سه لایه­ای ایجاد می­ شود؛ یعنی با خراب شدن این نرم­افزار، خللی در کارکرد سایر نرم­افزارها و سیستم­عامل لایه دو بوجود نمی­آید.

در راه­حل اول باید به فاصله­ی زمانی ذخیره شدن داده ­ها در پوشه «داده ­های حساس» و بررسی شدن آنها توسط نرم­افزار دوباره نصب شده، دقت شود. به طور مثال حالتی را در نظر بگیرید که نرم­افزار لایه دو خراب است. در این حین کامپیوترهای پوشیدنی داده ­های نشان دهنده ضربان قلب بیمار را برای موبایل ارسال می­ کنند، داده ­های فوق در پوشه «داده ­های حساس» ذخیره می­شوند. این داده ­ها نشان می­ دهند که ضربان قلب بیمار از دامنه­ نرمال خارج شده است و وضعیت سلامت بیمار وخیم است. در این سناریو نرم­افزار لایه دوم به فاصله­ی هفت ساعت بعد نصب مجدد می­ شود، یعنی این داده ­های ضربان قلب بعد از هفت ساعت بررسی می­شوند. این در حالی است که سلامت بیمار هفت ساعت پیش به خطر افتاده و او در آن لحظه نیاز به کمک داشته و حال ممکن است دیر شده باشد.

راه­حل دوم به منظور تحمل خرابی نرم­افزار استفاده از ابر است. این راه­حل مشکل راه­حل اول را ندارد، یعنی مواقعی که فاصله­ی بین زمان ذخیره شدن داده ­ها در حافظه­ موبایل و بررسی آنها توسط نرم­افزار دوباره نصب شده، زیاد باشد.

روش کار بدین صورت است که به محض خراب شدن نرم­افزار لایه دو، بصورت اتوماتیک محتوای پوشه «داده ­های حساس» برای ابر ارسال می­ شود. در این روش بجای انتظار کشیدن برای نصب مجدد نرم­افزار، داده ­ها و اطلاعات پوشه «داده ­های حساس» به منظور بررسی، مستقیماً به ابر فرستاده می­شوند. این ارسال اطلاعات نمی­تواند توسط Master Node فیزیکی انجام گیرد، زیرا Master Node فیزیکی به دلیل محدودیت­های سخت­افزاری و نرم­افزاری توانایی انجام وظایف Mobile Nodeرا ندارد. از این اینرو پیشنهاد می­ شود که لایه­ی دوم، خودش داده ­های دریافتی از کامپیوترهای پوشیدنی را به ابر ارسال می­ کند. در حقیقت درست است که نرم­افزار لایه­ی دو خراب است اما می­توان داده ­های ذخیره شده در حافظه دستگاه لایه دو را توسط دستگاه موبایل به ابر ارسال کرد تا خود ابر مسئولیت بررسی این داده ­ها و انجام تصمیمات بلادرنگ را بر عهده گیرد.

فصل چهارم

جمع­بندی و نتیجه ­گیری

۴-۱ مقدمه

هدف اصلی سیستم تحمل خطا، بهبود اتکاپذیری سیستم است. لذا در کلیه­ سیستم­ها در نظر گرفتن بحث اتکاپذیری ضروری است. در این فصل ابتدا مفاهیم اتکاپذیری به همراه نحوه محاسبه اتکاپذیری شرح داده می­شوند که این مطالب برگرفته از منبع [۸۵] می­باشند. در نهایت قابلیت اطمینان گره­های Body Node، Master Node و Mobile Node محاسبه و مقایسه می­ شود. همچنین قابلیت اطمینان برای معماری سه لایه­ای ارائه شده، مورد ارزیابی وتحلیل قرار می­گیرد.

۴-۲ تعاریف پایه

در بخش­های آتی λ،µ و C که بترتیب نمادهای نرخ خرابی، نرخ تعمیر و پوشش خطا هستند، به دفعات مورد استفاده قرار می­گیرند. لذا در ادامه به شرح این موارد پرداخته می­ شود.

نرخ خرابی یا λ، تعداد خرابی­ها را در هر واحد زمان پیش ­بینی می­ کند. به عنوان مثال اگر خرابی­های یک پردازنده به صورت میانگین هر هزار ساعت یکبار باشد، آنگاه .

یک تخمین خام از نرخ خرابی سیستم می ­تواند بوسیله جمع نرخ خرابی مؤلفه­ ها(λiها) به صورت زیر، انجام ­گیرد. لازم به ذکر است که n تعداد مؤلفه­ های سیستم است.

رابطه (۴-۱):

شایان ذکر است که در طرف مقابل نرخ خرابی نرخ تعمیر وجود دارد. نرخ تعمیر که توسط µ مشخص می­ شود به تعداد تعمیر­ها در واحد زمان اشاره دارد.

پوشش خطا را که با C نشان می­ دهند، یعنی احتمال اینکه با وجود خطا، فعالیت­های مورد انتظار سیستم انجام شوند؛ بگونه­ای که سیستم با شکست مواجه نشود. در ادامه چند پوشش خطا معرفی می­ شود.

پوشش کشف خطا: (وجود خطا | کشف خطا)C=P

پوشش مکان­ یابی خطا: (وجود خطا | مکان یابی خطا)C=P

پوشش محدودسازی خطا: (وجود خطا | محدودسازی خطا)C=P

پوشش ریکاوری خطا: (وجود خطا | ریکاوری خطا)C=P

۴-۳ اتکاپذیری

اتکاپذیری یعنی مقدار توانایی یک سیستم در فراهم کردن سرویس­هایی که قابلیت اطمینان قابل قبول دارند.

اتکاپذیری شامل ویژگی­هایی از قبیل قابلیت اطمینان، دسترس­پذیری، ایمنی، قابلیت نگهداری و آزمون­پذیری، می­باشد. از بین این ویژگی­ها قابلیت اطمینان، دسترس­پذیری و ایمنی مهم می­باشند. با توجه به کاربرد، یکی یا بیشتر از این ویژگی­ها برای ارزیابی رفتار سیستم مناسب است. به طور مثال برای یک سیستم ATM[72]، قابلیت دسترس­پذیری و برای یک سیستم کنترل نیروگاه اتمی، ایمنی مهم است؛ این در حالیست که برای معماری سه لایه­ای ارائه شده قابلیت اطمینان حائز اهمیت می­باشد.

قابلیت اطمینان[۷۳]: قابلیت اطمینان را با R(t) نمایش می­ دهند. یعنی احتمال شرطی اینکه سیستم در بازه­ی زمانی [۰,t] بدون نقص و خطا کار کند به شرط اینکه سیستم در زمان «۰» بصورت صحیح در حال کار بوده باشد. در واقع، قابلیت اطمینان یک معیار برای تحویل پیوسته­ی سرویس به صورت صحیح می­باشد. شایان ذکر است که اگر سیستمی بخواهد بدون هیچ­گونه وقفه­ای در حال انجام عملیات باشد، نیاز به قابلیت اطمینان بالا دارد.

دسترس­پذیری[۷۴]: در برخی کاربردها تعداد خرابی­ها و زمان مورد نیاز برای تعمیر خرابی­ها مهم است. در چنین کاربردهایی دسترس­پذیری اهمیت فراوانی دارد. دسترس­پذیری را که با A(t) نشان می­ دهند، یعنی احتمال اینکه در زمان t، سیستم در حال انجام عملیات به صورت صحیح باشد. به بیانی A(T) میانگین دسترس­پذیری در بازه­ی[۰,T]است که بازه فوق می ­تواند طول عمر سیستم یا زمان اتمام یک کار خاص باشد.

رابطه (۴-۲):

ایمنی[۷۵]: در بحث ایمنی شکست­ها به دو دسته­ی شکست­های ایمن و شکست­های غیر ایمن تقسیم می­شوند. شکست­های ایمن یعنی با وقوع شکست اتفاق ناگواری رخ ندهد. این در حالیست که در شکست غیر ایمن، اتفاق ناگواری رخ می­دهد، برای مثال فاجعه نیروگاه اتمی چرنوبیل[۷۶] نمونه ­ای از این نوع شکست است. ایمنی را که با S(t) نشان می­ دهند یعنی احتمال اینکه سیستم یا بصورت صحیح کار کند یا در حالت­های شکست ایمن[۷۷]، سیستم ادامه انجام عملیات خود را قطع کند.

۴-۴ محاسبه­ی اتکاپذیری با بهره گرفتن از بلوک دیاگرام­های قابلیت اطمینان

به منظور محاسبه­ی اتکاپذیری می­توان از دو روش بلوک دیاگرام­های قابلیت اطمینان و فرایندهای مارکف استفاده کرد. در ادامه معماری سه لایه­ای ارائه شده با بهره گرفتن از بلوک دیاگرام­های قابلیت اطمینان مورد ارزیابی قرار می­گیرد؛ از اینرو در ادامه به شرح کامل این روش پرداخته می­ شود. این درحالیست که روش فرایندهای مارکف بصورت مختصر در بخش افزونگی standby شرح داده می­ شود.

محاسبه قابلیت اطمینان: محاسبه با این روش نیازمند این است که سیستم به دو قسمت سری و موازی تقسیم شود. بعد قابلیت ­های اطمینان­ قسمت­ های فوق که همان Rها هستند، محاسبه ­شوند. سرانجام، جواب کلی از قابلیت ­های اطمینان­ بخش­ها، تشکیل می­ شود. برای یک سیستم با n مؤلفه، که Ri(t) قابلیت اطمینان مؤلفه­ی iام است، قابلیت اطمینان سیستم به صورت زیر محاسبه می­ شود.

رابطه (۴-۳):

برای یک ساختار سری

برای یک ساختار موازی

برای یک سیستم در حالت سری، باید همه مؤلفه­ های سیستم در حال اجرا و عملیاتی باشند تا سیستم بتواند بصورت صحیح کار کند از اینرو  .

اما برای یک سیستم در حالت موازی، فقط یکی از مؤلفه­ ها نیاز دارد که عملیاتی باشد. بنابراین عدم قابلیت اطمینان[۷۸] یک سیستم موازی برابر است با احتمال اینکه همه n مؤلفه خراب شوند، یعنی  و در نتیجه قابلیت اطمینان از رابطه  بدست می ­آید.

محاسبه­ی دسترس­پذیری: اگر فرض شود که زمان­های خرابی و تعمیر مستقل از یکدیگر هستند، آنگاه می­توان به منظور محاسبه­ی دسترس­پذیری سیستم از بلوک دیاگرام­های قابلیت اطمینان استفاده کرد. این وضعیت زمانی رخ می­دهد که سیستم به اندازه­ کافی منابع افزونه به منظور تعمیر همزمان همه مؤلفه­ های معیوب دارد.

برای یک سیستم با n مؤلفه که Ai(t) دسترس­پذیری مؤلفه­ی iام است، دسترس­پذیری کلی سیستم بصورت زیر است.

رابطه (۴-۴):

برای یک ساختار سری

برای یک ساختار موازی

برای یک سیستم در حالت سری، باید همه مؤلفه­ های سیستم در حال اجرا و عملیاتی باشند تا سیستم بتواند بصورت صحیح کار کند از اینرو  .

اما برای یک سیستم در حالت موازی، فقط یکی از مؤلفه­ ها نیاز دارد که عملیاتی باشد. در نتیجه دسترس­پذیری از رابطه  بدست می ­آید.

۴-۵ افزونگی TMR

روش­های افزونگی غیرفعال از قبیل TMR و NMR بجای کشف خطا، آنها را می­پوشانند بگونه­ای که با وجود خطا، مقادیر صحیحی در خروجی پدیدار می­ شود.

ارزیابی قابلیت اطمینان: یک سیستم TMR تا زمانی بصورت صحیح کار می­ کند که حداقل دو ماژول از سه ماژول آن بصورت صحیح کار کنند. با فرض اینکه رأی دهنده بی­عیب باشد، قابلیت اطمینان یک سیستم TMR به شرح زیر است.

رابطه (۴-۵): RTMR= R1R2R3 + (۱-R1)R2R3 + R1(1-R2)R3 + R1R2(1-R3)

R1R2R3 یعنی احتمال اینکه هر سه ماژول بی­عیب باشند و به صورت صحیح کار کنند.(۱-R1)R2R3 یعنی احتمال اینکه اولین ماژول خراب و دو ماژول دیگر سالم باشند.R1(1-R2)R3 یعنی احتمال اینکه ماژول دوم خراب و ماژول­های اول و سوم سالم باشند. R1R2(1-R3) یعنی احتمال اینکه ماژول­های اول و دوم بی­عیب و ماژول سوم خراب باشد. اگر R1=R2=R3=R باشد، آنگاه معادله­ بالا به معادله­ RTMR= 3R2 – ۲R3تبدیل می­ شود. از آنجا که نرخ خرابی مؤلفه­ ها در ارزیابی قابلیت اطمینان حائز اهمیت است، می­توان Rها را بر اساس λ و t نوشت. یعنی اگر λ نرخ خرابی ثابت و t زمان باشد، آنگاه R(t)=e-λt می­باشد. در نتیجه فرمول بالا را می­توان بصورت زیر نوشت.

رابطه (۴-۶): RTMR(t) = 3e-2λt - ۲e-3λt

۴-۶ افزونگی standby

افزونگی­های فعال به منظور دستیابی به تحمل خطا، ابتدا خطاهای رخ داده در سیستم را شناسایی می­ کنند، سپس عملیات لازم را به منظور ریکاوری سیستم و برگشت سیستم به حالت عملیاتی، انجام می­ دهند.در سیستم­های standby بین مؤلفه­ های سیستم وابستگی وجود دارد، از اینرو اینگونه سیستم­ها با بهره گرفتن از مدل­های مارکف آنالیز می­شوند.

محاسبه با بهره گرفتن از فرایندهای مارکف: فرایندهای مارکف برای ارزیابی وابستگی سیستم، مورد استفاده قرار می­گیرند. هدف فرایندهای مارکف محاسبه­ی Pi(t) است، یعنی احتمال اینکه سیتم در زمان t در وضعیت i باشد. اگر در وضعیت ۱، تمامی مؤلفه­ ها در حال کار و در محیط عملیاتی باشند و با فرض اینکه در زمان t=0، سیستم در وضعیت یک است آنگاه P1(0)=1 . از اینرو سیستم در هر زمانی فقط می ­تواند در یک حالت باشد یعنی Pi(0), پس

رابطه (۴-۷):

به منظور تعیین Pi(t) از معادلات دیفرانسیلی که معادلات انتقال حالت نامیده می­شوند، استفاده می­ شود. معمولاً معادلات انتقال حالت به شکل ماتریس ارائه می­شوند. در ماتریس M که ماتریس انتقال نامیده می­ شود، مؤلفه­ی mij، نرخ انتقال بین حالت i و j است. در این ماتریس ایندکس i برای شماره­­گذاری ستون­های ماتریس و از ایندکس j برای شماره­گذاری سطرها استفاده می­ شود. ساختار ماتریس M به شرح زیر است.

در ماتریس فوق، k تعداد حالات در نمودار انتقال حالت است. در حالت طبیعی در آنالیز قابلیت اطمینان و دسترس­پذیری، فرض می­ شود که مؤلفه­ ها در یکی از دو حالت عملیاتی یا شکست[۷۹] قرار دارند. یعنی اگر یک سیستم شامل n مؤلفه باشد آنگاه است. اما در آنالیز ایمنی، مؤلفه­ های سیستم می­توانند در یکی از سه حالت عملیاتی، شکست ایمن و شکست غیر ایمن قرار بگیرند، لذا است.

در ماتریس انتقال، مجموع عناصر هر ستون باید برابر با صفر شود. برای رسیدن به هدف فوق، در هر ستون برای حالتی که i=j است، mij را بگونه­ای مقدار دهی می­کنیم که حاصل جمع ستون مورد نظر صفر شود.

برای مثال نمودار انتقال حالت یک سیستم تک مؤلفه­ای که شامل دو حالت عملیاتی (وضعیت ۱) و حالت شکست (وضعیت ۲) است به صورت زیر می­باشد. لازم به ذکر است که λ نرخ خرابی است.

شکل ۴-۱: دیاگرام انتقال حالت یک سیستم تک مؤلفه­ای

ماتریس انتقال برای دیاگرام بالا به شکل زیر می­باشد.

توضیح ماتریس M بدین شرح می­باشد که نرخ انتقال بین وضعیت­های یک و دو برابر λ است، بنابراین m12=λ ؛ با توجه به اینکه جمع هر ستون باید صفر شود پس  می­باشد.

همچنین می­توان معادلات انتقال حالت را بصورت زیر از ماتریس­های انتقال حالت استخراج کرد.

رابطه (۴-۸):

ادامه کار بدین صورت است که با حل معادلات انتقال حالت، Pi(t)ها مشخص می­شوند. سپس قابلیت اطمینان، دسترس­پذیری و ایمنی می­توانند بوسیله­ی محاسبه­ی مجموع تمام حالات عملیاتی محاسبه شوند.

ارزیابی قابلیت اطمینان در سیستم­های standby: در این سیستم­ها فرض بر این است که مؤلفه­ی افزونه، نمی­تواند در حالت standby خراب شود. شکل ۴-۱ یک سیستم standby را نشان می­دهد که در آن ماژول ۱ اصلی و ماژول ۲ در حالت standby است.

شکل ۴-۲: یک سیستم standby با یک مؤلفه­ی افزونه

همچنین وضعیت­های مختلف سیستم به شرح زیر است. فرض بر این است که اگر مؤلفه­ی افزونه در حالت standby باشد، نمی­تواند خراب شود یعنی وضعیت(O,F) اصلاً رخ نمی­دهد.

شماره حالت ۲

۱

مؤلفه­ ها

۱ O O
۲ O F
۳ F F

دیاگرام انتقال حالت سیستم نیز در شکل ۴-۲مشخص می­باشد.

شکل ۴-۳: دیاگرام انتقال حالت یک سیستم standby با یک مؤلفه­ی افزونه

زمانی که مؤلفه­ی اصلی خراب می­ شود، یک انتقال از حالت ۱ به حالت ۲ رخ می­دهد. اگر سیستم در حالت ۲ باشد و مؤلفه­ی standby آن خراب شود، آنگاه یک انتقال از حالت ۲ به حالت ۳ رخ می­دهد. بنابراین حالت­های ۱ و ۲ حالات عملیاتی می­باشند، این در حالیست که حالت ۳ به دلیل معیوب بودن هر دو مؤلفه، حالت شکست سیستم است. با توجه به مطالب بیان شده، معادلات انتقال حالت به شرح زیر است.

رابطه (۴-۹):

P3(t) تنها حالت شکست سیستم است، از اینرو قابلیت اطمینان سیستم برابر است با حاصل جمع P1(t) و P2(t). یعنی  . با فرض اینکه λ۱=λ۲ آنگاه، معادله­ بالا به صورت زیر ساده می­ شود.

نظر دهید »
بررسی عناصر قصه در مثنوی «جمشید و خورشید» سلمان ...
ارسال شده در 21 آذر 1400 توسط فاطمه کرمانی در بدون موضوع

زاویه دید شخص به انواع زیر تقسیم می‏شود:
شخصیت اصلی
شخصیت فرعی
شخصیت شاهد یا ناظر
۱-زاویه دید اول شخص
۲-زاویه دید دوم شخص
۳-زاویه دید سوم شخص
دانای کل نامحدود
دانای کل محدود
دانای کل بی‏طرف
۴-زاویه دید بدون راوی
۵-زاویه دید متغیر
۱-زاویه دید اول شخص
هرگاه داستان از قول یکی از شخصیت‏های داستان روایت شود، آن داستان دارای زاویه دید اوّل شخص است. این شخصیت ممکن است در تمام کنش‏ها و حوادث داستان نقش اصلی و اساسی داشته باشد. به بیان دیگر، گویی شخصی حوادثی را که برایش اتفاق افتاده، نقل قول می‏کند و ممکن است شخصیت فرعی باشد. یعنی همراه و در کنار شخصیت اصلی قرار بگیرد، حوادثی را که برای قهرمان داستان اتفاق افتاده روایت کند و خودش نقش اساسی در کنش‏های داستان نداشته باشد و یا ممکن است به عنوان یک شخص شاهد باشد و آن‏چه را که دید، روایت کند، بدون این‏که هیچ نقشی در آن حوادث داشته باشد، مثل کسی که شاهد صحنه تصادف یا قتل بوده است. «زاویه دید اوّل شخص گسترده‏ی تقریباً نامکشوف و غریبی را پیش روی نویسنده و خواننده می‏گشاید همانا اشخاص یا وجه خاص و شخصی شخص است» (مندنی‏پور، ۱۳۸۳: ۱۰۵).

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

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

نظر دهید »
سایت دانلود پایان نامه: ﻧﮕﺎرش ﻣﻘﺎﻟﻪ ﭘﮋوهشی در مورد نقش قابلیت‌های زیرساختی و مشتری‌مداری ...
ارسال شده در 21 آذر 1400 توسط فاطمه کرمانی در بدون موضوع

6

برتهون و همکاران (2012)، رپ و همکاران(2009)، گریو و آلبرز (2006)، امیری(1388)، مؤمنی و همکاران(1392)، موغلی و باوندپور(1389)، اسکندری و همکاران(1389)

متمایزسازی مشتریان

3

چن(2003)، اخوان و همکاران(1390)، سعیدی و دیلمی معزی(1388)، هادیزاده مقدم و همکاران(1389)، موغلی و باوندپور(1389)

درک متقابل با مشتری

6

زینلداین (2005)، چن(2003)، رپ و همکاران(2009)،
امیری(1388)، محرابی و همکاران(1388)، سعیدی و دیلمی معزی(1388)، موغلی و باوندپور(1389)، اخوان و همکاران(1390)

کیفیت اطلاعات مشتری

2

هانتر (2007)، مولر و نیفلر(2011)، هیل(2009)، راه و همکاران (2005)،
ابراهیمی(1388)

عملکرد ارتباط با مشتری

3

کوتلر(2003)، روست و همکاران(2002)، کی ناک(2003)، هیل(2009)، پنگ و همکاران (2009)

عملکرد کلی بانک

5

هانتر(2007)، لیندگرین(2006)، کرامتی و همکاران(2010)،
رانجان و باتناگار(2009)، دشپانده و همکاران(1993)،
دهمرده و همکاران(1389)، موغلی و باوندپور(1389)، سالارزهی و امیری(1390)

3-7-روایی و پایایی ابزار پژوهش
پیش از اطمینان نهایی به ابزار اندازه‌گیری و به‌کارگیری آن در مرحله‌ی اصلی جمع‌ آوری داده‌ها، ضرورت دارد که پژوهشگر از طریق علمی، اطمینان نسبی لازم را نسبت به روا بودن استفاده از ابزار موردنظر و معتبر بودن آن پیدا کند(خاکی، 1379). لذا، برای مطمئن شدن از این که سنجه‌ها به طور معقول، خوب، مناسب و صحیح تدوین شده‌اند می‌توان از دو معیار استاندارد روایی[164] و پایایی[165] بهره گرفت. روایی(اعتبار)، آزمون می‌کند که تا چه حدی ابزار تدوینی، مفهوم خاص فرضی که باید اندازه‌گیری کند، می‌سنجد و پایایی می‌آزماید که تا چه حد ابزار در سنجش مفهوم از ثبات و پیوستگی منطقی در پاسخ‌ها برخوردار است. به عبارت دیگر، روایی در پی آن است تا نشان دهد که آیا ابزار پژوهش مفهوم را درست اندازه‌گیری می‌کند یا خیر و پایایی به ثبات و پیوستگی منطقی در میان پاسخ‌های سؤالات گنجانده شده در سنجه‌ی اندازه‌گیری کننده، اشاره دارد. در مجموع می‌توان گفت روایی و پایایی، دقت علمی پژوهش را تأیید و تصدیق می‌کند(دانایی‌فرد و همکاران،1387). اکنون این دو معیار مورد بحث قرار می‌گیرد.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت nefo.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))

3-7-1-روایی
آزمون‌های روایی را می‌توان تحت چهار عنوان کلی گروه‌بندی کرد: روایی محتوا[166]، روایی صوری[167]، روایی ملاکی[168] و روایی سازه[169]. در این تحقیق به منظور تعیین روایی از روایی محتوا و سازه استفاده شده است. روایی محتوا نوعی اعتبار است که برای بررسی اجزاء تشکیل‌دهنده یک ابزار اندازه‌گیری به کار برده می­ شود. اگر سؤال­های ابزار(در این تحقیق پرسشنامه) معرف ویژگی­ها و مهارت­ های ویژه­ای باشد که محقق قصد اندازه‌گیری آن­ها را داشته باشد، آزمون دارای اعتبار محتوا است. اعتبار محتوای یک آزمون معمولاً توسط افراد متخصص در موضوع مورد مطالعه تعیین می­ شود. از این رو اعتبار محتوا به قضاوت داوران بستگی دارد(بازرگان و همکاران، 1387). در این پژوهش به‌منظور بررسی روایی محتوایی، در تهیه‌ی مقیاس مدیریت ارتباط با مشتری از تعدادی از مؤلفه‌های موجود در ادبیات پیشین در این حوزه استفاده شده است. در نهایت، با بهره گرفتن از نظر خبرگان و صاحب‌نظران دانشگاهی و اجرائی، شامل استاد راهنما و استاد مشاور و تعداد دیگری از اساتید ذی‌ربط بعلاوه تعدادی متخصصین با تجربه پرسشنامه‌ها در چندین مرحله تعديل یافتند.
برای تعیین روایی سازه روش‌های مختلفی وجود دارد: 1- تعیین همبستگی آزمون با سایر آزمون‌های روا که مشتمل بر دو نوع روایی همگرا و واگرا می‌باشد 2- تمایز سنی 3- تحلیل عاملی و 4-همسانی درونی. در این پژوهش از روش تحلیل عاملی برای بررسی روایی سازه ابزار تحقیق بهره گرفته شده است. در واقع یکی از کاربردهای تحلیل عاملی تأییدی بررسی روایی سازه تحقیق است. روایی سازه، مفهومی است که نشان می­دهد عوامل تبیین‌کننده و متغیرهای اصلی، معیارهای مناسبی برای مدل مفهومی طراحی شده هستند.
3-7-2-پایایی
یکی از روش‌های معتبر برای سنجش میزان پایایی یک پرسشنامه، اندازه‌گیری ثبات پاسخ‌های یک فرد به یک پرسش از مقیاس با پاسخ‌های وی به پرسش دیگر از همان مقیاس یا همبستگی پرسش به پرسش است. به این ترتیب، معیاری برای پایایی کل پرسشنامه به دست می‌آید. آماره‌ای که این معیار را نشان می‌دهد به نام «ضریب آلفای کرونباخ» نامیده می شود که اندازه آن بین صفر و یک متغیر است هر چه میزان این شاخص بالا باشد، پایایی مقیاس بیشتر است. اما به عنوان یک قاعده کلی، میزان آلفا دست‌کم باید 7/. باشد این رقم برای پژوهش‌های اکتشافی در حد 6/. نیز قابل قبول است(دانایی‌فر، 1383). در این پژوهش نتایج مربوط به ضریب آلفای کرونباخ که توسط نرم‌افزار SPSS محاسبه گردیده برابر 983/0 است. با عنایت به این‌که حداقل ضریب پایایی لازم 7/0 توصیه شده است، بنابراین می­توان نتیجه گرفت پرسشنامه از پایایی مناسبی برخوردار است.
3-8-ابزارها، روش‌ها و تکنیک‌های آماری مورد استفاده برای تجزیه و تحلیل داده‌ها
پس از جمع‌ آوری و تلخیص داده ­ها به ترتیب زیر توسط نرم‌افزارهای SPSS 16.0 و Amos آزمون‌های زیر انجام می‌گیرد:

  • آمار توصیفی، به منظور طبقه‌بندی و بررسی ویژگی­های پاسخ‌دهندگان و جامعه آماری.
  • آزمون ضریب آلفای کرونباخ برای تعیین پایایی پرسشنامه.
  • آزمون بارتلت و شاخص KMO
  • تحلیل عاملی تأییدی ، برای تعیین روایی سازه و مدل تحقیق به کمک نرم‌افزار آموس و شاخص‌های برازندگی.
نظر دهید »
دانلود فایل پایان نامه : بازیابی تصاویر هواپیماهای جنگنده بر اساس مدل ...
ارسال شده در 21 آذر 1400 توسط فاطمه کرمانی در بدون موضوع

شکل ۴-۱۲ گشتاورهای زرنیک با تعداد ویژگی های متفاوت برای ۳۹ نمای استخراج شده از ۲۰۰ دوربین

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

شکل ۴-۱۳ گشتاورهای زرنیک با تعداد ویژگی های متفاوت برای ۵۸ نمای استخراج شده از ۳۳۸ دوربین

اندازه گیری شباهت بر اساس فاصله اقلیدسی

جهت ارزیابی شباهت بین نماها، فاصله بین بردارهای ویژگی نماها را محاسبه می‌کنیم. برای این کار پس از استخراج بردار ویژگی در هر سه روش بیان شده در قسمت قبل، فاصله‌ی بین بردار ویژگی نماهای هر تصویر پایگاه‌داده با بردار ویژگی نماهای مدل سه‌بعدی یک به یک با بهره گرفتن از معیار فاصله اقلیدسی - اندازه بردار تفاضلی - محاسبه می‌شود.
اگر و دو بردار ویژگی به طول باشند، فاصله ی اقلیدسی به صورت زیر محاسبه می‌شود.

۴‑۱۱    

که در آن و می‌باشد.
شباهت بین نمای پایگاه داده و نمای مدل سه‌بعدی به صورت رابطۀ ۴-۱۲ تعریف می‌شود.

۴-۱۲    

هر چه فاصله اقلیدسی بین دو نمای مورد مقایسه، کمتر باشد دو نما شباهت بیشتری خواهند داشت. برای پیدا کردن مشابه‌ترین نمای مدل‌های سه بعدی به نمای تصویر پرس‌وجو نیز به همین ترتیب عمل می‌شود.

بازیابی تصاویر بر اساس میزان شباهت

پس از اندازه‌گیری شباهت نماها با بهره گرفتن از فاصله‌ی اقلیدسی، نمایی از نماهای مرجع حاصل از نگاشت‌های هندسی بدست آمده از دوربین‌های مجازی که بیشترین شباهت (کمترین فاصله) با تصویر مورد مقایسه دارد یافته و کلاس تصویر مرجع به عنوان کلاس تصویر مورد مقایسه انتخاب می‌شود. پس از اتمام مرحلۀ کلاسه‌بندی همه‌ی تصاویر پایگاه‌داده، کلاس تصویر پرس‌وجو نیز به همین شیوه تشخیص داده می‌شود، و در نهایت تمامی تصاویر مربوط به کلاسی که تصویر پرس‌و‌جو متعلق به آن است از میان تصاویر کلاس‌های مرتب شدۀ پایگاه داده بازیابی و به کاربر ارائه می‌شود.
فصل پنجم
نتایج شبیه‌سازی

۴

پایگاه‌داده

نتایج تحقیقات ما برای دستیابی به پایگاه‌داده حاکی از آن بود که تاکنون پایگاه‌داده‌ای شامل انواع تصاویر هواپیماهای جنگنده ارائه نشده است، بنابراین برای ارزیابی روش پیشنهادی خود، با بهره گرفتن از دو سایت Airliners.net و Airfighters.com که از بزرگترین سایت‎های مربوط به انواع تصاویر هواپیماهای جنگنده ی دنیا می‌باشند به جمع آوری و تهیۀ تصاویر پایگاه داده پرداختیم.
پایگاه‌داده‌ ایجاد شده شامل ۱۰ کلاس داده با تعداد ۱۳ نمونه برای هر کلاس می‌باشد. شکل ۵-۱ نام مدل هواپیمای جنگنده و تمام تصاویر مربوط به هر مدل را نشان می‌دهد. در این شکل نام مدل و شماره کلاس آن در زیر تصاویر مربوط به آن کلاس نوشته شده است.

 
تصاویر مربوط به مدل Vulcan )کلاس ۱(
 
تصاویر مربوط به مدل F14d )کلاس ۲(
نظر دهید »
مقالات و پایان نامه ها درباره :بررسی زبان شناختی ...
ارسال شده در 21 آذر 1400 توسط فاطمه کرمانی در بدون موضوع

(مفعول) :
حسن فقط سیب ها را می خورد
Hssn feqt sip mixore
مفعول
آنها را گم کرده بود
Gome kerde bid
(متمّم)
به دو دست بریده ی حضرت عبّا س واگذارت کردم
Be do ds boride hrzete bs vgozret kerdm
متمّم
از صبح تا شام می دوم آخرش هم خیری از زحمت کشی خودم نمی بینم
sb t pasi midowvm xere xeyri zmat keI nemibinm
متمّم
از (حرف اضافه)
صبح (متمّم)
تا (حرف اضافه)
شب (متمّم)
از (حرف اضافه)
زحمت کشی خودم (متمّم)
در جمله بالا جایگاه متمم که قبل آن حرف اضافه آمده است شناخته شده است.
قید :
خیلی وقت است که او را ندیده ام . duri nedide me
قید
Duri : قید
خیلی لاغر است . xeyli lar-e
Xeyli : قید
Lar : متمّم
e : فعل
۴-۴-۱۰- حذف در جمله
در گویش رفسنجانی – مانند زبان فارسی – برای رعایت اختصار و کوتاه کردن کلام در بسیاری از موارد و در برخی از اقسام جمله ها جزء یا اجزاء و گاه قسمتی از جمله به بیان نمی آید و چنین می نماید که جزء یا رکن یا قسمتی از جمله افتاده و حذف شده است و چون ساختمان جمله و چگونگی آمدن واژه ها در جمله این گویش تفاوت چندانی با فارسی رسمی ندارد. “حذف” نیز در جمله های این گویش نیز کمابیش همانند “حذف” در جمله های زبان فارسی است، از این رو آنرا بر اساس دو عنوان که در دستورهای زبان فارسی باز شناخته شده است – با آوردن نمونه هایی – بررسی می کنیم یعنی حذف به قرینه لفظی و حذف به قرینه معنوی :

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

۱) حذف به قرینه لفظی :
گاهی در این گویش جزء یا رکن یا اجزاء و حتی قسمتی از جمله حذف می شود اما در خود جمله یا در جمله های پیش و پس آن لفظ یا الفاظی است که گوینده به آن سبب آوردن و تکرار آن اجزاء را در جمله ضروری نمی بیند و آنها را بر زبان نمی آورد و به قرینه آن لفظ یا الفاظ را حذف می کند و این حذف ها چون لفظی هستند قرینه لفظی گویند. مانند :
حسن آمد ، رفت = حسن آمد و (حسن) رفت
نهاد فعل فعل نهاد حذف شده است.
Hssno omdo rft
کتاب ها را چیدم ketvro endm
در این جمله ضمیر منفصل “ما” که نهاد (فاعل) جمله است که می بایست در آغاز جمله و قبل فعل بیاید به قرینه ی شناسه “-ِ م” که در پایان فعل آمده حذف گردیده است.
آنان با هم رفتند ، پارک رفتند ، بستنی خوردند ، خندیدند ، بازی کردند.
در این عبارت آنان که فاعل است و “با هم” مفعول هر پنج جمله است چون در جمله اول آمده در چهار جمله بعد به قرینه حذف شده است.
آنان با هم رفتند ، آنان با هم پارک رفتند ، آنان با هم بستنی خوردند ، آنها با هم خندیدند ، آنها با هم بازی کردند.
۲) حذف به قرینه ی معنوی :
در این گویش – مانند زبان فارسی – در برخی از اقسام جمله ها گاهی یک یا چند جزء از جمله بی هیچ قرینه لفظی گفته نمی شود و حذف می گردد و شنونده از ساختمان و ترتیب و ترکیب واژه ها و “آهنگ” گفتار و یا از مفهوم اجزاء و مضمون جمله های پیش یعنی به قرینه ای “معنوی” قصد گوینده و معنی کامل جمله را در می یابد . این نوع حذف که حذف به قرینه معنوی خوانده می شود بیشتر در فعل های برخی از انواع جمله ها و گاهی نیز در دیگر اجزاء و ارکان جمله روی می دهد از قبیل :
الف) فعل های دعائی ، تمنّائی و التزامی که برای دعا ، بیان آرزو و امید و … باید در جمله گفته شود بیشتر حذف می گردد چنانکه فعل “بو/bu” = (بود) یا (با شد / باد) در جمله های زیر حذف شده است :
(خدا نگه دار تو (باد)) : xod negdret
(روز شما خوش (باشد)) : roz m xo
(عاقبت شما به خیر (باد)) : qebtem bexyev
ب) فعل های جمله هائی که برای تحسین ، تنّفّر ، نفرین ، خوش آمیزی ، بد آمیزی و اظهار ارادت گفته می شود – گرچه ممکن است گاهی هم خبری باشد – بیشتر اوقات حذف
می گردد چنانکه فعل bu/بَود/ یا /باشد/ از جملات زیر حذف گردیده است :
فارسی معیار رفسنجانی
آفرین بر شما ffri vr sm
بارک ا… بر تو brekll vr to

نظر دهید »
  • 1
  • ...
  • 209
  • 210
  • 211
  • ...
  • 212
  • ...
  • 213
  • 214
  • 215
  • ...
  • 216
  • ...
  • 217
  • 218
  • 219
  • ...
  • 459

مجله علمی: آموزش ها - راه‌کارها - ترفندها و تکنیک‌های کاربردی

 اعتماد و احترام در رابطه
 نگهداری صحیح گربه
 سوال حیاتی پیش از ازدواج
 مناسب نبودن سگ هاسکی برای همه
 ساخت بازی هوش مصنوعی درآمدزا
 جلوگیری از وابستگی عاطفی منفی
 آموزش ساخت بازی هوش مصنوعی
 آموزش Leonardo AI کاربردی
 ترجمه دقیق با هوش مصنوعی
 صحبت صحیح با گربه‌ها
 علت گاز گرفتن توله سگ‌ها
 معرفی سگ شکاری پوینتر
 توکسوپلاسموز در گربه‌ها
 افزایش درآمد از آموزش آنلاین
 حفظ هویت در روابط
 افزایش فروش فایل‌های آموزشی جهانی
 آموزش سریع کوپایلوت
 واکنش به خیانت
 محتوا همیشه سبز فروشگاهی
 اشتباهات رایج ChatGPT
 راز جذب مردان
 طراحی لباس سفارشی آنلاین
 معرفی سگ‌های تازی
 حفظ خود در روابط
 درمان سرماخوردگی سگ خانگی
 

کلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کامل کلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کاملکلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کامل کلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کامل کلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کامل کلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کامل

لطفا صفحه را ببندید کلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کامل

لطفا صفحه را ببندید

کلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کامل

کلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کامل کلیه مطالب این سایت فاقد اعتبار و از رده خارج است. تعطیل کامل

لطفا صفحه را ببندید

جستجو

آخرین مطالب

  • دانلود پایان نامه با موضوع احکام خبر و خبررسانی در فقه ...
  • منابع کارشناسی ارشد در مورد تهیه کرم حاوی عصاره ...
  • پروژه های پژوهشی درباره رابطه مدیریت دانش ...
  • فایل پایان نامه با فرمت word : فایل ها درباره : بررسی رابطه ی بین سرمایه ...
  • دانلود پایان نامه در رابطه با پیش بینی الگوی بازار سهام ...
  • راهنمای ﻧﮕﺎرش ﻣﻘﺎﻟﻪ ﭘﮋوهشی در مورد واژه‌نامه نجومی و تنجیمی ...
  • پژوهش های کارشناسی ارشد درباره کتاب شناسی دستور ...
  • دانلود پایان نامه با فرمت word : دانلود فایل های پایان نامه در رابطه با اثبات ...
  • منابع کارشناسی ارشد در مورد بررسی تأثیر کنترل های ...
  • پژوهش های کارشناسی ارشد درباره : بررسی تطبیقی سازوکار و ...
  • پایان نامه با فرمت word : پژوهش های انجام شده در رابطه با طراحی و شبیه ...
  • دانلود مطالب پایان نامه ها با موضوع جایگاه ...
  • پایان نامه با فرمت word : منابع کارشناسی ارشد در مورد امکان سنجی فرآوری کانه ...
  • پایان نامه ارشد : دانلود مطالب پژوهشی در مورد مقایسه‌ی ثبت بین ‌المللی ...
  • ژئوپلیتیک آسیای مرکزی و علائق ایالات متحده آمریکا ...
  • منابع کارشناسی ارشد در مورد تعیین کننده‌های باروری زیر ...
  • تحقیقات انجام شده با موضوع : برنامه ریزی توسعه ...
  • بررسی ارتباط علّی رفتار رهبری و انسجام گروهی در ورزشکاران ...

فیدهای XML

  • RSS 2.0: مطالب, نظرات
  • Atom: مطالب, نظرات
  • RDF: مطالب, نظرات
  • RSS 0.92: مطالب, نظرات
  • _sitemap: مطالب, نظرات
RSS چیست؟
کوثربلاگ سرویس وبلاگ نویسی بانوان