رایانش مِهی (Fog Computing) – بخش اول: آشنایی
آشنایی با محاسبات مِهی (Fog Computing)
در این مطلب قصد داریم با یکی از مدل های محاسباتی نوین در صنعت پردازش رایانه با عنوان رایانش مهی که برای آن در فارسی عناوین دیگری همچون محاسبات مهی، پردازش مهی، رایانش مه، پردازش مه یا محاسبات مه نیز بیان شده و در انگلیسی به آن Fog Computing گفته می شود، آشنا شویم. در ادامه با نوتیف همراه باشید.
مقدمه
محاسبات ابری با وعده تغییر قابل توجه در روش استفاده از کامپیوترها و ذخیره اطلاعات پابرعرصه وجود گذاشت. از طرفی امروزه در حجم قابل توجهی به دستگاه های هوشمند متصل هستیم. دستگاه هایی که بار اصلی پردازش های ما را برعهده دارند. اینترنت اشیاء بر بستر محاسبات ابری در حال گسترش است و از آن به عنوان آینده اینترنت یاد می شود. بطوری که طبق ادعای IDC اینترنت اشیاء در سال 2015 نسبت به سال 2014 رشدی 14 درصدی را تجربه کرده است.
با توجه به محدودیت های ذخیره سازی و پردازشی ابزارهای هوشمند، محاسبات ابری با توانایی ارائه منابع منعطف و متناسب با نیاز برنامه های موجود در این ابزارها برای غلبه بر این محدودیت ها ارائه شده است. [1] از این رو با رشد IoT مباحث زیر بسرعت در حال رشد و گسترش هستند:[2]
- محاسبات ابزارهای پوشیدنی[1]
- اندازه گیری هوشمند [2]
- شهر و خانه هوشمند
- وسایل نقلیه بهم متصل
- شبکه های حسگر بیسیم در مقیاس بزرگ[3]
استفاده از محاسبات ابری بسیار گسترش یافته و با رشد اینترنت اشیاء این روند سرعت بیشتری گرفته اما به رغم تلاش ها برای تقویت برنامه های کاربردی اینترنت اشیاء با بهره گیری از قدرت محاسبات ابری، به دلیل مشکلات ذاتی محاسبات ابری ، هنوز مشکلات حل نشده ای در این برنامه ها وجود دارد. مشکلاتی مانند زمان تاخیر غیرقابل اعتماد، عدم متحرک بودن و عدم آگاهی از مکان. این درحالی است که برنامه های IoT همواره به پشتیبانی از تحرک دستگاه، توزیع جغرافیایی، آگاهی از مکان و تاخیر کم نیاز دارند مواردی که محاسبات ابری آنها را ارائه نمی دهد.[1]
از این رو مدل رایانش مهی که به آن محاسبات لبه ای[4] هم گفته می شود توسط سیسکو[5] در جهت حل مشکلات ذکر شده برای رایانش ابری با ارائه منابع و خدمات منعطف در لبه شبکه به کاربران نهایی برخلاف محاسبات ابری که بیشتر منابع خود را بصورت توزیع شده در هسته شبکه به کاربران ارائه می کند، ارائه شده است. در ادامه به تشریح کامل این الگوی رایانش جدید خواهیم پرداخت.
تاريخچه موضوع
باور کردنش سخت است، اما قدمت مفهوم محاسبات ابری به دهه 1950 بر می گردد. یعنی زمانی که مردم از ترمینال های “گنگ و کُند” برای دسترسی به داده های ذخیره شده در ابرکامپیوترها استفاده می کردند. از آنجایی که رایانش مهی پرادایمی است که مدل محاسبات ابری را به لبه شبکه گسترش می دهد و در عمل موارد تشابه زیادی بین این دو وجود دارد می توان تاریخچه ای مشابه با رایانش ابری را برای آن متصور شد.
اما مفهوم رایانش مهی به معنای حال خود عمر دراز مدتی ندارد و یکی از موضوعات نوپا در عرصه شبکه و اینترنت و محاسبات محسوب می شود.
کلمه رایانش مهی (Fog Computing) اولین بار توسط یکی از کارکنان ارشد سیسکو به نام جینی نیکولز (Ginny Nichols) ابداع و از آن به عنوان یک مدل ارسال داده بیسیم آسان بین دستگاه های توزیع شده در اینترنت اشیاء نام برده شد. از سال 2010 بصورت جسته و گریخته این مفهوم در محافل علمی پدیدار شد و از سال 2014 توجه ها به آن بیشتر شد و همکنون یکی از موضوعات نوین در امر پردازش و اینترنت اشیاء به حساب می آید.
مفاهيم پايه اي در رایانش مهی
ما از زمان پابه عرصه گذاشتن رایانش ابری راه درازی را طی کرده ایم. اتصال به ابر و استفاده از خدمات آن امری عمومی شده و متخصصین دنبال راه هایی برای تکمیل رایانش ابری در جهت استفاده از آن در انقلاب اینترنت اشیاء (IoT) که در چند دهه آینده همه چیز را آنلاین خواهد کرد هستند.[3]
یک از راه ها برای رسیدن به این هدف رایانش مهی است که در آن محاسبات ابری به لبه شبکه گسترش پیدا می کند. رایانش مهی پلتفرمی بشدت مجازی شده است که قادر به ارائه سرویس هایی نظیر پردازش، فضای ذخیره سازی و خدمات شبکه بین دستگاه های نهایی و مراکز داده سنتی محاسبات ابری می باشد.
خدمات یاد شده بلوک های تشکیل دهنده هر دو مدل ابر و مه می باشند. این خدمات برای پشتیبانی از موج نوظهور پیاده سازی اینترنت حیاتی هستند. موجی که در آن به پشتیبانی از تحرک (mobility support) و توزیع شدگی جغرافیایی (geo-distribution)، آگاهی از مکان (location awareness)، تعاملات بلادرنگ (real-time interactions) و تاخیر کم (low latency) نیاز است. همچنین این مهم است که خدمات یاد شده از تعداد کثیری از گره ها در محیط های بشدت ناهمگن پشتیبانی کنند.
در چشم انداز سیسکو، رایانش مهی به عنوان یک قالب از الگوی رایانش ابری در نظر گرفته شده که از هسته شبکه به لبه شبکه منتقل شده است. اما در عمل تعریف رایانش مهی عبارت است از: «یک سناریو که در آن تعداد زیادی از دستگاه های ناهمگن[6] (بی سیم و گاهی مستقل) رایج (در همه جا حاضر) و غیر متمرکز با پتانسیل همکاری با هم در درون شبکه در راستای انجام وظایف ذخیره سازی و پردازش بدون دخالت اشخاص ثالث با هم در ارتباط هستند. این وظایف می توانند برای حمایت از عملیات عمومی شبکه یا خدمات و برنامه های کاربردی جدید که در یک محیط ایمن (sandboxed environment) اجرا می شوند باشند. کاربران در قبال دریافت مشوق هایی، بخشی از دستگاه های خود را برای میزبانی از این خدمات اجاره (leasing) می دهند». [1]
مشخصه های مهم رایانش مهی
رایانش مهی = قدرت جمعی و نسل جدید برنامه ها و خدمات
از مهمترین مشخصه های رایانش مهی می توان به تاخیر کم[7] ، آگاهی مکانی[8]، توزیع جغرافیایی گسترده[9]، قابلیت تحرک و جابجایی[10]، تعداد گره های بسیار بالا، نقش مهم در دسترسی بیسیم، حضور قوی در عرصه استریم محتوا و نرم افزارهای کاربردی بلادرنگ[11] و ناهمگن بودن[12] اشاره کرد.
جایگاه رایانش مهی
جایگاه رایانش مهی جایی بین ابر و استفاده کننده نهایی از خدمات است. در واقع مه در بین ابر و استفاده کننده نهایی مثل یک پل و ابزار ارتباطی که خود نیز می تواند از پس بسیاری از وظایف محاسباتی و ذخیره سازی بر بیاید عمل می کند. تصویر 1 این مفهوم را شرح می دهد.
همانطور که در تصویر 2 شرح داده شده است در ساختار ابر – مه – کاربرنهایی (Cloud – Fog – End Users) هر چه به سمت ابر (Cloud) حرکت کنیم در سمت دور (Far-End) این ساختار به قدرت پردازشی و فضای ذخیره سازی بیشتری می رسیم و امکان پردازش فرآیندهای پردازشی عظیم همچون مدیریت و داده کاوی داده های کلان و یادگیری ماشین میسر می شود. اما در عوض دچار مشکلاتی همچون تاخیر بیشتر، عدم آگاهی از مکان و عدم تحرک خواهیم شد. اما هر چه به سمت مه حرکت کنیم سرعت پاسخگویی در عملیات افزایش یافته و تاخیر کم میشود از طرفی تحرک بیشتری خواهیم داشت. همچنین اجرای اعمالی نظیر پردازش بلادرنگ داده ها، کش کردن آنها و تخلیه پردازشی در مه امکان پذیر است.
تفاوت رایانش مهی و رایانش ابری
اما برای درک هرچه بهتر رایانش مهی و تمایز آن از رایانش ابری باید ابتدا تفاوت های این دو مدل محاسباتی را بفهمیم. از این رو در ذیل به تفاوت های مهم این دو مدل محاسباتی می پردازیم. همانطور که در ابتدا گفته شد رایانش مهی برای پوشش دادن به برخی از محدودیت های محاسبات ابری مطرح شده است. ما برای محاسبات ابری مشکلاتی مانند زمان تاخیر غیرقابل اعتماد، عدم متحرک بودن و عدم آگاهی از مکان را بیان کردیم و گفتیم که برنامه های IoT به عنوان یکی از استفاده کنندگان اصلی از خدمات ابری، همواره به پشتیبانی از تحرک دستگاه، توزیع جغرافیایی، آگاهی از مکان و تاخیر کم نیاز دارند مواردی که محاسبات ابری آنها را ارائه نمی دهد. رایانش مهی برای حل این مشکلات پا به عرصه گذاشته است.
راهکارهای رایانش مهی برای محدودیت های رایانش ابری
- رایانش مهی با کاهش جابجایی داده در شبکه باعث کاهش ازدحام (congestion) در آن نیز می شود.
- غلبه بر مشکل گلوگاه (bottleneck) که در نتیجه استفاده از سیستم های محاسباتی مرکز محور (مثل رایانش ابری) بوجود می آید.
- افزایش امنیت داده های رمزنگاری شده با نگهداری آنها در نزدیکی مصرف کننده نهایی (end user)
جدول 1: تفاوت های رایانش مهی و ابری
موضوع تفاوت | Fog Computing | Cloud Computing |
کاربران هدف | کاربران متحرک | کاربران عمومی اینترنت |
نوع خدمات | سرویس های اطلاعاتی محدود محلی مرتبط با موقعیت های پیاده سازی خاص | ارائه خدمات در سطح جهانی و جمع آوری اطلاعات عمومی از سرتاسر شبکه جهانی |
سخت افزار | قدرت محاسباتی، فضای ذخیره سازی و ارتباطات بیسیم محدود | فضای ذخیره سازی و قدرت محاسباتی فراوان با مقیاس پذیری مناسب |
فاصله بین سرویس دهنده و سرویس گیرنده | در مجاورت فیزیکی و مرتبط از طریق یک اتصال تک هاپ (One Hop) | بسیار دور از هم و ارتباط از طریق شبکه مبتنی بر IP با چندین هاپ در بین مسیر (Multiple Hop) |
محیط عملیاتی | محیط بیرونی مثل خیابان ها، پارک ها و …
محیط داخلی مثل رستوران ها، مراکز خرید، ایستگاه های قطار و اتوبوس و … |
ساختمان های عظیم مراکز داده با سیستم های خنک کننده قوی |
پیاده سازی | بصورت متمرکز یا توزیع شده در یک محدوده جغرافیایی توسط کسب و کارهای محلی مثل مراکز خرید، ارائه دهندگان اینترنت محلی و … | بصورت متمرکز و توسط شرکت های بزرگی همچون آمازون، گوگل و … |
موقعیت گره های سرویس دهنده | در لبه شبکه محلی | در اینترنت |
با توجه به نیازمندی ها نیز بین رایانش مهی و ابری تفاوت هایی وجود دارد که عبارتند از:
جدول 2: تفاوت رایانش مهی و ابری در نیازمندی ها
نیازمندی | Fog Computing | Cloud Computing |
تاخیر(Latency) | کم | زیاد |
امنیت (Security) | قابل تعریف | غیر قابل تعریف |
آگاهی از مکان (Location Awareness) | بله | نه |
امکان حمله به داده های در مسیر | بسیار کم | بالا |
پشتیبانی از تحرک (Mobility Support) | بله | محدود |
توزیع جغرافیایی (Geographical Distribution) | توزیع شده | متمرکز |
تعداد گره های سرویس دهنده | خیلی زیاد | کم |
تکنولوژی ها و مفاهیم مشابه
هنوز هم تعریف فوق از رایانش مهی مورد بحث است. ما به تعریفی از رایانش مهی نیاز داریم که آن را از تکنولوژی های مرتبط و مشابه متمایز کند. تکنولوژی هایی که ممکن است باعث نگرش غلط ما به رایانش مهی باشند. مواردی همچون MCC[13] و MEC [14]که همپوشانی هایی با رایانش مهی دارند از مفاهیم مشابه با آن هستند.
MCC یا همان رایانش ابری موبایل اشاره به زیرساختی دارد که در آن هم ذخیره سازی داده و هم پردازش آن در خارج از دستگاه های موبایل رخ می دهد. اپلیکیشن های ابری موبایل قدرت محاسباتی و فضای ذخیره سازی را از دستگاه موبایل به ابر منتقل می کنند. از اینرو MCC خدمات پردازش موبایل را نتنها به استفاده کنندگان از تلفن های هوشمند ارائه می کند بلکه بازه وسیعتری از مشترکین متحرک (افرادی که از دستگاه های قابل حمل استفاده می کنند) را پوشش می دهد. [4]
MEG می تواند به عنوان یک سرویس دهنده ابری که در لبه شبکه موبایل به فعالیت می پردازد و وظایف ویژه ای که با زیرساخت های متداول شبکه قابل اجرا نیستند را اجرا می کند، دیده شود.[5]
با توجه به تعاریف بیان شده می توان گفت که رایانش مهی ترکیبی از MCC و MEG است که خود را به عنوان یک پارادایم پردازشی امید بخش و بخوبی تعمیم یافته در زمینه اینترنت اشیاء متمایز می کند. و تکنولوژی است که در اصل برای اینترنت اشیاء مورد استفاده قرار می گیرد و محاسبات ابری و خدمات آن را تا لبه شبکه گسترش داده و ارائه خدمات و برنامه های جدیدی را میسر می سازد. همچنین شبیه به محاسبات ابری، داده، پردازش، ذخیره ساز و سرویس های کاربردی را به کاربر نهایی ارائه می کند. [1]
گره مهی (Fog Node)
امکان پردازش در لبه شبکه، برنامه ها و خدمات جدیدی را بخصوص برای آینده اینترنت فراهم خواهد کرد.[2] به عنوان مثال مسیریاب های تجاری[15] مستقر در لبه شبکه دارای قدرت و سرعت پردازشی قابل قبول با چندین هسته پردازشی و حافظه ذخیره سازی هستند. این مسیریاب ها پتانسیل تبدیل شدن به یک سرویس دهنده جدید را دارند.
در پردازش مهی به امکانات و زیرساخت هایی که قادر به ارائه منابع به خدمات در لبه شبکه هستند گره مهی گفته می شود. این گره ها می توانند دستگاه هایی با منابع محدود[16] مثل ستاپ باکس ها، اکسس پوینت ها، مسیریاب ها [6]، سوئیچ ها، ایستگاه های ثابت و دستگاه های پایانی (موبایل ها، کامپیوترها و …) یا دستگاه های غنی از نظر منابع[17] نظیر Cloudlet ها و IOx ها باشند.
ابرک یا Cloudlet
Cloudlet کامپیوتری غنی از منبع است که می توان آن را به “ابری درون جعبه[18]” تشبیه کرد که در شبکه برای استفاده توسط دستگاه های قابل حمل نزدیک در دسترس است. [7]
دستگاه IOx سیسکو
رایانش مهی پلتفرمی بشدت قابل مجازی سازی بوده که قدرت محاسباتی، فضای ذخیره سازی و خدمات مرتبط با شبکه را بین دستگاه ها و استفاده کنندگان پایانی و سرویس دهنده های ابری متداول فراهم می کند.[2] IOx ها می توانند یکی از ابزارهای کلیدی در فرآیند مجازی سازی در رایانش ابری باشند. IOx یک دستگاه مهی تولید شده توسط Cisco است که ساختار آن در تصویر شماره 1 نمایش داده شده است.
IOx بوسیله میزبانی از برنامه های کاربردی در یک سیستم عامل میهمان[19] که در حال اجرا در یک هایپروایزر بر روی مسیریاب متصل به شبکه[20] است، کار می کند. در سکوی (platform) IOx توسعه دهندگان می توانند اسکریپت های پایتون (python scripts) را اجرا کنند، کدهای خودشان در کامپایل کنند و یا حتی سیستم عامل را با گزینه مورد علاقه خود عوض کنند.[8]
IOxهای سیسکو یک محیط باز و قابل گسترش را برای میزبانی از سیستم عامل و برنامه های کاربر در لبه شبکه فراهم می کند. برای IOxها توسط سیسکو خدمات میان افزار و SDK نیز ارائه شده است.
- [1] Wearable Computing
- [2] Smart Metering
- [3] Large Scale Wireless Sensor Network
- [4] Edge Computing
- [5] Cisco Corporation
- [6] Heterogeneous
- [7] Low latency
- [8] Location Awareness
- [9] Wide-Spread Geographical Distribution
- [10] Mobility
- [11] Real Time Applications
- [12] Heterogeneity
- [13] Mobile Cloud Computing
- [14] Mobile Edge Computing
- [15] Commercial Edge Routers
- [16] Resource-Poor
- [17] Resource-Rich
- [18] Cloud in a Box
- [19] Guest Operating System (GOS)
- [20] Connected Grid Router (CGR)
منابع
- Yi, S., C. Li, and Q. Li, A Survey of Fog Computing: Concepts, Applications and Issues, in Proceedings of the 2015 Workshop on Mobile Big Data. 2015, ACM: Hangzhou, China. p. 37-42.
- Bonomi, F., et al., Fog computing and its role in the internet of things, in Proceedings of the first edition of the MCC workshop on Mobile cloud computing. 2012, ACM: Helsinki, Finland. p. 13-16.
- Cisco Cisco Technology Radar. 2014. 19-21.
- Dinh, H.T., et al., A survey of mobile cloud computing: architecture, applications, and approaches. Wireless Communications and Mobile Computing, 2013. 13(18): p. 1587-1611.
- ETSI Mobile-Edge Computing – Introductory Technical White Paper. 2014.
- Willis, D.F., A. Dasgupta, and S. Banerjee, ParaDrop: a multi-tenant platform for dynamically installed third party services on home gateways, in Proceedings of the 2014 ACM SIGCOMM workshop on Distributed cloud computing. 2014, ACM: Chicago, Illinois, USA. p. 43-44.
- Satyanarayanan, M., et al., The Case for VM-Based Cloudlets in Mobile Computing. IEEE Pervasive Computing, 2009. 8(4): p. 14-23.
- Cisco, Cisco IOx Review. 2014.
- Cisco, Cisco Fog Computing Solutions: Unleash the Power of the Internet of Things. 2015.
با سلام و روز بخیر
مطالب عالی و به روز و کاربردی بود
با تشکر