بخشی از مقاله
-1 مقدمه
امروزه، پیشرفتهایی در زمینه برنامههای بلادرنگ، شبکههای ارتباطی، فروشگاههای اینترنتی و وسایل سیار، منجر به رشد عظیمی از برنامههای محاسبات ابری، شبکههای ارتباطی، فروشگاههای وب و سایر موارد شده و لذا رایانش ابری1، تبدیل به یک مدل کاربردی عظیم در دنیای اینترنت از سال 2007 شده است. ابر2، تصویری است انتزاعی از شبکهای عظیم و تودهای که حجم آن مشخص نیست، معلوم نیست که از چه منابع پردازشی تشکیل شده و ابعاد زمانی و مکانی یکایک اجزای آن چیست، محل قرارگیری سختافزارها و نرمافزارهای آن معلوم نیست ولی آنچه که عرضه میکند مشخص است.به طور کلی رایانش ابری، دامنهای از سرویسهایی است که در اینترنت ارائه میشوند. سیستمهای ابری، مجموعهای از میزبانهای کم هزینه هستند که به کمک یک استراتژی و مدیریت خاص، منابع گوناگونی از کامپیوترها را سازماندهی کرده و سرویسهای امن، قابل اطمینان، سریع، سازگار و شفاف از قبیل ذخیره داده، دسترسی و محاسبات کاربران پیشنهاد میدهند.
[1] موسسه ملی فناوری و استانداردها - NIST - رایانش ابری را اینگونه تعریف میکند: »رایانش ابری مدلی است برای فراهم کردن دسترسی آسان بر اساس تقاضای کاربر از طریق شبکه به مجموعهای از منابع رایانشی قابل تغییر و پیکربندی - از قببل شبکهها، میزبان3ها، فضای ذخیرهسازی، برنامههای کاربردی و سرویسها - که این دسترسی بتواند با کمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهمکننده سرویس به سرعت فراهم شده یا آزاد - رها - گردد.« رایانش ابری سیار، حالت جدیدی از محاسبات ابری و رایانش سیار است که ابر را بر پایه سرویسی برای کاربران اینترنت در وسایل سیار فراهم میکند. برخی چالش های مطرح در رایانش ابری سیار را میتوان به شرح ذیل طبقه بندی نمود:
. مدیریت داده، شامل دادههای قابل حمل، جنبههای دسترسی داده و پایگاهدادههای سیار
. جنبههای عملیاتی، شامل متدهای برونسپاری، مدیریت حرکت و پروتکلهای ارتباطی
. امنیت، شامل امنیت ابر عمومی، امنیت ابر سیار و حفظ حریم خصوصی 1]،.[2
جهت غلبه بر چالشهای مطرح در رایانش ابری سیار، چارچوبهای زیادی در زمینه برونسپاری اطلاعات به ابر پیشنهاد شده است.[4] برونسپاری اطلاعات، به این معنی است که جهت نیل به اهداف مختلف - از جمله کاهش میزان مصرف انرژی، افزایش سرعت و موارد دیگر - ، همه یا بخشی از فرایند پردازش اطلاعات، به ابر انتقال یافته و نتیجه، به تلفن هوشمند کاربر، برگردانده شود. تحقیقات ارائه شده در این مقاله را میتوان در سه دسته زیر تفکیک کرد که در بخشهای جداگانه مورد بررسی قرار می گیرند. در بخش2 به معرفی رایانش ابری سیار و روشهای مدیریت داده میپردازیم. در بخش 3 چارچوبهای ارائه شده در زمینه برونسپاری اطلاعات محاسباتی در رایانش ابری سیار به منظور غلبه بر چالشهای آن بررسی میشوند و در آخر، چارچوب برونسپاری اطلاعات پیشنهادی، جهت کاهش زمان پاسخگویی، معرفی میگردد.
-2 آشنایی با رایانش ابری سیار و روشهای مدیریت داده
به طور کلی محاسبات ابری مجموعهای از سرویسهایی است که در اینترنت ارائه میشوند. سیستمهای ابری، مجموعهای از میزبانهای کم هزینه هستند که به کمک یک استراتژی و مدیریت خاص، منابع گوناگونی از کامپیوترها را سازماندهی کرده و سرویسهای امن، قابل اطمینان، سریع، سازگار و شفاف، به کاربران ارائه میدهند. چارچوب سیستم محاسبات ابری، مجموعه ای از سرویسهای مختلف است که به سه لایه تقسیم شده است:
1 - لایه زیر بنایی - - IaaS4 شامل منابع محاسباتی و ذخیرهسازی. کاربران به جای خرید سختافزار و نرمافزار و فضای مراکز داده ویا تجهیزات شبکه، همهی این زیر ساختها را به صورت یک سرویس کاملا برونسپاریشده میخرند. صورتحساب سرویس،معمولاً بر اساس مدل رایانش همگانی و میزان منابع مصرف شده صادر میشود و بنابر این هزینه، منعکس کننده میزان فعالیت است. این شیوه در واقع تکامل یافته مدل عرضه سرورهای خصوصی مجازی است.
2 - لایه چارچوب - PaaS5 - به عنوان لایه اصلی محاسبات ابری شامل محیط طراحی برنامه نویسی موازی، ذخیره توزیع شده و سیستم مدیریت دادههای تودهای و سایر ابزار مدیریت. این لایه ، استقرار برنامههای کاربردی را بدون هزینه و پیچیدگی خرید و مدیریت لایههای نرمافزاری و سختافزاری زیرین آسان میسازد.
3 - لایه برنامههای کاربردی - SaaS6 - تولید کننده چند نرم افزار و برنامه ساده به عنوان واسطی بین لایه چارچوب و کاربر نهایی. در این لایه، نرم افزار را به صورت سرویس روی اینترنت تحویل میدهند و بدین وسیله نیاز به نصب نرم افزار روی رایانههای مشتریان را از بین میبرند و نگهداری و پشتیبانی را سادهتر میسازد. با افزایش روز افزون محاسبات داده در تجارت و علوم، ظرفیت پردازش داده، به عنوان یک منبع استراتژیک در بسیاری کشورها افزایش یافته است. رایانش ابری سیار، به عنوان توسعه و استثنایی از رایانش موبایل و رایانش ابری، قابلیت توسعه و حرکت زیاد را ارث برده است. سه مبحث مهم در رایانش ابری سیار، بر روی محدودیت وسایل موبایل، کیفیت ارتباطات و تقسیم سرویسهای کاربردی تمرکز میکنند.[1]
رایانش ابری قادر است، ابزاری برای کاربران، در زمان و در جاییکه نیاز به حرکت کاربر است، تولید کند. حرکت، یکی از مشخصههای یک محیط محاسباتی است در جاییکه کاربر بتواند کارش را بدون تاثیر از حرکتش ادامه دهد. به هر حال، همراه با حرکت، مشکلات ذاتی از قبیل کمبود منابع، انرژی محدود، ارتباطات کم و سایر موارد نیز به دنبال میآیند. آینده متعلق است به سرویسهایی که بلادرنگ به اطلاعات تولید شده کاربران، زودتر پاسخ میدهند.[2]
بستر ابر، در بحث مدیریت دادهها، سه خصیصه دارد: اولا قدرت محاسبات، در صورت موازی شدن حجم کار، ارتجاعی است. ثانیا دادهها در یک میزبان غیرقابل اعتماد ذخیره شدهاند. ثالثا دادهها در مسافتهای بسیار گسترده، تکثیر شدهاند.[3] دنیل آبادی، پس از بیان این سه خصیصه، به بررسی دو نوع دادههای تراکنشی و تحلیلی پرداخته است و خصوصیات آنها را به صورت ذیل بیان کرده است:
. کارایی: هزینه رایانش ابری، دقیقا مطابق با آنچه استفاده میشود، میباشد. از جمله نیاز به میزان فضای ذخیرهسازی، پهنای باند شبکه و قدرت محاسبات. بنابراین نرم افزار کارا، تاثیر مستقیم بر روی هزینهها دارد .
. تحمل خطا: تحمل خطای دادههای تحلیلی، کاملا با دادههای تراکنشی متفاوت است. میتواند از بازیابی از خطا بدون از دست دادن داده باشد تا ویرایش از آخرین تراکنش کامل شده و در دیتابیسهای توزیع شده، ادامه پیشرفت تراکنش با وجود خطای یک گره باشد.
. قابلیت اجرا در محیط نامتجانس: اگر بخشی از کار، نیاز به اجرای یک پرس و جوی7 توزیع شده روی گرههای محاسباتی ابر داشته باشد، کاملا به زمان اجرای پرسوجو روی هر گره وابسته است .
. قابلیت اجرای دادهی رمز گذاری شده: اکثر دادهها قبل از انتقال به ابر، برای بالابردن امنیت دسترسی، رمزگذاری میشوند. گرههای بین راه نباید بتوانند آنها را رمزگشایی کنند و میزبانهای مرتبط نیز باید بتوانند با دادهی رمزشده، کار را پیش ببرند که این کار پرهزینه بوده و پهنای باند زیادی مصرف میشود. بنابراین کاهش گرههای کمتر برای اجرا میتواند کارایی را افزایش دهد. در محیط ابر، سرویسدهی چندین برنامه و سیستم ذخیره سازی روی یک ابر یکسان، منجر به اشتراک منابع و چالش پردازش دادههای ناهمگون، تنوع انواع دادههای ذخیره شده، تنوع نمایش واسطهای کاربری و جستجو توسط این سیستمها میشود. از این گذشته، ابرهای واقعی، در عمل، کاملا متفاوت هستند. لذا [4] یک چارچوب مجتمع برای مدیریت چنین ابرهای نامتجانسی ارائه کرده است.
-3 چارچوب های برونسپاری اطلاعات محاسباتی
با رشد چشمگیر توسعههای اخیر در زمینه وسایل سیار، کاربران انتظار دارند برنامههای محاسباتی قوی را به همان روش کامپیوترهای قدرتمند، برروی تلفنهای هوشمند سیار اجرا کنند ولی با وجود تمام پیشرفتها در سالهای اخیر، این وسایل، هنوز، وسایل محاسباتی کم توان، با ظرفیت حافظه کم و طول عمر متناسب با باتری هستند. رایانش ابری سیار، آخرین راهحل عملی برای کاهش این کمبود ظرفیتها توسط توسعه سرویسها و منابع ابرهای محاسباتی بر اساس تقاضا میباشد.
[6] در رایانش ابری سیار، انتقال برنامه توسط بکارگیری مدلهای مختلف ابر، محقق شده است. یکی از چالشهای مطرح در رایانش ابری، از جنبه عملیاتی، الگوریتمهای برونسپاری اطلاعات میباشند. به این معنی که همه یا بخشی از فرایند پردازش اطلاعات، به خارج از وسیلهی سیار، انتقال یافته و تنها، نتیجه، به آن برگردانده شود. در این بخش، به معرفی برخی از این چارچوبها پرداخته میشود. CloneCloud انرژی مصرفی و زمان اجرای برنامه موبایل را با اتوماتیک کردن تشخیص جزء محاسباتی برنامه به حداقل میرساند.[11]
CloneCloudروش بسیار معروف ارائه شده توسط چان، ایهم ومانیتاتیس است که در اکثر الگوریتمها از آن استفاده شدهاست. این سیستم به طور پویا برنامههای موبایل را برونسپاری میکند. در حقیقت یک بخشبند برنامهی قابلانعطاف است که قادر میسازد برنامههای موبایل، بخشی از اجرایشان را به یک کلون در یک ابر محاسباتی انتقال دهند. این روش از تحلیل ایستا و مشاهدهکننده پویا برای بخش بندی برنامهها استفاده میکند. در زمان اجرا بخشبندی با مهاجرت نخ زمان اجرا در یک نقطه انتخابشده از هر بخش و ترکیب مجدد گره مهاجرت شده برگشتی به وسیله موبایل انجام میشود و به این طریق تا 20 برابر انرژی مصرفی را کاهش داده و سرعت را 20 درصد افزایش میدهد.
مکانیزم بخش بندی در آن غیربرخط است و خروجی آن بخش، یک انتخاب از نقاط اجراست که باید بین وسیله و کلون مهاجرت کند. به کمک یک مجموعه از شرایط اجرایی، مکانیزم بخش بندی، منجر به یک بخش می شود که برای زمان اجرای کل یا انرژی مصرفی، بهینه شده است.MAUI برنامه های موبایل را با برونسپاری اتوماتیک آنها به منظور کاهش انرژی مصرفی اجرا میکند .[13] محمد شیراز و همکاران در [7] چارچوبی توزیع شده سبک وزن برای برونسپاری اطلاعات محاسباتی در رایانش ابری سیار به نام DCOF ارائه دادهاند. این چارچوب از قدرت پردازش برنامههای مراکز داده ابر با استفاده از کمترین منابع روی وسایل سیار بهره میبرد و بر روی انتقال پویای کارهای محاسباتی تمرکز میکند.
دو حالت عملیاتی مجزای برخط8 و غیر برخط9، برای اجرای برنامه موبایل دارد. در حالت غیر برخط، برنامهها روی وسیله سیار محلی اجرا میشوند و در همان حین، به طور پویا، دسترسی به منابع ابر را ارزیابی کرده و در شرایط بحرانی، به حالت برخط سوییچ میکند، دادهها به سرور ابر ارسال میشوند و نتیجه به تلفن سیار هوشمند، برمیگردد. مقاله [9] الگوریتم برونسپاری اطلاعات Cloudlet + Clone را ارائه کرده است که شامل یک لایه میانی بین وسیله موبایل و کلونهای ابر میباشد.
این لایه میانی از تکه های ابر تشکیل شده و بنابراین لایه تکه ابر نام دارد و به عنوان یک نقطه سرویس محلی در نزدیک وسایل موبایل قرار دارند و به منظور ارائه بهتر سرویسها ارائه خدمت میکنند. تصمیمگیری در مورد اینکه برنامه به کلون یا تکه ابر برونسپاری شود، بستگی به مصرف انرژی هنگام اجرای وظایف و حالات شبکه دارد. همچنین از یک حافظه پنهان در تکه ابر استفاده می کند تا کارایی کلی رایانش ابری سیار را افزایش دهد.
این الگوریتم، در حقیقت از یک الگوریتم تعیین »چه زمانی« و »به کجا« برای برونسپاری، استفاده میکند. Cosmos الگوریتم پیشنهادی توسط کانگ شی، هاباک و سایرین میباشد که برای مدیریت منابع بار در زمان برونسپاری درخواستها جهت بهبود کارایی و کاهش هزینه مصرفی اجاره فضا به کار میرود.[10] این الگوریتم از سه جزء تشکیل شدهاست: Cosmos master .که روی یک نمونه ماشین مجازی اجرا میشود و منابع ابر را مدیریت کرده و با وسایل موبایل، تبادل اطلاعات میکند.
. یک مجموعه از server Cosmos های فعال که هر کدام روی یک نمونه ماشین مجازی اجرا میشوند وکارهای برونسپاری را انجام میدهند.
. یک cosmos client روی هر وسیله سیار که اجرای برنامه و ارتباطات شبکه را مشاهده کرده و تصمیمات مربوط به برونسپاری را اخذ میکند. Clone2Clone به کاربران اجازه میدهد که کلون خودشان را در ابر ایجاد کنند یا درخواست دهند.[12] سرویس Clone2Clone برای ایجاد یک کلون استفاده میشود. این روش منجر به این میشود که یک ماشین مجازی اختصاصی، در ابر، برای هر وسیله موبایل در نظر گرفته شود. کلونها میتوانند از طریق شبکه نقطه به نقطه ، برای جستجو، اشتراک محتویات و اجرای توزیع شدهی کد، متصل باشند و درنتیجه انرژی مصرفی را کاهش دهند.