سمینار مهندسی کامپیوتر پردازش ابری موبایل
مقدمه
در این فصل به توضیح مفاهیم پایه و اساسی در پردازش ابری موبایل و توضیح اصطلاحات و مسائل موجود در این حوزه برای آشنایی با مبحث مربوطه میپردازیم. در ادامه این بخش نیز به ارائه مثالهایی از برنامههای پردازش ابری موبایل میپردازیم تا نوع نیازها و برنامهها در این حوزه مشخص شود. در انتها نیز به مزایا و فواید پردازش ابری موبایل میپردازیم.
دستگاههای موبایل[1] (مانند گوشیهای هوشمند، نوتبوکها، تبلتها و غیره) به عنوان یک ابزار ارتباطی مناسب و تاثیرگذار که هیچ محدودیت مکانی ندارند، جایگاه مهمی در زندگی انسان پیدا کردهاند و استفاده از آنها به سرعت در حال افزایش میباشد. کاربران موبایل از سرویسهای مختلف برنامههای کاربردی موبایل که بر روی دستگاهها و یا سرورهای راه دور از طریق شبکههای بیسیم[2] اجرا میشوند، استفادههای مختلفی میکنند [1]. رشد سریع پردازش موبایل[3]، باعث یک روند سریع و قدرتمند در توسعه فناوری اطلاعات و همچنین در تجارت و صنعت شده است [2]. با این حال، دستگاههای موبایل با چالشهای بسیاری در منابع[4] خود (مثل عمر باتری، فضای ذخیرهسازی و پهنای باند) و ارتباطات[5] (مثل قابلیت تحرک و امنیت) روبرو هستند [3].
پردازش ابری[6] در سالهای اخیر با بسیاری از فیلدهای پردازشی و محاسباتی دیگر آمیخته شده است و تبدیل به یکی از محبوبترین چارچوبهای[7] پردازشی شده است. محاسباتی ابری امکان پردازش[8]، ذخیرهسازی[9]، خدمت رسانی[10]، و کاربردها[11] را بر بستر اینترنت فراهم میکند. به هرحال، محاسبات ابری باعث کاهش هزینههای سرمایهگذاری[12]، کاهش دوباره کاری در ارائه سرویسها از یک تکنولوژی[13]، و افزایش انعطاف در تامین منابع[14] میشود [4].
به طور مشابه، گوشیهای هوشمند و ابزارهای موبایل نیز طی سالهای اخیر بسیار محبوب شدهاند. همانطور که اشاره شد این ابزارها برای کاربردهای زیادی از جمله بازی[15]، پردازش تصویر[16]، پردازش ویدئو[17]، تجارت الکترونیک[18] و شبکههای اجتماعی[19] مورد استفاده قرار میگیرند.
همچنان که تلفنهای هوشمند پیچیدهتر و کاربردیتر میشوند، نیاز آنها به منابع پردازشی بیشتر نیز افزایش مییابد. متاسفانه، سرعت رشد توان محاسباتی گوشیهای هوشمند در سالهای اخیر به نسبت نیاز آنها به توانهای پردازشی بالاتر بسیار کند بوده است. بنابراین، بسیاری از برنامههای کاربردی به دلیل محدودیتهایی مانند توان پردازشی پایین، حافظه محدود، عمر باتری محدود و سرعت پایین شبکهای در گوشیهای هوشمند مناسب نیستند[5] و [6].
به طور کلی، برای اینکه گوشیهای هوشمند و به طور کلی ابزارهای موبایل از لحاظ مصرف انرژی و قابلیت پردازشی کارا شوند، تغییرات و بروزرسانیهای اساسی سختافزاری و نرمافزاری از جانب توسعهدهندگان برنامههای کاربردی و کارخانههای تولید کننده مورد نیاز است [7] و [8] و [9].
با توجه به محدویتهای اندازه که در ابزارهای موبایل و گوشیهای موبایل وجود دارد امکان ارائه یک قدرت پردازشی بالا در این ابزارها وجود ندارد. بنابراین تغییرات نرمافزاری در این زمینه بسیار کاراتر و موثرتر خواهد بود، به نوعی که محاسبات در منابع و سرورهای راه دور اجرا و نتایج به ابزارهای موبایل انتقال یابد [10].
تخلیه محاسبات[20] فرآیندی است که در آن محاسباتی که نیاز به منابع زیاد[21] دارند از دستگاههای موبایل به مراکزی که دارای توان پردازشی بالا[22] هستند، مانند محیط ابر یا سرورهای قدرتمند انتقال مییابد. تخلیه محاسبات به محیط ابری باعث افزایش توان محاسباتی در دستگاههای موبایل، کاهش مصرف باتری و اجرای برنامههای کاربردی که از لحاظ زیرساختی قابلیت اجرا بر روی دستگاههای موبایل را ندارند، میشود. علاوه بر این، محیط ابر میتواند سرویسهای ذخیرهسازی داده و اطلاعات را نیز برای مقابله با محدودیت حافظه در دستگاههای موبایل را نیز برطرف سازد.
اخیرا، برنامههای کاربردی زیادی با پشتیبانی محیط ابری برای حوزههای مختلف، مانند تجارت [11]، سلامت[12] و [13]، آموزش [14] و [15]، شبکههای اجتماعی [16]، بازی [17]، اشتراک فایل و جستجو [18] و ... به وجود آمده است.
پردازش ابری موبایل به صورت ترکیب تکنولوژی محیط محاسبات ابری با دستگاههای موبایل برای کامل کردن ابزارهای موبایل از نظر پردازشی، ذخیرهسازی، انرژی و آگاهی از متن[23] تعریف میشود. پردازش ابری موبایل حاصل رویکردی بینرشتهای شامل پردازش موبایل و پردازش محیط ابری میباشد. این حوزه فرا رشتهای همچنین به عنوان پردازش موبایل-ابر نیز شناخته میشود[19].
اگرچه محیط ابری برای محاسبات و ذخیرهسازی مناسب میباشد، از روشهای تخلیه محاسبات سنتی به صورت مستقیم برای گوشیهای هوشمند نمیتوان استفاده نمود. دلیل این امر هم این است که این روشها در حالت کلی از لحاظ مصرف انرژی بهینه نیستند و نیاز به حجم زیادی از پهنای باند دارند. علاوه بر این، برنامههای کاربردی سنتی موبایل به نحوی توسعه یافتهاند که فقط امکان اجرا بر روی دستگاههای موبایل را دارند و امکان تخلیه محاسبات در آنها تعبیه نشده است [20] و [21] و [22]. فقط تعداد کمی برنامههای کاربردی موبایل وجود دارد که مبتنی بر ابر هستند که محدود به ذخیرهسازی اطلاعات و سرویسهای برنامههای کاربردی میشوند مانند Apple’s Siri (Voice Based Personal Assistant) و iCloud storage service.
بنابراین، گوشیهای هوشمند نیازمند مدل کاربردی[24] برای پشتیبانی از تخلیه محاسبات هستند به طوریکه برای محیط محاسبات ابری موبایل با در نظر گرفتن شرایط ناهمگنی[25]، آگاهی از متن[26]، سربار تقسیمبندی برنامه کاربردی[27]، هزینه دادههای شبکه[28]، پهنای باند[29] و مصرف انرژی، بهینه باشد. در فصول بعدی به طور مفصل به مدلهای محاسبات ابری موبایل خواهیم پرداخت.
1-2 پردازش ابری موبایل
با توجه به مقدمهای که گفته شد، در این قسمت سعی داریم تا پردازش ابری موبایل را به صورت رسمی و اصولی تعریف کنیم.
پردازش ابری ارائه پردازش و توان محاسباتی به مشتری بجای ارائه محصول به وی میباشد. این تکنولوژی پردازش، نرمافزار، و فضای ذخیرهسازی را برای کاربران فراهم میکند، بدون اینکه نیاز باشد کاربران بدانند این تجهیزات به صورت فیزیکی در کجا قرار دارد و از چه تنظیماتی بهره میبرد. تحقیقات اخیر در حوزه پردازش ابری بر روی چگونگی مدیریت پردازش، فضای ذخیرهسازی و منابع ارتباطی که بین چندین کاربر در یک محیط مجازی[30] و ایزوله[31] به اشتراک گذاشته شده است، تمرکز دارد.
شکل 1-1 مدل سرویسها در یک محیط پردازش ابری را نشان میدهد، که پیشنهادات و امکانات یک محیط ابری را به سه دسته عمده تقسیم کرده است: [23]
- نرمافزار به عنوان سرویس[32]:
که امکان دسترسی کاربران نهایی به یک برنامه خاص مانند مایکروسافت آفیس[33] یا سرویس پست الکترونیکی گوگل[34] را فراهم میکند.
- سکو به عنوان سرویس[35]:
که واسط برنامهنویسی کاربردی[36] و محیط توسعه برنامهنویسی را برای توسعه دهندگان فراهم میکند. مانند google application engine و Amazon Web Services و Microsoft Azure.
- زیرساخت به عنوان سرویس[37]:
که تسهیلات پردازشی و ذخیرهسازی را در محیطی مجازی با استفاده از چارچوبهایی مانند Amazon EC2 و S3 فراهم میکند.
با توجه به تعریفی که در [24] ارائه شده است، پردازش ابری موبایل، مجموعهای از تکنیکها برای بهرهبرداری از منابع محیط ابری به منظور قدرتمند کردن برنامههای کاربردی موبایل میباشد. هدف اصلی فراهم کردن امکان استفاده بهتر از دستگاههای موبایل میباشد، دستگاههایی که از نظر پردازش، ذخیرهسازی و باتری دارای محدودیت هستند.
شکل 1-2 ساختار کلی پردازش ابری موبایل به همراه عاملهای مهم این حوزه، مانند فراهم کننده محیط ابر، محتوا و سرویسها و شبکه و گوشیهای هوشمند را نشان میدهد [3].

رایانش ابری موبایل
3 برنامه های پردازش ابری موبایل
در این بخش به توضیح چندین نمونه از برنامههای گوشیهای هوشمند که مبتنی بر پردازش موبایل ابری هستند، پرداخته میشود. سعی شده است که این برنامهها در حوزههای مختلف انتخاب و ارائه شوند.
برنامههای کاربردی موبایل تبدیل به بخشی مهم و اساسی از جامعه در حوزههای مختلف از قبیل آموزش، تجارت، سلامت و حمل و نقل شده است. تحقق این برنامههای کاربردی در مقیاس بزرگ، یکی از چالشهای مهم برای توسعه دهندگان برنامههای کاربردی موبایل میباشد. توسعهدهندگان در این حوزه با چالشهای زیادی از قبیل محدودیت منابع در گوشیهای موبایل، امنیت و حفظ حریم شخصی و ... روبرو هستند.
در این قسمت به معرفی چندین نمونه از برنامههای کاربردی موبایل میپردازیم که با استفاده از پردازش ابری موبایل عملکرد آنها کاراتر و بهتر شده است.
1-3-1 یادگیری موبایل[1]
با ترکیب پردازش موبایل و پردازش ابری، این امکان به وجود آمده است تا برنامههای کاربردی متنوع تری در زمینه آموزش و یادگیری برای گوشیهای هوشمند به وجود آیند. یادگیری موبایل به صورت زیر تعریف میشود: [26]
استفاده از تکنولوژی موبایل برای بهبود و افزایش دانش، تواناییها و رفتار آموزشی در میان مردم، یادگیری موبایل گفته میشود.
یادگیری موبایل سطحی از قابلیت حمل[2] را به روند آموزش از طریق تبلتها و گوشیهای هوشمند اضافه میکند، مانند دیگر سیستمهای یادگیری الکترونیک، یادگیری موبایل نیز یک سیستم مشارکتی میباشد.
یک برنامه نمونه برای یادگیری موبایل برنامه Mobile Learning System (MLE) میباشد: [14] و [15]
این برنامه قابلیت انجام اعمال مختلف با ساختاری چند رسانهای[3] را بر روی محتوای موبایل کاربران از قبیل موقعیت مکانی، زمان، تاریخ فعالیت و ... فراهم میکند.

رایانش ابری موبایل
ترکیب محتوا به همراه دانش موجود در آن حوزه فواید زیادی دارد. اولا، ارتباط و فعل و انفعال پویا بین دانش آموزان و معلم به بهبود و افزایش کارایی روند آموزش کمک میکند. ثانیا، اشتراک عقاید و دیدگاهها بین دانش آموزان باعث بحث و تبادل نظر در حین روند آموزش میشود. همانطور که یادگیری دانش آموزان از یکدیگر یکی از مراحل مهم آموزش میباشد.
استفاده از این نوع از برنامههای یادگیری موبایل طی آزمایشی که انجام شده است، نشان داده است که باعث بهبود 22 درصدی عملکرد دانش آموزان در امتحانات نهایی شده است [27]. در نهایت نیز با استفاده از نیازها، محتوا و یادگیری الگوهای رفتاری دانش آموزان، درسها و همکلاسیها و اساتید مرتبط برای بهبود روند آموزش پیشنهاد میشود.
چالشهای اصلی در این حوزه عبارتند از:
- مصرف باتری و انرژی برای پخش جریان ویدئو با کیفیت بالا یکی از مهمترین چالشها در این حوزه میباشد. برای این منظور روشهای تحویل منابع که از لحاظ انرژی کارا هستند مورد استفاده قرار میگیرد. یکی از این روشها بدین صورت است که تمام بخشهای یک اسلاید یا یک فایل آموزشی با کیفیت بالا برای کاربران ارسال نمیشود و فقط بخشهایی که مهم هستند با کیفیت بالا ارسال میگردند.
- به دلیل استفاده شبکه وایرلس اشتراکی که برای این نوع از برنامهها استفاده میشود، اغلب با مشکل کمبود پهنای باند مواجه هستیم. برای این منظور از تکنیکها و روشهای نوین برای کنترل و مدیریت پهنای باند در این برنامههای استفاده میشود.
- چالش دیگر در این حوزه حفظ امنیت و حریم شخصی افراد است که میتواند بین خود دانش آموزان با هم و یا بین دانشآموزان با معلم در نظر گرفت.
حل چالشهای بالا و ارائه راهحل هایی برای مقابله با آنها از حوزههای تحقیقاتی باز در زمینه پردازش موبایل میباشد.
[1] Mobile Learning
[2] Portability
[3] Multimedia
[1] Mobile Devices
[2] Wireless Network
[3] Mobile Computing
[4] Resources
[5] Communications
[6] Cloud Computing
[7] Framework
[8] Computing
[9] Storage
[10] Services
[11] Applications
[12] Capital Cost
[13] Decouple Services from the underlying Technology
[14] Resource Provisioning
[15] Games
[16] Image Processing
[17] Video Processing
[18] E-commerce
[19] Social Networks
[20] Computation offloading
[21] Resource Intensive
[22] Resource Rich
[23] context awareness
[24] Application Model
[25] Heterogeneity
[26] Context Awareness
[27] Application Partitioning Overhead
[28] Network Data Cost
[29] Bandwidth
[30] Virtualized
[31] Isolated
[32] Software as a Service (SaaS)
[33] Microsoft Office
[34] Gmail
[35] Platform as a Service (PaaS)
[36] Application Programming Interfaces (API)
[37] Infrastructure as a Service (IaaS)
برای دریافت فایل کامل سمینار از طریق لینک زیر درخاوست دهید: