چکیدهامروزه به اشتراک گذاری فایلها به صورت گستردهایی در حال استفاده است به طوری که حدودا 70% ترافیک اینترنت را شامل میشود. اخیرا کاربرد جدیدی برای برنامههای نظیر به نظیر به وجود آمده است به نام جریان سازی صوت و تصویر. همان گونه که برنامههای اشتراک فایل بر روی تبادل دادههای ثابت کار میکنند، برنامههای جریانسازی بر روی بهبود کارائی خود با توجه به محدودیتهای زمانی کار میکنند. در این برنامهها هر گره به صورت مستقل چند گرهی دیگر را به عنوان همسایه انتخاب میکنند و دادههای جریان را با آنها مبادله میکنند. در این رساله یک مکانیزم تشویقی کاملا توزیع شده و مقیاسپذیر برای جریانسازی زنده بر روی یک شبکه پوششی نظیر به نظیر را ارائه میدهیم. مکانیزم ما شامل روش امتیازدهی ترکیبی رانش-کشش[1] برای رسیدن به یک کارایی بالا است (از نظر تاخیر، پیوستگی نمایش، همکاری و غیره). مهمترین قسمت کار ما بالا بردن پیوستگی نمایش و جلوگیری از اختلال گرههای سودجو و در نتیجه بالارفتن کیفیت سرویس میباشد. آزمایشات ما نشان داد که این ایده با وجود درصد گرههای سودجو[2]ی بالا هم کیفیت خوبی را ارائه میدهد.کلمات کلیدی: شبکههای نظیر به نظیر (Peer-to-peer)، جریانسازی تصویر (Live video streaming)، مکانیزم تشویقی (Incentive)، گرههای سودجو (Free-riders)AbstractPeer-to-peer file sharing has become increasingly popular, accounting for as much as 70% of Internet traffic by some estimates. Recently, we have been witnessing the emergence of a new class of popular P2P applications, namely, P2P audio and video streaming. While traditional P2P file distribution applications target elastic data transfers, P2P streaming focuses on the efficient delivery of audio and video content under tight timing requirements. In these applications, each node independently selects some other nodes as its neighbors and exchanges streaming data with neighbors. In this thesis, we propose a full distributed, scalable, and cooperative incentive mechanism for live video streaming in an overlay peer-to-peer network. Our mechanism makes use of combination of push-pull score-based incentive method to achieve high performance (in term of delay, stream continuity, cooperation, etc.). The main contribution of this work is that it increases the streaming continuity and avoiding free-riders in turn results better delivered quality. Furthermore, with the implementation of score-based incentive mechanism, it is resilient to existence of free-riders and encourages cooperation among participating nodes. Our experiments demonstrate that our work achieves good streaming quality even under the existence of free-riders.Keywords: Peer-to-peer, Incentive, Live video streaming, Free-riders فهرست مطالب1............. دیباچه11.1 انگیزهها و اهداف جریان سازی12............. پیش زمینه42.1 مروری بر ویدئوی دیجیتال42.1.1 فشردهسازی و کدسازی استاندارد ویدئوی دیجیتال42.1.2 کاربردهای ویدئوی دیجیتال72.2 شبکههای تحویل ویدئو102.2.1 یک مدل شبکهای ساده112.2.2 کیفیت تجربه (QoE) در یک VDN162.3 معماری شبکههای نظیر به نظیر برای ارسال تصویر در اینترنت202.4 معرفی، شبکههای محتوا222.4.1 شبکههای محتوا برای تحویل ویدئو در اینترنت242.4.2 شبکههای نظیر به نظیر312.4.3 مقدمهای بر استحکام شبکه: یک رویکرد P2P ترکیبی462.4.4 خلاصه: نتیجهگیری، نتایج و گفتگو473............. رهیافت داده رانشی : Coolstreaming493.1 چالش های فنی و مسائل باز523.2 بر مبنای درختی و داده – رانشی : آیا ترکیب این دو ممکن است ؟523.3 تشویق و بی طرفی533.4 روشهای دسترسی پهنای باند کم553.5 جنبندگی بالای نظیرها563.6 حمایت از گیرنده های ناهمگن573.7 کدگذاری شبکه : کد گذاری در نظیر573.8 پیامدهای پیاده سازی583.9 پخش ویدئو با تأخیر کم594............. مشوقها624.1 مقایسهای با به اشتراکگذاری فایل644.1.1 رتبهبندی همسایهها664.1.2 توصیهنامهها و گواهینامههای همسایگی674.1.3 رانش دادن به همسایههای خوب694.2 کدگذاری منبع و شبکه704.3 مکانیزمهای تشویقی استفاده شده در برنامههای تجاری715............. روش پیشنهادی755.1.1 محاسبهی مقدار شراکت موثر گره765.1.2 روند انتخاب پاسخ به درخواست سرویس776............. شبیهسازیها و نتایج806.1 ویژگیهای سیستم826.2 معیارهای ارزشیابی846.3 نتایجشبیهسازی857............. نتیجه گیری و کارهای پیش رو898............. مراجع91 فهرست شکلهاشکل 2‑1وابستگی درونی فریمها6شکل 2‑2مدل معماری شبکه توزیع ویدئو13شکل 2‑3اجزای یک شبکه ارسال ویدئو20شکل 2‑4پروتوکل های معماری21شکل 3‑1 نمودار سیستم Coolstreamin49شکل 3‑2نمایشی از مشارکت نظیرها در Coolstreaming50شکل 3‑3تصویر لحظه ای از بافر a)BitTorrent b)Coolstreaming50شکل 3‑4مثالی از مکانیزم این-در ازای-آن54شکل 6‑1معماری لایهای مدل شبیه سازی شده از سامانه جریان سازی نظیر به نظیر ویدئوی زنده80شکل 6‑2فرضیات شبیه سازی83شکل 6‑3مقایسه کارایی پیوستگی نمایش برای مقادیر مختلف گره و 10% سودجو85شکل 6‑4 مقایسه کارایی پیوستگی نمایش برای مقادیر مختلف گره و 50% سودجو86شکل 6‑5مقایسه کارایی از دیدگاه درصد گرههای موفق به آغاز نمایش با 10% سودجو86شکل 6‑6مقایسه کارایی از دیدگاه درصد گرههای موفق به آغاز نمایش با 50% سودجو87شکل 6‑7مقایسه از دیدگاه تأخیر آغاز نمایش برای مقادیر مختلف گره 10% سودجو87شکل 6‑8مقایسه از دیدگاه تأخیر آغاز نمایش برای مقادیر مختلف گره 50% سودجو88 1 دیباچهدر این قسمت انگیزهها و اهداف و کار خود را در این رساله ارائه میکنیم.امروزه برنامههای پخش ویدئوی برخط با سرعت زیادی رو به رشد هستند و این در نتیجهی نگاه تولیدکنندگان محصولات ویدئویی به مدلهای تجاری جدید، در دسترس بودن پهنای باند وسیعتر برای شبکهی دسترسی (در اینترنت، در شبکههای سلولی، در شبکههای IP خصوصی و ... ) و انقلاب در توسعهی سختافزارهای جدید با قابلیتهای بالا در بازتولید و دریافت جریانهای تصویری میباشد.برای نمونه، حجم ویدئوی موجود در اینترنت سالانه دوبرابر میشود، و این در حالی است که تقاضا با ضریب سه افزایش مییابد. در اینترنت، سرویسهای انتشار ویدئو بطور وسیعی با استفاده از زیرساختار شبکهی تحویل محتوا (CDN) گسترش مییابند، که این زیرساختارها، مجموعهای از سرورها (که در نقاط استراتژیکی در هر سوی اینترنت قرار گرفتهاند) هستند که بطور ناپیدا[3]برای تحویل محتوا به کاربرهای انتهایی با یکدیگر همکاری دارند. با این وجود، از آنجایی که پهنای باند گرانترین منبع در اینترنت است و تحویل ویدئو یکی از سرویسهایی است که بیشترین تقاضا برای آن وجود دارد، سرویسهای ویدئوی زنده هنوز از نظر تنوع و قابلیت دسترسی، با محدودیت روبرو هستند. [1]روشی که این روزها محبوب شده، شامل استفاده از ظرفیت عمده بلااستفاده کلاینتها برای به اشتراک گذاری توزیع ویدئو با سرورها از طریق سیستمهای نظیر به نظیر تکامل یافته کنونی است. این رویکرد همچنین از ازدحام در شبکهی محلی جلوگیری میکند؛ چرا که در این حالت سرورها (کلاینتهای دیگر) میتوانند بطور وسیعی نزدیک کلاینت نهایی باشند. ایراد اصلی این روش آن است که کلاینتها (که در این متن نظیرها نامیده میشوند) با نرخ بالایی به طریق خودمختار و کاملا غیرهمگام، قطع و وصل میشوند. این فرایند منجر به چالش اساسی در طراحی نظیر به نظیر میشود: چگونه کیفیت مورد نیاز کلاینتها را در یک محیط با تغییرات زیاد به آنان عرضه نماییم.قطع اتصال نظیرها میتواند منجر به از دست رفتن اطلاعاتی شود که می بایست به شخص دیگری ارسال میگردید. توزیع ویدئوی زنده به دلیل محدودیتهای بلادرنگ زمانی، به از دست رفتن بسته ها بسیار حساس است. علاوه بر این، به منظور کاهش مصرف پهنای باند، روند کدگذاری برخی از افزونگیهای طبیعی ویدئو را حذف مینماید، که این امر خود نیز باعث آسیبپذیری بیشتر جریان تصویر به اتلاف دادهها میگردد. واضحا، این عامل و همچنین عوامل دیگر، بر کیفیت تصویر دریافت شده توسط کاربر نهایی تاثیر میگذارد، اما مقدار تاثیر آن بر کیفیت آنچنان واضح نیست.شبکه های استاندارد پارامترهای غیرمستقیمی از قبیل نرخ تلفات، تاخیرها، قابلیت اعتماد و ... را به منظور اندازهگیری و کنترل کیفیت دریافتی در شبکه مورد استفاده قرار میدهند. بنابراین مهم است که بتوانیم کیفیت دریافت شده را بلادرنگ و با دقت ارزیابی نماییم. دو رویکرد مهم برای اندازهگیری کیفیت ویدئو وجود دارد؛ تستهای ذهنی و پارامترهای عینی. بطور خلاصه، ارزیابیهای ذهنی شامل تشخیص های انسانی ای است که روی یک سری از ویدئوهای کوتاه و بر طبق دیدگاه شخصیشان در مورد کیفیت نظر میدهند. ارزیابیهای عینی، شامل استفاده از الگوریتمها و فرمولهایی است که کیفیت را به طریق خودکار، کمی و تکرارشدنی اندازهگیری میکنند. مشکل این است که آنها معمولا قرینه خوبی برای ارزیابی کیفیت دریافت شده ندارند. علاوه بر آن، نیاز به محاسبهی سیگنال اصلی نیز دارند. برای کم کردن اشکالات این دو رویکرد، روشهای هیبرید توسعه یافتهاند. [9]برنامه های اشتراک فایل به صورت نظیر به نظیر (برای نمونه، پروتکلهای مبتنی بر Bittorrent) از یک سری از مشوقها و دستدادها برای مبادلهی قطعات فایلها در بین نظیرها استفاده میکنند. جستجوها و انتقالهای فایل های بالاسری از یک نظیر به دیگر نظیرها، میتواند باعث ایجاد گلوگاه و یا تاخیرهایی شود که این پروتکل ها را نامناسب جریانسازی زنده ویدئوی می سازد. برای برخورد با این مشکل، می توان از یک رویکرد چند منبعی استفاده کرد، که در آن، جریان تصویر به چندین جریان افزونهای تجزیه میشود که توسط نظیرهای متقاوتی به نظیرهای دیگر با یک توپولوژی درختی همراه با هزینهی سیگنالینگ بسیار پایین، فرستاده می شود. [5]ویدئوی دیجیتال، نمایش ویدئو توسط سیگنالهای دیجیتال است. این عمل شامل ضبط، دستکاری، توزیع و ذخیرهی ویدئو در فرمت های دیجیتال است، که ویدئو را قابل انعطافتر ساخته و دستکاری آن را سریع و نمایش آن را توسط کامپیوتر امکانپذیر میسازد. ویدئوی دیجیتال، انقلابی را در عرصهی تحقیقات مرتبط با آن پدید آورد. فشردهسازی ویدئو توجه تحقیقاتی عمدهای را از دههی 1980 به خود اختصاص داده است، که این موضوع، کاربردهای متنوعی از قبیل انتشار ویدئو بر روی کابل دیجیتال، ماهوارهها و ادوات زمینی[4]، ویدئو کنفرانس، ضبط دیجیتال بر روی نوارهای DVD و ... را امکان پذیر ساخته است. ارتباط ویدئویی بر روی شبکههای بستههای بهترین تلاشدر اواسط دههی 1990 و با رشد اینترنت آغاز شد. در اینترنت، تلفات بستهها، پهنای باند متغیر با زمان و تلفات و پرشهای نامنظم، از مشکلات عمدهای هستند که تحویل ویدئو با آنها مواجه است. [2]فشردهسازی ویدئو ،تکنیکی است طراحی شده، برای نابودکردن شباهتها و تکرارهایی که در یک سیگنال ویدئویی وجود دارد. در بیان غیرتکنیکی، یک سیگنال ویدئویی دیجیتال یک توالی موقت از تصاویر دیجیتال (یا فریمها) است. تصاویر پیدرپی، در یک سری از تصاویر، از آنجایی که بیشتر اشیاء ثابت را نشان میدهند، دارای تکرر زمانی هستند. در داخل یک تصویر، تکرار زمانی و رنگی وجود دارد، بطوری که مقادیر پیکسلهای مجاور دارای همبستگی هستند. در کنار زدایش تکرار، اکثر تکنیکهای فشردهسازی استفاده شوند پراتلاف[5] هستند و فقط اطلاعات مربوط به دریافت را کدگذاری میکنند، که این کار با کاهش اطلاعات نامربوط و افزایش نسبت فشردهسازی انجام میشود.یک روش فشردهسازی، کاملا توسط سیستمهای کدگذار و کدگشای آن مشخص میشود که مشترکا CODEC (enCODer/dECoder) نامیده میشوند. کدکهای اصلی و استاندارد امروزی توسط گروه حرفهای متخصص تصاویر متحرک (MPEG) معرفی شدهاند.MPEG-2 چتری است بر فراز استانداردهای فشردهسازی بینالمللی که توسط گروه MPEG توسعه یافت. چندین قسمت از آن در یک همکاری تیمی با ITU-T (برای نمونه، کدکهای ویژهی H.261 و H.263) توسعه یافت. بعد از موفقیت MPEG-2، MPEG-4 توسط همان تیمها استانداردسازی شد. قسمتهای کلیدی که باید از آنها مطلع بود، MPEG-4 قسمت دوم (که توسط کدکهایی نظیر Xvid بکار برده شد) و MPEG-4 قسمت دهم (که به MPEG-4 AVC/H.264 موسوم است) میباشند. علاوه بر کدکهای استاندارد، چندین کدک اختصاصی نیز وجود دارد. مهمترین و پراستفادهترین این کدکها، RealVideo و Windows Media Video (که در فرآیند استانداردسازی قرار دارد) هستند.کدکهای استاندارد و کدکهای اختصاصی، اساس فشردهسازی یکسانی را بکار میبرند و بنابراین با فهم یکی از آنها، میتوانیم به یک فهم اولیه از تمام حوزهی فشردهسازی دست یابیم.در باب مقایسهی MPEG-2 و MPEG-4، به تفاوتهای مهمی برمیخوریم. شاید مهمترین تفاوت اساسی این است که MPEG-2 یک معیار پیکسلگرا است در حالی که MPEG-4 شیءگراست. در هر دو معیار، ایدهی پشت فشردهسازی یکسان است: تکررهای زمانی متعدد بین فریمها توسط استفاده از تخمین و جبرانسازی حرکت مورد بهرهبرداری قرار میگیرند.یک مفهوم کلیدی در MPEG-2 فریم یا تصویر یا از دید دیگر همان واحد ارسال است. مفهوم متناظر در MPEG-4، صفحهی شیء ویدئویی (VOP) است. هر دو مفهوم یک تصویر کد شده را معرفی میکنند. سه نوع فریم اصلی وجود دارد: فریم درونی (I-frame)، فریمهای پیشگویی شده (P-frame) و فریمهای دوسویه یا درونیابی شده (B-frame). برای هر یک از سه فریم تعریف شده معنای متفاوتی وجود دارد. نوع اول،I-frame، یک تصویر کامل را کدگذاری میکند. این به این معنی است که I-frame، میتواند در داخل یک تصویر، مستقل از هر فریم دیگر در جریان (stream)، گدگشایی شود. یک P-frame، فریمی است که برپایهی فریم P یا I پیشین دیگری پیشگویی میشود (با استفاده از جبرانسازی حرکت). یک B-frame، فریمی است که بخوبی فریمهای P یا I، بر اساس گذشته پیشبینی شده است. شکل 2-1 وابستگیهای درونی انواع مهم فریمها را نشان میدهد.شکل 2‑1وابستگی درونی فریمهااین نوع فریمها در MPEG-2 تعریف شدهاند. آنها همچنین در MPEG-4 نیز موجودند، اگرچه در این مورد انواع دیگری از فریمها نیز وجود دارد. با این وجود در MPEG-4 مهمترین فریمها، همان سه نوع مذکور هستند.توالی ویدئو به دستهای از فریمها تقسیمبندی می شود که گروه تصاویر (GOP) نامیده می شوند. یک GOP شامل یک تعداد کوچکی از فریمها است که میتواند به تنهایی (بدون ارجاع به فریمهای داخل گروه) کدگشایی شود. بطور نمونه یک GOP دارای یک I-frame در ابتدا است.معمولا یک خطا، در I-frame تا I-frame بعدی انتشار می یابد. (بدلیل وابستگی فریمهای دیگر در GOP). خطاها در P-frame ها تا I-frame یا P-frame بعدی انتشار می یابند. B-frame ها خطایی را منتشر نمیکنند. هر چقدر که ویدئو دارای I-frame های بیشتری باشد، استحکام بیشتری نسبت به نقص دارد. با این حال داشتن تعداد I-frame بیشتر، اندازهی ویدئو را افزایش میدهد. به منظور ذخیرهی پهنای باند، ویدئوهای آماده شده برای انتشار اینترنتی معمولا دارای فقط یک I-frame به ازای هر GOP هستند. در MPEG-2، اندازهی GOP در حدود 20 فریم است در حالی که در MPEG-4 این اندازه به 250 فریم افزایش مییابد. بدلیل اینکه کدکردن MPEG-4 دارای قابلیت انعطاف و بیانگری بیشتری نسبت به پیشینیان خود است، فشردهسازی بهتر از طریق استفاده از فریمهای P و B امکانپذیر است.ویدئوی دیجیتال میتواند برای استفادهی بعدی ذخیره شود و یا برای یک استفادهکنندهی دوردست ارسال شود. محدودهی وسیعی از کاربردهای ویدئو وجود دارد که خواص و محدودیتهای مختلفی دارند. برای نمونه، یک کاربرد ارتباط ویدئویی، میتواند برای ارتباط یک به یک (مانند تماسهای ویدئویی یک ویدئو در زمان تقاضا)، برای ارتباط یک به چند (نظیر ویدئو کنفرانس و بازیهای چندبازیکنی) یا برای ارتباط یک به همه (همانند پخش TV) باشد. ارتباط میتواند تعاملی یا دو طرفه (مانند ویدئو کنفرانس) یا غیرتعاملی (مانند پخش TV یا ویدئو در زمان تقاضا) باشد. ویدئو میتواند بصورت بلادرنگ (TV زنده) یا بصورت از قبل کدگذاری شده (همانند ویدئو در حین تقاضا) کدگذاری شود.محدودیتهای برنامه های کاربردی، قویا طراحی سیستم را تحت تاثیر قرار میدهند. خلاصهای از موفقترین شبکههای تحویل ویدئو در بخش 2.2 نمایش داده شده است. بعد از آن، بطور خلاصه به مکانیزمهای تحویل ویدئو بر روی شبکههای بستهای میپردازیم.جریان سازی ویدئو، شامل تحویل و بازپخش ویدئو بر روی شبکههای بستهای است. هر فریم، باید در زمان بازپخش خود تحویل و کدگشایی شود. بنابراین هر توالی فریم، دارای توالی ضربالعجل تحویل/کدگشایی/بازپخش مرتبط با آن است که این توالی، به محدودیتهای بلادرنگ موسوم است. اساسا در یک مکانیزم جریانی، ویدئو به قسمتهایی تقسیم می شود (در یک فرمت خاص) که بطور پی در پی بر روی شبکه ارسال میشوند .(با یک پروتکل انتقال) و گیرنده آن را کدگشایی کرده و ویدئو را بازتولید میکند.
مکانیزم تشویقی برای جریانسازی ویدئو در شبکههای نظیر به نظیر word
چکیدهامروزه به اشتراک گذاری فایلها به صورت گستردهایی در حال استفاده است به طوری که حدودا 70% ترافیک اینترنت را شامل میشود. اخیرا کاربرد جدیدی برای برنامههای نظیر به نظیر به وجود آمده است به نام جریان سازی صوت و تصویر. همان گونه که برنامههای اشتراک فایل بر روی تبادل دادههای ثابت کار میکنند، برنامههای جریانسازی بر روی بهبود کارائی خود با توجه به محدودیتهای زمانی کار میکنند. در این برنامهها هر گره به صورت مستقل چند گرهی دیگر را به عنوان همسایه انتخاب میکنند و دادههای جریان را با آنها مبادله میکنند. در این رساله یک مکانیزم تشویقی کاملا توزیع شده و مقیاسپذیر برای جریانسازی زنده بر روی یک شبکه پوششی نظیر به نظیر را ارائه میدهیم. مکانیزم ما شامل روش امتیازدهی ترکیبی رانش-کشش[1] برای رسیدن به یک کارایی بالا است (از نظر تاخیر، پیوستگی نمایش، همکاری و غیره). مهمترین قسمت کار ما بالا بردن پیوستگی نمایش و جلوگیری از اختلال گرههای سودجو و در نتیجه بالارفتن کیفیت سرویس میباشد. آزمایشات ما نشان داد که این ایده با وجود درصد گرههای سودجو[2]ی بالا هم کیفیت خوبی را ارائه میدهد.کلمات کلیدی: شبکههای نظیر به نظیر (Peer-to-peer)، جریانسازی تصویر (Live video streaming)، مکانیزم تشویقی (Incentive)، گرههای سودجو (Free-riders)AbstractPeer-to-peer file sharing has become increasingly popular, accounting for as much as 70% of Internet traffic by some estimates. Recently, we have been witnessing the emergence of a new class of popular P2P applications, namely, P2P audio and video streaming. While traditional P2P file distribution applications target elastic data transfers, P2P streaming focuses on the efficient delivery of audio and video content under tight timing requirements. In these applications, each node independently selects some other nodes as its neighbors and exchanges streaming data with neighbors. In this thesis, we propose a full distributed, scalable, and cooperative incentive mechanism for live video streaming in an overlay peer-to-peer network. Our mechanism makes use of combination of push-pull score-based incentive method to achieve high performance (in term of delay, stream continuity, cooperation, etc.). The main contribution of this work is that it increases the streaming continuity and avoiding free-riders in turn results better delivered quality. Furthermore, with the implementation of score-based incentive mechanism, it is resilient to existence of free-riders and encourages cooperation among participating nodes. Our experiments demonstrate that our work achieves good streaming quality even under the existence of free-riders.Keywords: Peer-to-peer, Incentive, Live video streaming, Free-riders فهرست مطالب1............. دیباچه11.1 انگیزهها و اهداف جریان سازی12............. پیش زمینه42.1 مروری بر ویدئوی دیجیتال42.1.1 فشردهسازی و کدسازی استاندارد ویدئوی دیجیتال42.1.2 کاربردهای ویدئوی دیجیتال72.2 شبکههای تحویل ویدئو102.2.1 یک مدل شبکهای ساده112.2.2 کیفیت تجربه (QoE) در یک VDN162.3 معماری شبکههای نظیر به نظیر برای ارسال تصویر در اینترنت202.4 معرفی، شبکههای محتوا222.4.1 شبکههای محتوا برای تحویل ویدئو در اینترنت242.4.2 شبکههای نظیر به نظیر312.4.3 مقدمهای بر استحکام شبکه: یک رویکرد P2P ترکیبی462.4.4 خلاصه: نتیجهگیری، نتایج و گفتگو473............. رهیافت داده رانشی : Coolstreaming493.1 چالش های فنی و مسائل باز523.2 بر مبنای درختی و داده – رانشی : آیا ترکیب این دو ممکن است ؟523.3 تشویق و بی طرفی533.4 روشهای دسترسی پهنای باند کم553.5 جنبندگی بالای نظیرها563.6 حمایت از گیرنده های ناهمگن573.7 کدگذاری شبکه : کد گذاری در نظیر573.8 پیامدهای پیاده سازی583.9 پخش ویدئو با تأخیر کم594............. مشوقها624.1 مقایسهای با به اشتراکگذاری فایل644.1.1 رتبهبندی همسایهها664.1.2 توصیهنامهها و گواهینامههای همسایگی674.1.3 رانش دادن به همسایههای خوب694.2 کدگذاری منبع و شبکه704.3 مکانیزمهای تشویقی استفاده شده در برنامههای تجاری715............. روش پیشنهادی755.1.1 محاسبهی مقدار شراکت موثر گره765.1.2 روند انتخاب پاسخ به درخواست سرویس776............. شبیهسازیها و نتایج806.1 ویژگیهای سیستم826.2 معیارهای ارزشیابی846.3 نتایجشبیهسازی857............. نتیجه گیری و کارهای پیش رو898............. مراجع91 فهرست شکلهاشکل 2‑1وابستگی درونی فریمها6شکل 2‑2مدل معماری شبکه توزیع ویدئو13شکل 2‑3اجزای یک شبکه ارسال ویدئو20شکل 2‑4پروتوکل های معماری21شکل 3‑1 نمودار سیستم Coolstreamin49شکل 3‑2نمایشی از مشارکت نظیرها در Coolstreaming50شکل 3‑3تصویر لحظه ای از بافر a)BitTorrent b)Coolstreaming50شکل 3‑4مثالی از مکانیزم این-در ازای-آن54شکل 6‑1معماری لایهای مدل شبیه سازی شده از سامانه جریان سازی نظیر به نظیر ویدئوی زنده80شکل 6‑2فرضیات شبیه سازی83شکل 6‑3مقایسه کارایی پیوستگی نمایش برای مقادیر مختلف گره و 10% سودجو85شکل 6‑4 مقایسه کارایی پیوستگی نمایش برای مقادیر مختلف گره و 50% سودجو86شکل 6‑5مقایسه کارایی از دیدگاه درصد گرههای موفق به آغاز نمایش با 10% سودجو86شکل 6‑6مقایسه کارایی از دیدگاه درصد گرههای موفق به آغاز نمایش با 50% سودجو87شکل 6‑7مقایسه از دیدگاه تأخیر آغاز نمایش برای مقادیر مختلف گره 10% سودجو87شکل 6‑8مقایسه از دیدگاه تأخیر آغاز نمایش برای مقادیر مختلف گره 50% سودجو88 1 دیباچهدر این قسمت انگیزهها و اهداف و کار خود را در این رساله ارائه میکنیم.امروزه برنامههای پخش ویدئوی برخط با سرعت زیادی رو به رشد هستند و این در نتیجهی نگاه تولیدکنندگان محصولات ویدئویی به مدلهای تجاری جدید، در دسترس بودن پهنای باند وسیعتر برای شبکهی دسترسی (در اینترنت، در شبکههای سلولی، در شبکههای IP خصوصی و ... ) و انقلاب در توسعهی سختافزارهای جدید با قابلیتهای بالا در بازتولید و دریافت جریانهای تصویری میباشد.برای نمونه، حجم ویدئوی موجود در اینترنت سالانه دوبرابر میشود، و این در حالی است که تقاضا با ضریب سه افزایش مییابد. در اینترنت، سرویسهای انتشار ویدئو بطور وسیعی با استفاده از زیرساختار شبکهی تحویل محتوا (CDN) گسترش مییابند، که این زیرساختارها، مجموعهای از سرورها (که در نقاط استراتژیکی در هر سوی اینترنت قرار گرفتهاند) هستند که بطور ناپیدا[3]برای تحویل محتوا به کاربرهای انتهایی با یکدیگر همکاری دارند. با این وجود، از آنجایی که پهنای باند گرانترین منبع در اینترنت است و تحویل ویدئو یکی از سرویسهایی است که بیشترین تقاضا برای آن وجود دارد، سرویسهای ویدئوی زنده هنوز از نظر تنوع و قابلیت دسترسی، با محدودیت روبرو هستند. [1]روشی که این روزها محبوب شده، شامل استفاده از ظرفیت عمده بلااستفاده کلاینتها برای به اشتراک گذاری توزیع ویدئو با سرورها از طریق سیستمهای نظیر به نظیر تکامل یافته کنونی است. این رویکرد همچنین از ازدحام در شبکهی محلی جلوگیری میکند؛ چرا که در این حالت سرورها (کلاینتهای دیگر) میتوانند بطور وسیعی نزدیک کلاینت نهایی باشند. ایراد اصلی این روش آن است که کلاینتها (که در این متن نظیرها نامیده میشوند) با نرخ بالایی به طریق خودمختار و کاملا غیرهمگام، قطع و وصل میشوند. این فرایند منجر به چالش اساسی در طراحی نظیر به نظیر میشود: چگونه کیفیت مورد نیاز کلاینتها را در یک محیط با تغییرات زیاد به آنان عرضه نماییم.قطع اتصال نظیرها میتواند منجر به از دست رفتن اطلاعاتی شود که می بایست به شخص دیگری ارسال میگردید. توزیع ویدئوی زنده به دلیل محدودیتهای بلادرنگ زمانی، به از دست رفتن بسته ها بسیار حساس است. علاوه بر این، به منظور کاهش مصرف پهنای باند، روند کدگذاری برخی از افزونگیهای طبیعی ویدئو را حذف مینماید، که این امر خود نیز باعث آسیبپذیری بیشتر جریان تصویر به اتلاف دادهها میگردد. واضحا، این عامل و همچنین عوامل دیگر، بر کیفیت تصویر دریافت شده توسط کاربر نهایی تاثیر میگذارد، اما مقدار تاثیر آن بر کیفیت آنچنان واضح نیست.شبکه های استاندارد پارامترهای غیرمستقیمی از قبیل نرخ تلفات، تاخیرها، قابلیت اعتماد و ... را به منظور اندازهگیری و کنترل کیفیت دریافتی در شبکه مورد استفاده قرار میدهند. بنابراین مهم است که بتوانیم کیفیت دریافت شده را بلادرنگ و با دقت ارزیابی نماییم. دو رویکرد مهم برای اندازهگیری کیفیت ویدئو وجود دارد؛ تستهای ذهنی و پارامترهای عینی. بطور خلاصه، ارزیابیهای ذهنی شامل تشخیص های انسانی ای است که روی یک سری از ویدئوهای کوتاه و بر طبق دیدگاه شخصیشان در مورد کیفیت نظر میدهند. ارزیابیهای عینی، شامل استفاده از الگوریتمها و فرمولهایی است که کیفیت را به طریق خودکار، کمی و تکرارشدنی اندازهگیری میکنند. مشکل این است که آنها معمولا قرینه خوبی برای ارزیابی کیفیت دریافت شده ندارند. علاوه بر آن، نیاز به محاسبهی سیگنال اصلی نیز دارند. برای کم کردن اشکالات این دو رویکرد، روشهای هیبرید توسعه یافتهاند. [9]برنامه های اشتراک فایل به صورت نظیر به نظیر (برای نمونه، پروتکلهای مبتنی بر Bittorrent) از یک سری از مشوقها و دستدادها برای مبادلهی قطعات فایلها در بین نظیرها استفاده میکنند. جستجوها و انتقالهای فایل های بالاسری از یک نظیر به دیگر نظیرها، میتواند باعث ایجاد گلوگاه و یا تاخیرهایی شود که این پروتکل ها را نامناسب جریانسازی زنده ویدئوی می سازد. برای برخورد با این مشکل، می توان از یک رویکرد چند منبعی استفاده کرد، که در آن، جریان تصویر به چندین جریان افزونهای تجزیه میشود که توسط نظیرهای متقاوتی به نظیرهای دیگر با یک توپولوژی درختی همراه با هزینهی سیگنالینگ بسیار پایین، فرستاده می شود. [5]ویدئوی دیجیتال، نمایش ویدئو توسط سیگنالهای دیجیتال است. این عمل شامل ضبط، دستکاری، توزیع و ذخیرهی ویدئو در فرمت های دیجیتال است، که ویدئو را قابل انعطافتر ساخته و دستکاری آن را سریع و نمایش آن را توسط کامپیوتر امکانپذیر میسازد. ویدئوی دیجیتال، انقلابی را در عرصهی تحقیقات مرتبط با آن پدید آورد. فشردهسازی ویدئو توجه تحقیقاتی عمدهای را از دههی 1980 به خود اختصاص داده است، که این موضوع، کاربردهای متنوعی از قبیل انتشار ویدئو بر روی کابل دیجیتال، ماهوارهها و ادوات زمینی[4]، ویدئو کنفرانس، ضبط دیجیتال بر روی نوارهای DVD و ... را امکان پذیر ساخته است. ارتباط ویدئویی بر روی شبکههای بستههای بهترین تلاشدر اواسط دههی 1990 و با رشد اینترنت آغاز شد. در اینترنت، تلفات بستهها، پهنای باند متغیر با زمان و تلفات و پرشهای نامنظم، از مشکلات عمدهای هستند که تحویل ویدئو با آنها مواجه است. [2]فشردهسازی ویدئو ،تکنیکی است طراحی شده، برای نابودکردن شباهتها و تکرارهایی که در یک سیگنال ویدئویی وجود دارد. در بیان غیرتکنیکی، یک سیگنال ویدئویی دیجیتال یک توالی موقت از تصاویر دیجیتال (یا فریمها) است. تصاویر پیدرپی، در یک سری از تصاویر، از آنجایی که بیشتر اشیاء ثابت را نشان میدهند، دارای تکرر زمانی هستند. در داخل یک تصویر، تکرار زمانی و رنگی وجود دارد، بطوری که مقادیر پیکسلهای مجاور دارای همبستگی هستند. در کنار زدایش تکرار، اکثر تکنیکهای فشردهسازی استفاده شوند پراتلاف[5] هستند و فقط اطلاعات مربوط به دریافت را کدگذاری میکنند، که این کار با کاهش اطلاعات نامربوط و افزایش نسبت فشردهسازی انجام میشود.یک روش فشردهسازی، کاملا توسط سیستمهای کدگذار و کدگشای آن مشخص میشود که مشترکا CODEC (enCODer/dECoder) نامیده میشوند. کدکهای اصلی و استاندارد امروزی توسط گروه حرفهای متخصص تصاویر متحرک (MPEG) معرفی شدهاند.MPEG-2 چتری است بر فراز استانداردهای فشردهسازی بینالمللی که توسط گروه MPEG توسعه یافت. چندین قسمت از آن در یک همکاری تیمی با ITU-T (برای نمونه، کدکهای ویژهی H.261 و H.263) توسعه یافت. بعد از موفقیت MPEG-2، MPEG-4 توسط همان تیمها استانداردسازی شد. قسمتهای کلیدی که باید از آنها مطلع بود، MPEG-4 قسمت دوم (که توسط کدکهایی نظیر Xvid بکار برده شد) و MPEG-4 قسمت دهم (که به MPEG-4 AVC/H.264 موسوم است) میباشند. علاوه بر کدکهای استاندارد، چندین کدک اختصاصی نیز وجود دارد. مهمترین و پراستفادهترین این کدکها، RealVideo و Windows Media Video (که در فرآیند استانداردسازی قرار دارد) هستند.کدکهای استاندارد و کدکهای اختصاصی، اساس فشردهسازی یکسانی را بکار میبرند و بنابراین با فهم یکی از آنها، میتوانیم به یک فهم اولیه از تمام حوزهی فشردهسازی دست یابیم.در باب مقایسهی MPEG-2 و MPEG-4، به تفاوتهای مهمی برمیخوریم. شاید مهمترین تفاوت اساسی این است که MPEG-2 یک معیار پیکسلگرا است در حالی که MPEG-4 شیءگراست. در هر دو معیار، ایدهی پشت فشردهسازی یکسان است: تکررهای زمانی متعدد بین فریمها توسط استفاده از تخمین و جبرانسازی حرکت مورد بهرهبرداری قرار میگیرند.یک مفهوم کلیدی در MPEG-2 فریم یا تصویر یا از دید دیگر همان واحد ارسال است. مفهوم متناظر در MPEG-4، صفحهی شیء ویدئویی (VOP) است. هر دو مفهوم یک تصویر کد شده را معرفی میکنند. سه نوع فریم اصلی وجود دارد: فریم درونی (I-frame)، فریمهای پیشگویی شده (P-frame) و فریمهای دوسویه یا درونیابی شده (B-frame). برای هر یک از سه فریم تعریف شده معنای متفاوتی وجود دارد. نوع اول،I-frame، یک تصویر کامل را کدگذاری میکند. این به این معنی است که I-frame، میتواند در داخل یک تصویر، مستقل از هر فریم دیگر در جریان (stream)، گدگشایی شود. یک P-frame، فریمی است که برپایهی فریم P یا I پیشین دیگری پیشگویی میشود (با استفاده از جبرانسازی حرکت). یک B-frame، فریمی است که بخوبی فریمهای P یا I، بر اساس گذشته پیشبینی شده است. شکل 2-1 وابستگیهای درونی انواع مهم فریمها را نشان میدهد.شکل 2‑1وابستگی درونی فریمهااین نوع فریمها در MPEG-2 تعریف شدهاند. آنها همچنین در MPEG-4 نیز موجودند، اگرچه در این مورد انواع دیگری از فریمها نیز وجود دارد. با این وجود در MPEG-4 مهمترین فریمها، همان سه نوع مذکور هستند.توالی ویدئو به دستهای از فریمها تقسیمبندی می شود که گروه تصاویر (GOP) نامیده می شوند. یک GOP شامل یک تعداد کوچکی از فریمها است که میتواند به تنهایی (بدون ارجاع به فریمهای داخل گروه) کدگشایی شود. بطور نمونه یک GOP دارای یک I-frame در ابتدا است.معمولا یک خطا، در I-frame تا I-frame بعدی انتشار می یابد. (بدلیل وابستگی فریمهای دیگر در GOP). خطاها در P-frame ها تا I-frame یا P-frame بعدی انتشار می یابند. B-frame ها خطایی را منتشر نمیکنند. هر چقدر که ویدئو دارای I-frame های بیشتری باشد، استحکام بیشتری نسبت به نقص دارد. با این حال داشتن تعداد I-frame بیشتر، اندازهی ویدئو را افزایش میدهد. به منظور ذخیرهی پهنای باند، ویدئوهای آماده شده برای انتشار اینترنتی معمولا دارای فقط یک I-frame به ازای هر GOP هستند. در MPEG-2، اندازهی GOP در حدود 20 فریم است در حالی که در MPEG-4 این اندازه به 250 فریم افزایش مییابد. بدلیل اینکه کدکردن MPEG-4 دارای قابلیت انعطاف و بیانگری بیشتری نسبت به پیشینیان خود است، فشردهسازی بهتر از طریق استفاده از فریمهای P و B امکانپذیر است.ویدئوی دیجیتال میتواند برای استفادهی بعدی ذخیره شود و یا برای یک استفادهکنندهی دوردست ارسال شود. محدودهی وسیعی از کاربردهای ویدئو وجود دارد که خواص و محدودیتهای مختلفی دارند. برای نمونه، یک کاربرد ارتباط ویدئویی، میتواند برای ارتباط یک به یک (مانند تماسهای ویدئویی یک ویدئو در زمان تقاضا)، برای ارتباط یک به چند (نظیر ویدئو کنفرانس و بازیهای چندبازیکنی) یا برای ارتباط یک به همه (همانند پخش TV) باشد. ارتباط میتواند تعاملی یا دو طرفه (مانند ویدئو کنفرانس) یا غیرتعاملی (مانند پخش TV یا ویدئو در زمان تقاضا) باشد. ویدئو میتواند بصورت بلادرنگ (TV زنده) یا بصورت از قبل کدگذاری شده (همانند ویدئو در حین تقاضا) کدگذاری شود.محدودیتهای برنامه های کاربردی، قویا طراحی سیستم را تحت تاثیر قرار میدهند. خلاصهای از موفقترین شبکههای تحویل ویدئو در بخش 2.2 نمایش داده شده است. بعد از آن، بطور خلاصه به مکانیزمهای تحویل ویدئو بر روی شبکههای بستهای میپردازیم.جریان سازی ویدئو، شامل تحویل و بازپخش ویدئو بر روی شبکههای بستهای است. هر فریم، باید در زمان بازپخش خود تحویل و کدگشایی شود. بنابراین هر توالی فریم، دارای توالی ضربالعجل تحویل/کدگشایی/بازپخش مرتبط با آن است که این توالی، به محدودیتهای بلادرنگ موسوم است. اساسا در یک مکانیزم جریانی، ویدئو به قسمتهایی تقسیم می شود (در یک فرمت خاص) که بطور پی در پی بر روی شبکه ارسال میشوند .(با یک پروتکل انتقال) و گیرنده آن را کدگشایی کرده و ویدئو را بازتولید میکند.