عنوان صفحه

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

(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت 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) نشان می­ دهند که تابعی ا

موضوعات: بدون موضوع  لینک ثابت


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