بخشی از مقاله
تلفیق رایانش ابری و شبکه های نظیر به نظیر در جریان سازی ویدیو
چکیده: همانطور که میدانید شبکههایی نظیر به نظیر دارای کاربردهای گستردهای می باشند که یکی از کاربردهای آن که امروزه بسیار چشمگیر شده است ، جریان سازی ویدیو است. از طرفی با پیدایش رایانش ابری، خیلیها بر این باورند که به زودی این تکنولوژی کل صنعت فناوری اطلاعات را دگرگون خواهد کرد.
لذا به تازگی، در این زمینه مسائلی مطرح شده است که می توان از این تکنولوژی در بحث جریان سازی ویدیو نیز استفاده نمود و سیستم را در زمینه های مختلف بهبود داد. بنابراین به دلیل اینکه پیش بینی می شود این روند در چند سال آینده رشد قابل تـوجهی را به خود داشته باشد، در این مقاله قصد داریم به نحوهی عملکرد این نوع سیستمها و مزایای حالت تلفیق یافتهی آن اشاره نماییم .
کلمات کلیدی: جریان سازی ویدیو، رایانش ابری، شبکه های نظیر به نظیر
-1 مقدمه
رایانش ابری مفهوم جدیدی است که از سال 2007 مطرح گردید و بسیاری از پیشرفتهای تکنولوژی در زمینهی فناوری اطلاعات را تحت تاثیر خود قرار داده است. بر اسـاس تعریفـی کـه توسـط موسسه ملی استاندارد و فناوری[17] بیـان شـده اسـت، رایـانش ابری، مدلی است که با اسـتفاده از آن کـاربران قـادر هسـتند در مواقع نیاز، از منابعی که دارای قابلیت پیکربندی مـی باشـند، بـه صـورت اشـتراکی و بـدون تعامــل بـا فـراهم کننـدهی ســرویس، استفاده نمایند.
از مزایای مهم رایانش ابـری مـی تـوان بـه صـرفهجـویی در مصرف هزینه، انعطافپذیری بالا، استفاده بهینه از منابع، توانـایی ارائهی منـابع بـه صـورت نامحـدود، مقیـاس پـذیری و دسـترس پذیری بالا، عدم فقدان داده و مهمترین مزیت آن به هنگام بودن آن و ... اشاره نمود.
از طرفی برخلاف شبکههای کلاینت/ سرور که در آن هر نود، یا کلاینت است و یا سرور، در شبکههای نظیر به نظیر، یک نود این قابلیت را دارد که هم نقش کلاینت را بازی کند و از نودهای دیگر سرویس را دریافت کند و هم نقش سرور را بازی کند و به نودهای دیگر سرویس بدهد و بدین ترتیب می تواند از پهنای باند آپلود نیز همانند پهنای باند دانلود به خوبی استفاده کند. از مزایای این نوع شبکهها نیز میتوان به استفاده کارآمد از منابع، کاهش هزینه، مقیاس پذیری و ... اشاره نمود. از مهمترین کاربردهای شبکه های نظیر به نظیر میتوان به جریان سازی ویدیو اشاره کرد.
به تازگی این ایده مطرح گردید که می توان این دو تکنولوژی را در بحث جریانسازی ویدیو با یکدیگر تلفیق کرد و بدین طریق سیستم را نسبت به حالتی که تنها از شبکههای نظیر به نظیر استفاده می کند، بهبود داد.
لذا در این مقاله قصد داریم ابتدا به چالشها و کاستیهای موجود در بحث جریان سازی ویدیو با استفاده از شبکه های نظیر به نظیر اشاره کرد و سپس به توضیح رویکردی که از رایانش ابری نیز برای حل مسائل موجود استفاده شده است ، بپردازیم .
-2 جریان سازی ویدیو مبتنی بر تقاضا
در سیستم های جریان سازی ویدیو مبتنی بر تقاضا، کاربران با هم همزمان نیستند؛ این بدان معنی است که هر کاربر می تواند در هر زمانی، هر ویدیویی را که میخواهد، انتخاب کرده و از هر قسمت آن ویدیو شروع به تماشا کند. همانند سیستم های Hulu [18]، .[19] Youtube
مسئله : در ارائهی سرویسهای ویدیو مبتنی بر تقاضا با استفاده از شبکههای نظیر به نظیر، در صورتی که بخواهیم از سرورهای اختصاصی استفاده کنیم، جهت پاسخگویی به تمامی درخواستها حتی در زمانهای اوج شبکه، مجبوریم از سرورهایی با ظرفیت بالا استفاده نماییم. اما مسئلهای که در اینجا مطرح میشود این است که در بعضی از ساعات شبانه روز که درخواستها خیلی نمی باشند، منابع به هدر می روند.
بنابراین به دلیل اینکه در رایانش ابری می توان به همان میزانی که از منابع استفاده میشود، هزینه را پرداخت کرد، آقای Li و همکارانش [2] ایده ای را پیشنهاد کردند که در آن با استفاده از رایانش ابری مسئلهی مذکور را بهبود داده و هزینه را نیز تا حد قابل قبولی کاهش داد.
شکل : (1 ) معماری سیستم پیشنهادی
این ایده به این شرح است که بعضی از درخواستهای کاربران را خود سرورهای اختصاصی پاسخ میدهند و در مواقعی که درخواست ها به اوج خود میرسند یا در زمانهایی که سرورهای اختصاصی، قادر به پاسخ گویی نمی باشند، از سرورهای ابر برای پاسخ گویی به درخواستها کمک می گیرند.
طراحی سیستم فوق همانند شکل (1 ) می باشد. همان طور که در این شکل می بینید، این سیستم شامل 4 جزء میباشد که عبارت اند از :
· کلاینت ها
· سرورهای اختصاصی : که این سرورها در اختیار ارائهدهندگان ویدیو میباشد و تمام فایل های ویدیویی در آنها ذخیره میشود. این سرورها دارای دو وظیفه نیز میباشند، یکی پاسخ به درخواستهای کاربران و دیگری آپلود نمودن بعضی از ویدیو ها بر روی منابع ذخیرهساز ابر.
· منابع ذخیرهساز ابر: برخی از ویدیوهایی که از سمت سرورهای اختصاصی آمده است، در اینجا ذخیره میشود و در صورت نیاز برای ارائه به کاربر به سمت Cloud CDN ، ارسال میشود.
· : Cloud CDN وظیفهی تحویل ویدیوها از ابر به کاربران را دارند.
بنابراین از مطالب بالا میتوان این موضوع را استنتاج کرد که ویدیو علاوه بر اینکه در سرورهای اختصاصی قرار دارد، در منابع ذخیرهساز ابر نیز باید قرار گیرد. اما مسئلهای که در اینجا با آن مواجه میشویم این است که به دلیل اینکه میخواهیم هیچ درخواست کاربری بدون پاسخ نماند، اگر بیایم تمام ویدیوهایی که در سرورهای اختصاصی قرار دارد را در منابع ابر نیز ذخیره کنیم، هزینهی اجارهی منابع از ابر (به دلیل افزایش حجم ذخیرهسازی) و هزینه آپلود ویدیوها بر ابر افزایش مییابد. اگر هم بدون هیچ اصولی ویدیوهای کمی در منابع ذخیرهساز ابر قرار دهیم، درست است که هزینه کاهش مییابد اما ممکن است ویدیوی درخواستی در منبع ذخیرهساز قرار نداشته باشد و درخواست بدون پاسخ بماند.
لذا گفته شد که با استفاده از یک استراتژی، آن دسته از ویدیوهایی که از محبوبیت بالاتری برخوردار هستند را در ذخیرهساز قرار دهیم. اما به دلیل اینکه میزان محبوبیت ویدیوها در نزد کاربران با گذشت زمان کاهش پیدا می کند این کار را هر روز یک بار و آن هم در زمانهایی که سرور بیکار میباشد، طوری انجام دهد که همهی ویدیوهای موجود در ذخیرهساز ابر در آن لحظه محبوب باشند.
علاوه بر این، در کاری مشابه، که توسط آقایYu Wu و همکارانش [3] انجام گردید، سیستمی تحت عنوان Cloud Media پیشنهاد شد که با استفاده از آن، می توان براساس میزان تقاضاهایی که از سوی کاربر میآید، از فراهم کنندههای سرویس ابر، منابع اجاره شود و به این طریق، هزینه را کاهش داد. علاوه بر این طوری ویدیوها را در ذخیره سازهای ابر ذخیره میکند که کارایی نیز افزایش یابد.
-3 جریان سازی ویدیو به صورت زنده
بر خلاف جریانسازی ویدیو مبتنی بر تقاضا، در جریانسازی ویدیو به صورت زنده، همهی کسانی که ویدیو را دریافت میکنند با هم همزمان هستند و همه یک ویدیو را مشاهده می نمایند همانند سیستم .[20]PPTV
مسئلهی اول: برای ارائهی سرویسهای ویدیو به صورت زنده با استفاده از شبکههای نظیر به نظیر، به دلیل اینکه کاربران از همه جای دنیا با منطقهی زمانی1 مختلف درخواست خود را برای دریافت ویدیو ارسال میکنند، لذا درخواستها و نیازمندیهای کاربران، بسته به اینکه در کدام کشور میباشند و اینکه در چه ساعاتی از شبانهروز درخواست خود را ارسال میکنند ، متنوع است.
به عبارتی همانطور که در شکل ( (2 مشاهده میفرمایید، در سیستم ویدیویی زنده مانندPPTV و برای کانال CCTV3 در ساعت 20:00 تعداد درخواستهای کاربران آمریکای شمالی خیلی زیاد می باشد، این در حالی است که درخواست های کاربران آسیایی در این ساعت کم می باشد.
بنابراین در اینجا دو مسئله وجود دارد :
درخواستهای کاربران در یک منطقه در طول ساعات شبانه روز متفاوت می باشد.
همچنین درخواستهای کاربران در یک زمان برای منطقههای مختلف نیز متفاوت می باشد .
لذا اگر در این حالت از سرورهای اختصاصی، با ظرفیت ثابت استفاده کنیم، برای پاسخگویی به تمامی درخواستها در تمامی ساعات شبانهروز باید از سرورهایی با ظرفیت بالا استفاده شود. بنابراین برای کاهش میزان پهنایباند مصرفی و هزینه، سیستم [4] CALMS مطرح گردید.
همان طور که در شکل (3) نیز مشاهده میفرمایید، به دلیل اینکه رایانش ابری دارای خاصیت مبتنی بر تقاضا می باشند، لذا برای حل مسئلهی متغیر بودن درخواست ها درطول ساعات شبانه روز، از منابع ابر استفاده میشود؛ همچنین جهت حل مسئلهی متفاوت بودن منطقههای زمانی مختلف، از منابع ابر به صورت محلی استفاده می شود. به عبارتی کاربران هر منطقه به سرورهای محلی خودشان متصل میشوند و در صورتی که میزان تقاضا برای آن منطقه کم شود، میزان سرور اضافی رها میشود.
اما در این سیستم پیشنهادی، به دلیل اینکه سرورهای ابر دارای ظرفیت و هزینهی اجارهی متفاوتی میباشند، باید مشخص شود که از چه زمانی و به چه مدت زمان، نیاز به اجارهی منبع میباشد. با استفاده از الگوریتمی که در [4] نیز پیشنهاد شده است ، میتوان یک مجموعهای را به صورت پویا پیش بینی کرد که در این مجموعه مشخص می شود که در زمان t ، سرور x به مدت d اجاره شود و به طور مداوم این مجموعه را با میزان تقاضای کاربران مقایسه می کند و در صورتی که نیاز باشد، منابع اضافه یا کاهش مییابد.
مسئلهی دوم: مسئلهای دیگر که در جریان سازی ویدیو به صورت زنده با استفاده از شبکههای نظیربه نظیر مطرح میشود این است که، منبع جریان ویدیو وظیفه دارد که ویدیوها را به دست تمام نظیرها برساند، اما با افزایش ترافیک شبکه، در پهنای باند آپلود منبع جریان، گلوگاهی به وجود میآید و در نتیجه خیلی از نظیرها نمی توانند ویدیو را دریافت کنند و این بدین معناست که نمی توان کیفیت سرویس را تضمین کرد.
آقای Payberah و همکارانش [5] در ابتدا ایدهای را برای حل این مسئله پیشنهاد دادند که از یک منبع ذخیره سازی ابر مانند [21] Amazon S3 به نام کمککنندهی غیرفعال (2PH) استفاده شود و منبع جریان، علاوه بر اینکه ویدیوها را در اختیار نظیرهای ریشه جهت انتشار ویدیو در گروه نظیرها3 قرار میدهد، در این منبع ابر یا PH نیز ذخیره می کند. حال آن نظیرهایی که نمیتوانند از طریق منبع جریان، ویدیو را دریافت کنند، به این PH مراجعه کرده و ویدیو را از آن دریافت میکنند. به این طریق میتوان کیفیت سرویس را تاحدی تضمین کرد.
اما به دلیل اینکه هر مراجعه به PH، دارای هزینه می باشد در صورتی که تعداد نظیرهایی که ویدیو را دریافت نمیکنند زیاد