غیرساخت یافته. گرههای شبکه پوششی ساختیافته بطور دلخواه (غیر جبری) و با استفاده از سیل[۳۱] (گردش تصادفی یا پخش گسترده) به منظور کشف محتوا، سازماندهی شدهاند. جستجوهای محتوا، در بین نظیرها و بر روی توپولوژی پوششی، انتشار مییابند. گرههای شرکت کننده در سیستم، با استفاده از پیامهای زندهنگهداری[۳۲]، ارتباطشان با یکدیگر را حفظ می کنند. معمولا این شبکهها به دلیل مقدار زیاد ترافیک علامتدهی، به خوبی مقیاسپذیر نیستند. از سوی دیگر، این شبکهها سطح استقلال بالایی دارند. نمونهی مشهور این شبکهها، Gnutella است.
ساخت یافته. یک شبکهی سازمانی ساختیافته، یک پروتکل استوار کلی را برای مسیریابی یک جستجو از گرههای دیگر و یا محتوا بکار میگیرد. در حالت کلی، این شبکهها شامل برخی گونههای یک تکنولوژی جدول آمیزش توزیع شد[۳۳] هستند. این شبکهها یک شبکه پوششی ساختیافته را تشکیل میدهند که هر گره، مجموعهی خاصی از محتواها را نگه میدارد (یا مجموعهای از اندیسهای موقعیت محتوا). بنابراین جستجوهای محتواها، قطعی و کارآمدند. در شبکههای پوششی ساختیافته، تغییرات نظیرها و محتواهای موجود، انتشار مییابند، این عمل متفاوت با شبکههای پوششی غیرساختیافته است، که در آنها نظیرها باید به دنبال تغییرات باشند. در حالت کلی، پروتکلهای این شبکهها، کشف محتوای خاصی را با عبور از حداکثر، مقدار لگاریتمیای از تعداد گرههای شبکه را تضمین میکنند. در شبکههایی با تغییرات زیاد، امکان دارد که نگهداری اطلاعاتی از تغییرها در مقایسه با رویکردهای غیرساختیافته، بقدر کافی کارآمد نباشد. مثالهای این شبکهها عبارتند از Kademila، CAN، Chord، Pastry و Tapestry.
غیرمتمرکز سازی. برای یک نظیر در یک شبکهی P2P، سه نقش وجود دارد. گرههایی که محتواهایی را دارند، گرههای منبع، آنهایی که این محتواها را درخواست میکنند، گرههای متقاضی و گرههایی که پیغامهای کنترل را برای نمایش سراسری از موقعیت محتواها در شبکه مبادله میکنند، گرههای مسیریاب نامیده میشوند. یک کامپیوتر منفرد ممکن است همزمان گره منبع، متقاضی و مسیریاب باشد.
در شبکههای محتوا، غیرمتمرکز سازی توسط ظرفیت شبکه برای کار با چندین گره از یک نوع (منبع، متقاضی و مسیریاب) تعیین میشود. با در نظر گرفتن تمایل نظیر برای به اشتراک گذاشتن در شبکههای P2P، همواره منابع فراوانی در این شبکههای وجود دارد که مفهوم غیرمتمرکز سازی را برای متقاضیها (اساسا) و مسیریابها محدود میکنند.
از نقطهنظر غیرمتمرکز سازی، شبکههای نظیر به نظیر در انواع زیر دستهبندی شدهاند:
خالص[۳۴]. این شبکهها به صورت دقیق، فلسفهی یک شبکهی P2P را بیان میکنند، به گونهای که تمامی گرهها نقشهای (منبع، متقاضی و مسیریاب) یکسانی را ایفا میکنند و دارای مسئولیتهای مشابهی هستند. این یک شبکهی بطور کامل توزیع یافته است که میتواند با مقدار دلخواهی از گرههایی از هر دسته، کار کند. برای مثال متقاضیها میتوانند یک محتوا از هر گرهای درخواست نمایند و این گره مجبور است مسیری به آن منبع را بداند. مثالهایی از این شبکهها Gnutella و Freenet هستند.
ترکیبی[۳۵]. مدل متمرکز به دلیل اینکه یک سیستم P2P خالص نیست، ترکیبی نامیده میشود. در این مدل، یک گره مرکزی (یا یک مجموعه از سرورها) وجود دارد که تمامی پیغامهای کنترل را در شبکه مسیریابی میکند. متقاضیها، از سرور مرکزی محتوایی را درخواست میکنند، و سرور منابع این محتوا را اعلام میکند. منابع، محتوا را به یک شکل برپایهی P2P، به متقاضیها ارسال میکنند. یک شبکهی ترکیبی، میتواند یک یا چند متقاضی داشته باشد. برای مثال، Napster دارای یک گره مسیریاب واحد، چندین منبع و چندین متقاضی است؛ در حالی که Seti@home، یک گرهی مسیریاب واحد، چندین منبع پردازش منابع و فقط یک متقاضی این توان پردازش را دارد.
سلسلهمراتبی[۳۶]. بین مدل خالص و مدل ترکیبی، مدل سلسلهمراتبی چندین گره مسیریاب دارد. در برنامههای اشتراک فایل، شبکههای سلسله مراتبی، شبکههای نظیر-بزرگ[۳۷] نامیده میشوند. در این شبکهها، گرههایی که (منبع/متقاضی/مسیریابی) هستند، نظیر بزرگ نامیده میشوند و فقط گرههای کلاینت (منبع/متقاضی)، نظیر نامیده میشوند. نظیرهای بزرگ، ستون فقراتی[۳۸] از پیغامهای کنترلی را شکل میدهند و دید سراسریای از محتوا در شبکه به خود و نظیرها (با منابع کمتری از نظیرهای بزرگ) ارائه میدهند. این مدل، پتانسیل ترکیب کارایی جستجوهای محتوای سیستمهای ترکیبی مرکزیت یافته را با استقلال، تعادل بار و عدم وجود یک نقطهی نقص یکتای سیستمهای خالص بطور کامل توزیع شده، را دارد. مشهورترین نمونه از این شبکهها، KaZaA است.
معمولا شبکههای خالص به دلیل ناهمگنی نظیرها در زمان اتصال و منابع به اشتراک گذاشته شده، به خوبی مقیاسپذیر نمیشوند (۴). طبق تعریف، هیچ شبکهی ترکیبی ساختیافتهای وجود ندارد. زمانی که شبکههای غیرساخت یافته، از نظر تعداد گرهها رشد میکنند، نیاز به یک مدل که اندیشهی بهتری از ناهمگنی نظیرها داشته باشد (از نظر زمان اتصال و منابع به اشتراک گذاشته شده)، برمیخیزد، یعنی مدل سلسله مراتبی. امروزه، رویکرد سلسه مراتبی کاملا متداول است.
جدول ۲٫۱ چکیدهای از طبقهبندی داده شده از معماریهای P2P (با رعایت دو مشخصهی اصلی: خودسازماندهی و غیرمتمرکز شدن) را به همراه چندین مثال ار شبکههای P2P نشان میدهد. همانطوری مشاهده میکنید، هیچ ساختار سلسلهمراتبی ساخت یافتهای وجود ندارد.
شبکههای پوششی ساخت یافته برای جریان سازی ویدئوی زنده
محبوبترین سیستمهای P2P، آنهایی هستند که برای به اشتراک گذاری فایل طراحی شدهاند. مهمترین آنها KaZaA، Bittorrent یا eMule که هیچ کدام تقریبا از زیرساخت اختصاصی استفاده نمیکنند. مشخصهی مشترک این نوع از سیستمها، قانون سادهای است، و آن این که نظیرها برای زمان یکسان در شبکه متصل باقی میمانند. برای نمونه، مراجع معتبر مدت زمان میانگین اتصال به شبکه را در حدود یک ساعت (در Napster و Gnutella) گزارش کرده است. بر اساس این فرض، بسیاری از شبکههای P2Pی ساخت یافته، برای به اشتراک گذاری فایل توسعه یافتهاند. موفقترین آنها، با استفاده از ایدهی جدول آمیزش توزیع شده، Kademila، CAN Chord و Pastry و Tapestry هستند.
از آنجا که بازتولید ویدئو زنده محدودیتهای بلادرنگ دارد (به اشتراک گذاری فایل این محدودیت را ندارد) و گرهها فقط به مدت چندین دقیقه به شبکه متصل باقی میمانند، شبکههای P2P ارسال ویدئوی زنده، با محدودیتهای سختتری مواجه هستند..
پوششهای برپایهی درخت. اولین ایده برای استفادهی منابع بلااستفاده موجود در کاربران انتهایی، ساخت زنجیرهای از پروکسیهای جریانساز است. یک منتشر کننده (منبع سیگنال زنده) جریان را یکبار به یک نظیر انتخاب شده ارسال میکند. این نظیر، نظیر دیگری را انتخاب میکند و جریان را بازپخش میکند و این عمل تا آخرین گره انجام میپذیرد. یک زنجیرهی طولانی از نظیرها که جریان را به دیگری بازپخش میکنند، از لحاظ نظری، نیازهای توزیع را فراهم میکند، اما این کار به دلیل متغیر بودن نظیرها و ناهمگن بودن منابع نظیرها، غیر عملی است. زمانی که نظیری از شبکه قطع اتصال میشود (یک اتفاق بسیار متداول)، ادامهی زنجیره، جریان را از دست میدهد. علاوه بر این، اگر یک نظیر، پهنای باند ارسال کافی برای جاری ساختن سیگنال نداشته باشد، نمیتواند در شبکه مشارکت کند.
ایدهی توزیع برپایهی درخت، برای کاهش دادن طول زنجیره و در نتیجه کم کردن احتمال گسستگی زنجیره به وجود آمد. پوشش برپایهی درخت، یک گراف توزیع درختی را پیاده سازی میکند که ریشهاش منبع ارسال تصویر است و نظیرها، جریان را به نظیرهای دیگر بازپخش میکنند. در یک درخت، عمق (فاصله دورترین گرهی زنجیره از ریشه) میتواند نسبت به تعداد گرهها در شبکه لگاریتمی باشد (به جای خطی بودن که در مورد زنجیره وجود داشت)، به علاوه، در یک توزیع درختی، وراث زیادی وجود دارند که میتوانند جریان را بدون نیاز به داشتن ارسال با پهنای باند، دریافت نمایند. از سوی دیگر، در یک توزیع درختی، برخی نظیرها نیاز به ارسال جریان به بیش از یک نظیر دارند که بر شرکت منابع بیشتر در سمت نظیرها دلالت دارد.
سیستمهای پوششی درختی اولیه، برای غلبه بر گسترش محدود چندپخشیIP در اینترنت معرفی شده بودند. این سیستمها، چندپخشی سطح برنامه[۳۹] نامیده میشوند و الگوریتمهای بازسازی سریعتری دارند که برای موقعیتهایی با تغییرات بالا ایدهآل هستند. ALM ها برای جریانهای زنده معرفی شدهاند (برای نمونه، ALMI، End System Multicast، Scattercast) و در محیطهای کنترل شده، موفقیتهایی را کسب کرده اند. هر سیستم برپایهی ALM، پروتکلهای خود را برای ساخت و نگهداری درخت چندپخشی دارد. برای مثال، NICE و Zigzag درختهای توزیع سلسلهمراتب را پذیرفتهاند و بنابراین قابلیت مقیاسپذیری با تعداد زیادی از نظیرها را دارند. Narada برای کاربردهای چندمنبعی- چندمتقاضی با مقیاس کوچک ارائه شده است. این سیستم در ابتدا یک تور از نظیرها را تولید و بهینهسازی میکند و سپس یک درخت را بر روی آن میسازد. این سیستم کارایی خوبی دارد، اما سربار نگهداری بالایی دارد. SpreadIt، یک درخت توزیع را با ریشهی منبع برای جریان سازی زنده ایجاد میکند. یک گره جدید برای ملحق شدن به شبکه، درخت را با شروع از ریشه تا رسیدن به گرهای با ظرفیت باقیمانده کافی، میپیماید. برنامههای چندپخشی مخصوص برای جریانسازی زنده، طراحیهای پوششی را با شناخت کدکهای معین، بهبود میدهد. معمولا در این شبکهها، پخشکنندهها، جریان را با استفاده از کدینگ توصیف چندگانه[۴۰]، به چندین زیرجریان کدگذاری میکند. این فرآیند قابلیت ساخت درختهای توزیع چندگانه (یک درخت برای هر توصیف یا زیر جریان) را میسر میسازد و قابلیت انعطاف بیشتری را در تخصیص منابع و مقاومت بیشتری در مقابله با نقص را موجب میشود. CoopNet هم جریانسازی زنده و هم ویدئو در زمان تقاضا را پشتیبانی میکند. این سیستم، درختهای توزیع چندگانهای (با استفاده از MDC) را میسازد که تمامی گرههای شرکت کنندهها را تحت پوشش قرار میدهد. CoopNet، یک سیستم P2P ترکیبی را، با یک الگوریتم مرکزی برای ساخت درختها ارائه میدهد: زمانی که سرور ویدئو، بار بیش از حدی را تجربه میکند، کلاینتها به گرههای دیگر راهنمائی میشوند و یک درخت توزیع را با محوریت سرور ایجاد میکنند. SplitStream، یک زیرساخت تعاونی را تدارک میبیند که میتواند برای توزیع فایلهای بزرگ (برای مثال بهروزرسانی نرمافزار) و جاریسازی ویدئو، به شکلی کاملا غیرمتمرکز، استفاده شود. SplitStream بر روی Scribe ساخته شده است، که خود یک سیستم انتشار-آبونه[۴۱] است که از Pastry به عنوان بستر استفاده میکند. محتوا در SplitStream به چندین نوار تقسیم میشود و هر نوار توسط یک درخت جداگانه توزیع میشود. این عمل باعث مدیریت آزادانهی سهم پهنای باند هر نظیر میشود. CollectCast، به عنوان سیستمی متفاوت از این سیستمها، برای چندپخشی ساخته نشده است، بلکه به عنوان یک سرور مکمل، برای جریانسازی ویدئو از چند منبع، برای یک متقاضی ارائه شده است.
همانند پیادهسازیهای CDNهای تجاری، برخی کمپانیهای ارائه کنندهی محتوا، سرویس تحویل ویدئوی زنده را با استفاده از زیرساخت پوششی چندپخشی ارائه میکنند، مانند Allcast و PeerCast.
شبکههای پوششی ساختهشده برپایهی درخت، برای جریان ویدئوی زنده، الگوریتمهای ساخت درخت کارآمدتری را در مقایسه با پروتکلهای توزیع اشتراک فایل دارند؛ اما رویکرد برپایهی درخت، فقط در زمانی که نظیرها تغییرات کمی دارند، خوب کار میکند و در موارد دیگر، درخت بطور پیوسته شکسته و بازسازی میشود و این باعث پردازش اضافی، همانند پروتکلهای به اشتراک گذاری فایل میشود.
پوششهای برپایهی تور. اغلب برنامههای اشتراکگذاری فایل، یک گراف توزیع توری را پیادهسازی نمودهاند. به عنوان مثال، در Bittorrent لیستی از نظیرهایی که در حال دانلود هر فایل میباشند، توسط یک وب سرور مرکزی (به نام ردیاب[۴۲])، در eMule توسط تعدادی سرور توزیع شده (معمولا توسط نرمافزار Lugdunum[]) یا در KaZaA توسط نظیرهایی که بیشترین میزان در دسترس بودن را دارند (نظیرهای بزرگ) نگهداری میشود. با استفاده از این لیست، هر نظیر در هر زمانی، زیر مجموعهای از نظیرهایی که در حال دانلود فایل مورد نظر (دسته[۴۳] نظیر) هستند را میشناسد. هر فایل به قسمتهایی تقسیم شده است به اسم تکه[۴۴]. هر نظیر میداند که چه تکهای از فایل در اختیار کدام گرهی آن دسته میباشد و تکههایی را که نیاز دارد خود، بیرون میکشد. در Bittorrent، نظیرها، ابتدا تکههایی را درخواست میکنند که تعداد کمتری از نظیرها آنها را دارند (سیاست دانلود کمیابترین در ابتدا) و ابتدا تکههایی را برای نظیرهای متقاضی ارسال میکنند که با بیشترین سرعت، برای آنها داده ارسال میکنند (سیاست ارسال این-بهازای-آن[۴۵]). سایر شبکهها، سیاستهای تشویقی مشابهی، برای جلوگیری از نظیرهای منفعت طلب[۴۶] بکار میگیرند. پوششهای بر پایهی تور برای استفاده در توزیع ویدئوی زنده در حال به کار گیری هستند. برنامههای اشتراک فایل مستقیما نمیتوانند برای توزیع ویدئوی زنده استفاده شوند، زیرا در آنها الزاما تکههای اولیهی فایل در ابتدا دانلود نمیشوند و تا زمانی که دریافت کامل نشود، فایل نمیتواند پخش شود. اما نه تنها سیاست دانلود کمیابترین تکه در ابتدا برای جریانسازی باید عوض شود: مکانیزمهای بیرون کشیدن[۴۷] ملزم بر استفاده از بافرهای بزرگ در سمت کلاینت میشوند (برای افزایش احتمال یافتن یک تکه) که خود باعث سربار میشود، بنابراین باعث تاخیر زیاد میشوند.
از دید مثبت، پوششهای برپایهی تور، قابلیت مقاومت بالایی را در برابر نقصان نظیرها ارائه میدهند و از این لحاظ به پوششهای برپایهی درخت سنتی برتری دارند، زیرا هر نظیر، خود یک منبع است (قابلیت پهنای باند ارسال آن مهم نیست). در حقیقت، بدون در نظر گرفتن جزئیات پروتکلها، توزیع بر مبنای تور، میتواند به عنوان مکانیزم توزیع مبتنی بر درخت، برای هر تکه پنداشته شود.
علاوه بر سیستمهای آکادمیکی که برای توزیع ویدئوی زنده بر پایهی تور وجود دارند []، بعضی شبکههای تجاری هم ارائه شدهاند. موفقترین آنها عبارتند از: PPlive، با بیش از ۲۰۰۰۰۰ کاربر همزمان روی یک کانال واحد (با رسیدن به مجموع نرخ بیت ۱۰۰ Gbps)، SopCost با حدود ۱۰۰۰۰۰ کاربر همزمان، CoolStreaming با بیش از ۲۵۰۰۰ کاربر همزمان و PPStream، TVAnts و TVnetwork.
PPlive مشهورترین نرمافزار P2PTV خصوصا برای کاربران آسیایی میباشد، که از پروژهی یک دانشجو در دانشگاه علم و تکنولوژی Huzhong چین شروع شد. PPlive، از یک پروتکل اختصاصی استفاده میکند و کد برنامه آن موجود نمیباشد. با مهندسی معکوس نشان داده شده که از دیدگاه مبتنی بر تور در آن استفاده شده است. پروتکل آن بسیار شبیه به پروتکل Bittorrent میباشد و دارای یک کانال انتخاب خودراهانداز[۴۸] از یک ردگیر وب و دریافت/ارسال ویدئو تکهها در یک نظیر از/به چندین نظیر میباشد. PPlive ، از دو نوع فرمت کدگذاری ویدئو استفاده میکند، Windows Media Video (VC-1) و Real Video (RMVB)، با میانگین نرخ بیت از ۲۵۰ kbps تا ۴۰۰ kbps، همچنین از پخش کننده عمومی کاربر برای نمایش ویدئو استفاده میکند. موتور توزیع آن، از سیاست دانلود کمیابترین در ابتدا استفاده نمیکند؛ زیرا جریان باید محدودیتهای بلادرنگ را در نظر بگیرد. برای ارسال نیز از سیاست تشویقی این-برای-آن استفاده نمیشود: وقتی یک کلاینت به یک کانال ملحق میشود، سایر نظیرهای درون دسته، تکههایی را برای به حداقل رساندن تاخیر راهاندازی به آن گره میفرستند. PPLive، دو بافر دارد، یکی در موتور توزیع (برای اطمینان از اینکه تکهها به موقع میرسد) و بافر پخشکنندهی رسانه. بعد از اینکه کاربر یک کانال را انتخاب کرد، باید لیست نظیرها را دانلود کند و با آنها تماس برقرار کند، این تاخیر خودراهاندازی حدودا ۱۰ الی ۱۵ ثانیه طول میکشد. بعد از آن تقریبا ۱۰ الی ۱۵ ثانیه لازم است تا بافرها پر شوند و اجرای ویدئو آغاز شود. بنابراین تاخیر راهاندازی کلی تقریبا ۲۰ الی ۳۰ ثانیه است (این زمان بر اساس محبوبیت کانال متغیر است و برای کانالهای غیرمشهور تاخیر راه اندازی میتواند تا ۲ دقیقه نیز افزایش یابد). برای انتخاب نظیر (برای گرفتن تکههایی که نظیر لازم دارد) از یک الگوریتم حریصانه استفاده میشود که کاملا مجزا از شبکهی اینترنت زیرین است و احتمال ازدحام بیشتری را ایجاب و هزینهی بالاتری را نیز به ISP ها متحمل میکند.
SopCast که در دانشگاه Fudan چین ایجاد شده است، بسیار شبیه به پروژهی PPLive است. به دنبال فرایند مهندسی معکوس مشابهی، نشان داده شدهاست که SopCast از یک دیدگاه مبتنی بر تور همراه با یک پروتکل اختصاصی که بسیار مشابه پروتکل PPLive است، بهره میگیرد
CoolStreaming (که به DONet نیز معروف است) از اجداد PPLive و SopCast میباشد، که اکنون به خاطر مسائل حقامتیاز تعطیل شده است. از یک پروتکل اختصاصی استفاده میکند و کد بستهای دارد. این سیستم، جریان ویدئو را به تکههایی با اندازهی یکسان تقسیم میکند. یک تفاوت CoolStreaming نسبت به PPLive و SopCast این است که جریان ویدئو توسط یک انتخاب چرخشی از تکههای ویدئو، به شش زیر-جریان تجزیه میشود. تفاوت دیگر آن، این است که CoolStreaming از یک استراتژی آشنا به محل[۴۹] برای انتخاب نظیر استفاده میکند. CoolStreaming تکنولوژی پایهی Roxbeam است که کانالهای ویدئویی زندهی مشترکی با Yahoo ژاپن دارند.
AnySee یک پوشش برپایهی تور است، اما نظیرها بطور تصادفی تکهها را از لیست نظیرها نمیگیرند. در AnySee، نظیرها یک پوشش برپایهی تور را تشکیل میدهند که با توپولوژی فیزیکی شبکه مطابقت دارد. بعد از خودراهاندازی، هر نظیر بصورت دورهای، پیغامهایی را به کل شبکه میفرستد تا لیستی از همسایههایی که منطقا به آن نزدیک هستند را انتخاب کند. تاخیر جریان از منبع ویدئو تا گره برای هر نظیر در لیست ارزیابی میشود و مجموعهای از مسیرهای فعال جریان ساخته میشود. هر نظیر یک مسیر فعال جریان و یک مسیر پشتیبان جریان را نگهداری میکند. هنگامی که یک مسیر جریان فعال خراب میشود (به دلیل پهنای باند ضعیفش و یا قطع شدن اتصال نظیر)، یک مسیر جریان جدید از مجموعهی پشتیبان انتخاب میشود. هنگامی که تعداد مسیرهای پشتیبان جریان کمتر از حد مشخصی میشود، یک الگوریتم بهینهسازی داخل-پوششی فراخوانی میشود تا مسیرهای مناسب جریان را پیدا کند (ارسال پیامها در پوشش تور).
بعضی شرکتها، به فراهم کنندههای محتوا، یک سرویس تحویل ویدئوی زنده ارانه میدهند که از زیرساخت تور P2P استفاده میکند. موفقترین آنها عبارتند از Abacast، Rawflow و Octoshape. آنها اعلام کردهاند که اگر ظرفیت ارسال کلاینتها به بزرگی ظرفیت جریان زنده باشد، ۹۷ درصد از پهنای باند را صرفهجویی می کنند.
بطور خلاصه، جایگذاشتهای برپایهی درخت، سیستم ارسال بهینهای دارد، زیرا داده از والدین به فرزندان میرسد (در شبکه به صورت کلی پخش نمیشود). اما این سیستمها بدلیل حساسیتشان به نقصان گرهها، دارای پایداری کمی هستند. از طرف دیگر در پوشش برپایهی تور، نظیرها باید یک بافر با حجم زیاد برای اشتراک داده، افزایش تاخیر سراسری و راهاندازی نمایشگر داشته باشند. تعدادی طرح پیشنهادی در مورد شبکههای پوششی ترکیبی برپایهی درخت-تور وجود دارد که سعی دارند مزیتهای دو دیدگاه را استخراج کنند. جدول ۲٫۲ خلاصهای از بررسیهای معماری های P2P در این فصل است. توجه کنید که هیچ معماری کدبازی بین آنها وجود ندارد.
تحویل محتوا: دانلود داده از دید کلاینت
در اکثر سیستمهای اشتراک فایل نظیر به نظیر، دادهها توسط پروتکلهای شبیه به Bittorrent، دانلود میشوند که هر نظیر، لیستی از همسایههایی که فایل را در بستههایی از/به آنها دانلود/آپلود میکنند را نگهداری میکند. ویدئو در حین تقاضا نیز میتواند به روش مشابهی توزیع شود. این روشها باعث میشوند تا یک کلاینت داده را از چندین منبع بطور همزمان دریافت کند.
جریان ویدئوی زنده در یک شبکه ی نظیر به نظیر میتواند از یک یا چند منبع توزیع شود. اینکه شبکه بر پایهی پوشش درخت یا پوشش تور باشد اهمیتی ندارد، هنگامی که از چندین منبع استفاده میشود، کلاینتها چندین جریان اضافی را از نظیرهای متفاوت دریافت میکنند، که به آنها اجازه میدهد تا جریان اصلی را دوباره بازسازی کند. به این طریق اگر بعضی از قسمتها به دلیل وجود اشکال در برخی گرهها نرسند، کلاینتها بطور کلی همهی جریان را از دست نمیدهد.
بنابراین میتوان همهی سیستم را از دیدگاه کاربر نهایی دید. برای مثال کلاینت میتواند جریان را با استفاده از سه منبع مضاعف بازسازی میکند. همچنین کلاینت میتواند بعنوان سرور هم عمل کند و قسمتی یا همهی ویدئوی دریافتی را به سایر نظیرها ارسال کند. در یک شبکهی نظیر به نظیر، این سرورها مانند نظیرهایی هستند که متناوبا از شبکه قطع میشوند یا پهنای باند خود را تغییر میدهند.
مطالعهی سیستم از دیدگاه کلاینت به ما اجازه میدهد که کمیت عملکرد عمومی (شامل هدف نهایی: دریافت ویدئوی باکیفیت) را مستقل از تکنیک توزیع مخصوص زیربنایی تعیین کنیم. [۷]
مقدمهای بر استحکام[۵۰] شبکه: یک رویکرد P2P ترکیبی
همانطور که قبلا گفته شد، میتوان مزیتهای معماریهای شبکههای تحویل محتوا (CDN) و شبکههای نظیر به نظیر را در یک سیستم ترکیبی با هم آمیخت. ایدهی اصلی، توسعهی منابع موجود در CDN با بازدهی بالای تحویل P2P، و با نگهداشتن حداکثر کیفیت، امنیت و کنترل متمرکز CDN است.
فرض کنید یک سرویس تحویل ویدئوی زنده با نرخ کدگذاری جریان، برابر با bw=500 kbps داریم. انتظار داریم که تعداد N=100000 کاربر همزمان در چنین رویدادی داشته باشیم. بنابراین به پهنای باند کل ۵۰ Gbps در شبکه نیاز داریم تا این سرویس را پشتیبانی کنیم. امروزه میانگین پهنای باند جریان بالای کاربران محلی برابر است. فرض کنید که هر کاربر ۹۰٪ پهنای باند ارسال خود را به شبکه ارائه دهد، با یک سیستم ترکیبی، به ظرفیت پهنای باندی برابر با نیاز داریم. در عوض برای سرویسدهی به تعداد مشابهی کاربر با یک معماری سنتی CDN، مجبوریم تا ظرفیت پهنای باند را تا مقدار اضافی ۳۶ Gbps افزایش دهیم، یا مجبوریم کیفیت جریان را تا ۱۴۰ Kbps به ازای هر کاربر کاهش دهیم.
همانند شبکهی P2PTV، در راهکار ترکیبی، پهنای باد به صورت متغیر اختصاص داده میشود که باعث کاهش هزینه و اجتناب از ازدحام محلی و ایجاد گلوگاهها میشود (برای محتواهایی که در یک قلمرو محلی محبوب میباشند). هم در دراز مدت و هم در کوتاه مدت، هدف یکسان است: بهبود کیفیت ویدئوی دریافت شده توسط کاربران انتهایی.
خلاصه: نتیجهگیری، نتایج و گفتگو
در این بخش ما شبکههای تحویل محتوا (CDN) و شبکههای نظیر به نظیر (P2P) را به عنوان دستهی خاصی از شبکههای محتوا معرفی کردیم. مزایا و معایب هر ساختار را در زمان استفاده به منظور تحویل ویدئو در اینترنت نشان دادیم. تکنولوژی جدید طراحی شبکهی P2P را با بیان عمیقتر در مورد تحویل ویدئو، یعنی شبکههای P2PTV را معرفی کردیم. دو ایده اصلی در پیادهسازی شبکههای P2P با همدیگر وجود دارند: پوشش برپایهی درخت و پوشش برپایهی تور. بدون در نظر گرفتن طراحی توزیع ، دو فاکتور تغییر ناپذیر وجود دارد. اول اینکه نگاه به توزیع ویدئو از دید کلاینت امکان پذیر است، جایی که در آنجا کلاینتها ویدئو را با اندکی تکرار و احتمال وجود نقص، از مجموعهای از منابع دریافت میکنند. ثانیا اینکه، ترکیب کردن خواص خوب معماری CDN با توزیع P2P کارآمد در یک سیستم ترکیبی امکانپذیر است. سیستم ترکیبی بدست آمده سرویسی مقیاسپذیرتر و مستحکمتر از هر ساختار ایزولهای ارائه میدهد.
در این فصل، کلیات ویدئوی دیجیتال همراه با دیدی از فشرده سازی تصویر و تکنولوژیهای جریان سازی ارائه شد. همچنین یک طبقهبندی از شبکههای ارسال ویدئو را با جزئیاتی در مورد فاکتورهایی که بر کیفیت تجربی در هر نوع شبکه ارائه کردیم. آخرین و جدیدترین اطلاعات را در مورد CDNها و شبکههای P2P را با دقت بر تکنیکهای ارسال ویدئو بر روی اینترنت را معرفی کردیم. همچنین نشان دادیم امکان در هم آمیختن جوانب خوب معماری CDN با بهرهوری P2P در یک سیستم ترکیبی را داریم. این سیستم ترکیبی، سرویسی با قابلیت مقیاسپذیری و استحکام بیشتری نسبت به هر سیستم تنهای دیگر ارائه میدهد.
منبع فایل کامل این پایان نامه این سایت pipaf.ir است |