شبکه‌های محتوا برای تحویل ویدئو در اینترنت

 

در قسمت ۲٫۲ دو معماری اصلی را برای شبکه‌های تحویل ویدئو برپایه‌ی اینترنت را معرفی کردیم: TV اینترنتی و P2PTV. در این قسمت آنها را بطور عمیق‌تری مورد بحث و بررسی قرار می دهیم. بسته به تعداد مشتری های همزمان آنها، TV های اینترنتی با استفاده از مجموعه ای از سرورها یا توسط یک شبکه‌ی تحویل محتوا‌ی مقیاس‌پذیر (CDN) به کار بسته شده‌اند. از طرف دیگر، P2PTV بر اساس سیستم‌های نظیر به نظیر (P2P) تشکیل شده است.
معماری‌های گوناگونی برای سرویس‌های یکسان، با توجه به مقیاس و هزینه‌ کاربری ها مورد نیاز است (توسعه‌ی این سرویس در اینترنت به دلیل هزینه‌های بالای پهنای باند بسیار گران است).

 

مشکل مقیاس پذیری و هزینه‌ی ارسال ویدئوی زنده در اینترنت

 

مشکل مقیاس و هزینه از این واقعیت که تنها ارتباطات موجود در اینترنت، ارتباطات یک به یک هستند نتیجه می‌شود، که به ارسال نسخه های متعددی از ویدئو به هر کلاینت اشاره دارد.
پهنای باند، گرانترین منبع در اینترنت است و تحویل ویدئو، سرویسی است که بیشترین تقاضای پهنای باند را دارد. به طور خاص، هزینه‌ی تحویل زنده‌ی ویدئو با تعداد کلاینت‌هایی که همزمان در شبکه وجود دارند متناسب است و امروزه این اولین محدودیت برای در دسترس بودن و تنوع محتوای ویدئو در اینترنت است. با این حال، به دلیل اینکه جریان ویدئوهای پرطرفدار، ازدحام زیادی در اغلب بخش های اینترنت ایجاد می کنند، مقیاس‌بندی تحویل ویدئوی زنده بدون یک برنامه‌‌ریزی دقیق، مشکل است. ازدحام، به تعداد زیاد تلفات بسته ها در هنگام توزیع و در نتیجه تنزل کیفیت تصویر دریافت شده توسط کلاینت‌ها منجر میشود.
با این حال ارتباط نقطه به نقطه یک محدودیت استاندارد پروتکل اینترنت[۱۲] نیست، بلکه یک قانون تجاری مهیا کننده‌ی سرویس اینترنت[۱۳] مرسوم است که بر اساس نبود استاندارد‌های پخته و حفاظت از منافع است. در IP، ارتباط یک به یک، تک پخشی[۱۴] نامیده می‌شود. استاندارد IP، ارتباط یک به همه[۱۵] و یک به تعداد[۱۶] را نیز ممکن می‌سازد. در حالی که در IP همه پخشی، داده به تمامی مقصد‌های ممکن فرستاده می‌شود (فقط یکبار توسط منبع)، در چندپخشی IP، داده به تمامی متقاضیانی که علایقشان به آن داده را در منبع ثبت کرده‌اند، فرستاده می‌شود (فقط یکبار توسط منبع). همه پخشی IP و چندپخشی IP به شبکه‌های اختصاصی محدود شده‌اند (شبکه‌های صنفی یا سازمانی). برنامه‌های کاربردی که چندپخشی IP را استفاده می‌کنند؛ شامل: معماری‌های IPTV (بخش ۲٫۲ را ببینید)، ویدئو کنفرانس، یادگیری از راه دور، ارتباطات صنفی، توزیع نرم‌ افزار، پروتکل‌های مسیریابی، نشان دادن سهام، اخبار و غیره می‌باشند. IP چندپخشی قادر به کمینه کردن پهنای باند مصرف شده در شبکه است. یک متقاضی به منظور دریافت یک محتوای چندپخشی خاص، به یک گروه چندپخشی می پیوندد (توسط پروتکل مدیریت گروه اینترنت IGMP). مسیر‌یاب‌ها درخت‌های توزیع را برای هر گروه چندپخشی می‌سازند (با استفاده از چندپخشی مستقل پروتکل PIM) که محتوای چندپخشی را به تمامی متقاضیانی که در این گروه هستند ارسال و توزیع می‌کند.

 

شبکه‌های تحویل محتوا (CDN): مقیاس پذیری جهانی

 

بدون استفاده از IP multicasting در اینترنت، زیرساخت تحویل ویدئو معمولا توسط یک مجموعه سرور آغاز می‌شود که ارتباطات تک پخشی را بکار می‌برند. این مجموعه قابلیت دسترسی و حفظ تعادل بالایی را بین سرور‌های خود فراهم می‌کند. این مجموعه سرورها دارای یک پهنای باند در دسترس (و گران قیمت) B Kbps است، که توسط مجموعه‌ای از سرورها (معمولا بطور یکنواخت) به اشتراک گذاشته می‌شود. اگر جریان، bw Kbps را مصرف کند، تعداد کل کلاینت‌های همزمان باید کمتر از B/bw باشد. با افزایش پهنای باند B در دسترس (که هزینه را نیز افزایش می‌دهد)، یا با کاهش کیفیت ویدئو (کاهش bw) می‌توان تعداد کلاینت‌های را افزایش داد. برای مثال اگر bw=500 Kbps باشد و ما چهار هزار کلاینت داشته باشیم (که برای یک سیستم جهانی تعداد کمی است)، ما نیاز به B=2 Gbps داریم (که برای اکثر مدل‌های تجاری مقدار بسیار بالایی است). سرور‌های واقعی می‌توانند جریان‌های تقریبی ۸۰۰ Mbps را جاری سازند و می‌توانند بسیار مطمئن باشند. با این وجود، زمانی که تعداد کلاینت‌ها افزایش می یابد، مجموعه سرورها برای اجتناب از ایجاد گلوگاه و کاهش تاخیر برای کاربران انتهایی، باید به چندین مجموعه ارتقا یابد.
شبکه‌های تحویل ویدئوی برپایه‌ی اینترنت موفق کنونی، یک ساختار شبکه‌ی تحویل محتوای (CDN) سنتی دارند. یک شبکه‌ی تحویل محتوا (CDN)، سیستمی از سرورهاست که در نقاط استراتژیک در سرتاسر اینترنت قرار گرفته‌اند و بصورت ناپیدا[۱۷] برای تحویل محتوا به کاربران نهایی با یکدیگر همکاری دارند. اساسا تمامی گره‌ها در یک CDN می‌توانند محتوای مشابهی را سرویس‌دهی نمایند. اولویت برای یک گره خاص برای سرویس‌دهی یک کلاینت خاص با استفاده از پروتکل‌هایی بین سرور‌ها برای تشخیص اینکه کدام گره برای این کار بهترین است، مشخص می‌شود. هر CDN قواعد خاص خود را برای تعیین بهترین سرور دارد، که معمولا بر اساس مجاورت شبکه، ازدحام شبکه و غیره است.
CDN ها در اصل، برای بهبود سرویس جهانی وب[۱۸] توسعه یافته بودند. این راهکار، تاخیر و ترافیک شبکه را با مسیر‌دهی تقاضاهای کلاینت‌ها به یک گره نزدیک به آن کلاینت، کاهش می‌دهد. علاوه بر آن، CDN قابلیت در دسترس بودن سرویس را با اجتناب از نقاط نقص یگانه[۱۹] و انکار توزیع شده‌ی سرویس[۲۰]، بهبود می‌بخشد. امروزه، دانش آکادمیک وسیعی از زمینه‌های مختلف استفاده از تکرر CDN به WWW وجود دارد. برخی از مهمترین زمینه‌ها که راهکارهای CDN را متمایز می‌سازند، عبارتند از: مکانیزم مسیر‌یابی تقاضا، که تعیین می‌کند کدام گره به عنوان کلاینت سرویس‌دهی خواهد کرد، محتوا در کجا تکرار خواهد شد (یعنی در کجا، گره‌ای از CDN در اینترنت قرار داده شود و در کدام گره، هر محتوا، بسته به محبوبیتش تکرار شود)، چگونه پایداری بین سرور‌ها، با در نظر گرفتن تغییرات محتوا حفظ شود، و چگونه CDN با تغییرات محتوا، سرور و کلاینت وفق یابد. CDN های موفق کنونی عبارتند از: Akamai، با ده‌ها هزار سرور جایگزین[۲۱]، که در سرتاسر اینترنت قرار گرفته‌اند؛ CDNetworks، با گستره ای وسیع در سطح آسیا؛ Globule، یک CDN جمعی با کد باز؛ CoDeeN، یک سیستم ‌آزمایشی آکادمیک که بر روی PlanetLab ساخته شده است وغیره.
با در نظر گرفتن اینکه تحویل ویدئو، یکی از کاربرد‌های با تقاضای پهنای باند بالاست که در اینترنت وجود دارد، طبیعی است که فکر کنیم که CDN ها می توانند به خوبی، سرویس‌های خود را به تحویل ویدئو گسترش دهند. امروزه، تمامی CDN‌های تجاری، سرویس ویدئو در زمان تقاضا، به دلیل اینکه از نظر تکنیکی مشابه دانلود فایل است، را ارائه می دهند. همچنین CDN های خاصی برای سرویس تحویل رسانه، برای جریان صوت، و جریان تصویر توسعه یافته‌اند. موفق‌ترین TV اینترنتی از معماری CDN استفاده می‌کند، برای نمونه YouTube، msnTV، Jumptv و غیره را می توان نام برد. در پشت CDN های تجاری نیز مطالعات آکادمیک وجود دارند.
از نقطه‌ نظر مقیاس و هزینه، ساختار CDN، مشکل مقیاس‌پذیری مجموعه سرورها را (با اجتناب از گلوگاه ها) حل می‌کند؛ اما مساله‌ی هزینه همچنان پابرجا است، چرا که در یک CDN، مجموعه‌ای از سرور‌ها تمامی بار را تحمل می‌کنند (بر عمل توزیع محتوا به مشتریان متمرکز می‌شوند). بنابراین همانند راهکار مجموعه سرورها، هزینه، متناسب با تعداد کل کلاینت‌های همزمان در شبکه است. علاوه بر آن، هزینه‌ی عملکرد و نگه‌داری سرور‌هایی که در سرتاسر جهان توزیع شده‌اند، نیز باید در نظر گرفته شود. این هزینه‌ی عملیاتی، معمولا کاربرد CDN را فقط به سایت‌های تجاری بزرگ محدود می‌کند.
با این وجود، CDN، مشکل مقیاس‌پذیری را فقط تا حدی حل می‌کند:
پهنای باند در دسترس متغیر نیست؛ بنابراین یک CDN، نمی تواند با محتوایی که ناگهان محبوب می شود، مقیاس‌پذیری را فراهم ‌کند.
اگر سرور‌های CDN نزدیک به کلاینت‌ها باشد، از ایجاد تنگنا اجتناب می‌کنند. برای مثال، برای یک محتوای جهان‌گستر، این کار آسان است، اما در صورتی که برخی محتواها در داخل یک شبکه محبوبیت بسیاری داشته باشند، این عمل غیرممکن است. بعنوان مثال، مسابقات فوتبال یکی از محتواهای زنده‌ی محبوب در جهان هستند، اما برای نمونه مسابقه‌ی ایران-عراق طرفداران زیادی در داخل ایران خواهد داشت و داشتن سرور‌های زیاد در خارج از ایران کمک زیادی به ما نخواهد کرد، زیرا آنها، همان لینک‌های مزدحم را برای کلاینت‌ها به اشتراک می‌گذارند.

 

شبکه‌های نظیر به نظیر (P2P): کم کردن هزینه‌ها

 

از نقطه نظر مقیاس‌پذیری، اگر بخواهیم ویدئوهایی با محبوبیت های متفاوت را ارائه دهیم، بنظر لازم می‌رسد که باید سرور را تا حد ممکن در مجاورت کلاینت‌های نهایی داشته باشیم. از نقطه نظر هزینه، توزیع بار تحویل ویدئو به کلاینت‌های علاقمند، امری ایده‌آل بنظر می‌رسد.
روشی که در حال محبوب شدن است، شامل استفاده از ظرفیت عموما بلااستفاده کلاینت‌ها برای به اشتراک گذاری توزیع ویدئو با سرور‌ها، از طریق سیستم‌هایی با ماهیت نظیر به نظیر کنونی است. P2PTVها، شبکه‌های مجازی هستند که در سطح برنامه توسعه یافته‌اند، و گره‌ها در این شبکه‌ها، نظیر نامیده می‌شوند. این گره‌ها به این دلیل که اساسا همگی علایق مشترکی دارند، منابع خود (پهنای باند، توان پردازش و ظرفیت ذخیره‌سازی) را به گره‌های دیگر ارائه می‌دهند. در نتیجه، با افزایش تعداد مشتریان، افزایش منابع کلی شبکه نیز بوقوع میپیوندد. با این وجود، نظیر‌هایی که به نظیر دیگری سرویس می‌دهند، می‌توانند با ملاک مجاورت در شبکه،‌ با اجتناب از گلوگاه ها، حتی به صورت کارآمدتری نسبت به سرورهای CDN انتخاب شوند. پایه‌گذاری مقیاس‌پذیری در خاصیت اثر شبکه به دلیل هزینه‌ی بالای پهنای باند توزیع ویدئو،‌ بنظر ایده‌ی خوبی می‌آید. نقطه ضعف این رویکرد، این است که نظیر‌ها کاملا خودمختار و غیر‌همزمان و با فرکانس‌های بالایی قطع و وصل می‌شوند. زمانی که گره‌ای شبکه را ترک می‌کند (ما این وضعیت را نقصان[۲۲] خواهیم خواند)، باعث از دست رفتن اطلاعاتی می‌شود که در حال ارسال به گره دیگر بوده است. بنابراین، منابع شبکه تماما متغیر هستند و این منجر به یک محدودیت جدی در سطح کنترل می‌شود؛ زیرا شبکه باید دارای استقامت بالایی نسبت به این نوسانات داشته باشد. مهمترین چالش در طراحی P2P، ارائه کیفیت مورد درخواست کلاینت‌ها، در یک محیط با نوسانات بالا می باشد.
برای توزیع ویدئو در شبکه‌های P2PTV، تعدادی نمونه تجاری موجود هست. موفق‌ترین آنها عبارتند از BBC:iMP (بر اساس نرم‌افزار VeriSign Kontiki )، Joost، PPlive، PPstream، SopCast،‌ TVAnts و TVUnetwork. در کنار شبکه‌های تجاری، برخی مطالعات آکادمیک نیز از جمله SpreadIt، CoopNet و SplitStream بر روی P2PTV انجام شده است.
چالش‌های پیاده سازی یک شبکه P2P برطبق انواع سرویس‌ ویدئوی ارائه شده، متفاوت‌اند. برای نمونه، ویدئو در حین تقاضا (VoD) مشخصه‌های مشابهی به عنوان سیستم‌های P2P محبوب برای به اشتراک گذاری و توزیع فایل دارد. با این حال، جریان ویدئوی بلادرنگ (TV زنده)، محدودیت‌های متفاوت و سخت تری دارد، که به یک سری نیازمندی های تکنیکی خاص اشاره می‌کند، که برآورده ساختن آنها در محیط‌های با دینامیک بالا، بسیار مشکل است. در قسمت بعدی، خلاصه‌ای از تکنولوژی P2P را معرفی خواهیم کرد و رویکرد‌های کنونی برای سرویس TV زنده را مورد بحث قرار خواهیم داد.

 

شبکه‌های نظیر به نظیر

 

شبکه‌های نظیر به نظیر دسته‌ای از سیستم‌ها و برنامه‌ها هستند که منابع توزیع شده را برای انجام برخی اعمال بحرانی به شکلی تمرکز یافته بکار می‌برند. منابع می‌توانند از نوع پردازش، ذخیره‌سازی (بویژه محتوا) و یا ارسال (پهنای باند) باشند. کارکرد‌های بحرانی عبارتند از: محاسبه‌ی توزیع شده، اطلاعات به اشتراک گذاشته شده، همکاری بین نظیر‌ها یا هر نوعی از سرویس که بتواند توسط سیستمی با این ویژگی‌ها ارائه شود.
در رابطه با شبکه‌های P2P، یک سری از تعاریف وجود دارد (۱). در این نوشته، از تعریف زیر که توسط Clay Shriky ارائه شده ، استفاده شده است: یک شبکه‌ی نظیر به نظیر، شبکه‌ی محتوایی‌ای است که از منابع آزاد موجود در لبه‌های[۲۳] اینترنت (کاربران انتهایی) بهره می‌جوید.
شبکه‌های نظیر به نظیر موردی خاص از شبکه‌های محتوا هستند، اختلاف‌‌ها در برخی مشخصه‌های معماری و گره‌های شبکه است:
شبکه‌ها‌ی P2P از نظیر‌های مستقل تشکیل شده‌اند. در حقیقت، گره‌ها باید قابلیت قطع و وصل به شبکه را در هر زمان و به طریقی قابل انعطاف را داشته باشند. علاوه بر این، در حالت کلی هر گره‌ای، خود، مقدار منابعی که میخواهد به اشتراک بگذارد را تعیین می‌کند.
با در نظر گرفتن اینکه گره‌ها می‌توانند آزادانه وارد سیستم شده و منابع خود را به اشتراک بگذارند، یک مکانیزم تشویقی برای این عضویت در شبکه لازم است. این عامل تشویقی، به این دلیل که در شبکه‌های P2P، نظیر‌ها اهداف و یا نیازهای مشترکی را به اشتراک می‌گذارند، در حالت کلی حاصل شده است. بنابراین، میل ضمنی برای به اشترک گذاری منابع در این نوع از سیستم‌ها وجود دارد.
دست‌آورد دیگری که از استقلال نظیرها به دست می‌آید، گمنامی[۲۴] است. عموما، منابع و گیرنده‌های یک محتوا نمی‌خواهند شناخته شوند (برای مثال به دلایل قانونی، هنگامی که محتوا شامل حقوق کپی‌رایت باشد)، یا در موارد دیگر، به این دلیل که این دانش، کاملا غیرضروری است.
دسته‌بندی اولیه شبکه‌های P2P که در نشریات ظاهر شد، بر پایه‌ی نوع برنامه شبکه بود (۲):
اشتراک محتوا: تحویل فایل، توزیع چند‌رسانه‌ای، حافظه‌های توزیع یافته، نهان‌سازی[۲۵]، مدیریت اطلاعات (کشف، توده‌سازی، فیلتر کردن، واکاوی[۲۶]،‌ سازماندهی و … ).
همکاری: ارتباطات (چت، پیغام‌های فوری)، بررسی/ویرایش/تالیف/ایجاد اشتراکی، بازی کردن، شبکه‌های اجتماعی و غیره.
محاسبات توزیع شده: محاسبات توزیع شده‌ی اینترنت/اینترانت و غیره. کاربرد آن شامل جستجوی حیات برون‌زمینی، پروژه‌ی ژنوم[۲۷]، تحلیل بازار، تحلیل ریسک مالی، تحلیل آمارگیری نفوس[۲۸] وغیره.
دسته‌بندی بر پایه‌ی کاربرد، برای فهم انواع مختلف طراحی‌ها، معماری‌ها و الگوریتم‌هایی که در دنیای P2P وجود دارد ناکافی است.

 

شبکه‌ی پوششی: لایه‌ی کنترل و مسیر‌یابی

 

در یک شبکه‌ی P2P، دو نوع داده‌ی مبادله شده وجود دارد: خود محتوا (یعنی فایلها، ویدئو‌ها و غیره ) و پیغام‌های کنترل و مسیر‌یابی (قطع و وصل نظیر‌ها، انتشار محتوا،‌ جستجو‌ها و غیره). هر شبکه‌ی P2P، روش خود را برای مبادله‌ی انواع داده‌ها را دارد. همانطور که در شبکه‌های محتوا، مساله‌ی طراحی مبادله‌ی محتوا، توزیع محتوا و مساله‌ی طراحی مبادله‌ی پیغام‌های کنترل، کشف محتوا نامیده می‌شود.
با در نظر گرفتن کشف محتوا، یک شبکه‌ی P2P مجبور است که بصورت ناپیدا[۲۹]، محتوا‌ها را به کاربران انتهایی ارائه کند، یعنی نمای کلی و ثابتی از محتواها را ارائه دهد. به منظور دست یابی به این هدف، برخی پیغام‌های کنترل و مسیر‌یابی، مجبورند که بین نظیر‌ها، برای کشف موقعیت محتوا به طریق کارآمد و موثر (موثرترین و کارامدترین طریق ممکن) مبادله شوند. با اطلاعات کنترلی مبادله شده، شبکه‌ی دانش[۳۰] ساخته می‌شود. دانش، اطلاعاتی است درباره‌ی موقعیتی (در هر نظیر) که محتوایی خاص، در آن یافت می‌شود. شبکه‌ی شناخت معمولا شبکه‌ی پوششی نامیده می‌شود و بدین صورت تعریف می‌شود: شبکه‌ی پوششی، یک گراف جهت‌دار است. گره‌ها همان نظیر‌ها هستند. اگر یک نظیر شرکت کننده، موقعیت نظیر دیگر را بداند، مسیر مستقیمی از گره اولیه به گره دیگر وجود دارد.
خودسازماندهی. یک دسته‌بندی مشترک برای P2P، برپایه‌ی اینکه چگونه شبکه پوششی ساخته می‌شود وجود دارد. خودسازماندهی شبکه‌ی P2P می‌تواند ساخت‌یافته یا غیر‌ساخت یافته باشد.

 

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