امروز شنبه ، ۱۴۰۱/۰۴/۱۱
بدان

آکورد: سرویس جستجوی نظیر در نظیر برای برنامه های اینترنتی: بخش 1: | Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications: part 1:

آکورد: سرویس جستجوی نظیر در نظیر برای برنامه های اینترنتی: بخش 1:

چکیده:

یک مشکل اساسی که با برنامه های نظیر به نظیر روبرو می شود ، مکان یابی مlyثر گره ای است که یک مورد خاص داده را ذخیره می کند.

این مقاله Chord را ارائه می دهد ، یک پروتکل جستجوی توزیع شده که این مشکل را برطرف می کند.

وتر فقط برای یک عملیات پشتیبانی می کند: با توجه به یک کلید ، آن کلید را روی یک گره ترسیم می کند.

با اتصال یک کلید با هر مورد داده ، و ذخیره جفت کلید / داده داده در گره ای که کلید به آن نقشه می زند ، می توان به راحتی مکان داده را در بالای Chord پیاده سازی کرد.

آکورد با اتصال گره ها و خروج از سیستم ، به طور کارآمد سازگار می شود و حتی اگر سیستم به طور مداوم تغییر کند ، می تواند به س canالات پاسخ دهد.

نتایج حاصل از تجزیه و تحلیل نظری ، شبیه سازی ها و آزمایشات نشان می دهد که آکورد مقیاس پذیر است ، با هزینه ارتباطات و وضعیت حفظ شده توسط هر گره به صورت لگاریتمی با تعداد گره های وتر حفظ می شود.

1. مقدمه:

چکیده: سیستم ها و برنامه های نظیر به نظیر سیستم هایی بدون هیچگونه کنترل متمرکز یا سازمان سلسله مراتبی توزیع می شوند ، جایی که نرم افزار اجرا شده در هر گره از نظر عملکرد برابر است.

با مرور ویژگی های اخیر برنامه های نظیر به نظیر ، یک لیست طولانی ارائه می شود: فضای ذخیره سازی اضافی ، ماندگاری ، انتخاب سرورهای اطراف ، ناشناس بودن ، جستجو ، احراز هویت و نامگذاری سلسله مراتبی.

با وجود این مجموعه غنی از ویژگی ها ، عملکرد اصلی در اکثر سیستم های نظیر به نظیر ، مکان کارآمد اقلام داده است.

سهم این مقاله یک پروتکل مقیاس پذیر برای جستجو در یک سیستم پویا نظیر به نظیر با ورود و خروج مکرر گره است.

پروتکل آکورد فقط از یک عملیات پشتیبانی می کند: با توجه به یک کلید ، کلید را روی یک گره ترسیم می کند.

بسته به برنامه ای که از Chord استفاده می کند ، آن گره می تواند مسئولیت ذخیره مقادیر مرتبط با کلید را داشته باشد.

وتر از یک نوع هش کردن سازگار [11] برای اختصاص کلیدها به گره های وتر استفاده می کند.

هش کردن مداوم تمایل به تعادل بار دارد ، زیرا هر گره تقریباً به همان تعداد کلید دریافت می کند و هنگام اتصال گره ها و خارج شدن از سیستم ، حرکت کلیدها تقریباً کم است.

کارهای قبلی در مورد هش کردن سازگار فرض بر این بود که گره ها از بیشتر گره های دیگر سیستم آگاهی دارند و این مقیاس بندی تا تعداد زیادی گره را غیرعادی می کند.

در مقابل ، هر گره Chord فقط در مورد چند گره دیگر به اطلاعات "مسیریابی" نیاز دارد.

از آنجا که جدول مسیریابی توزیع شده است ، یک گره با برقراری ارتباط با چند گره دیگر عملکرد هش را برطرف می کند.

در حالت ثابت ، در یک سیستم -node ، هر گره فقط اطلاعات مربوط به گره های دیگر را حفظ می کند و همه جستجوها را از طریق پیام به گره های دیگر برطرف می کند.

آکورد هنگام پیوستن و خروج گره ها از سیستم ، اطلاعات مسیریابی خود را حفظ می کند. با احتمال زیاد هر یک از این رویدادها بیش از پیام منجر نمی شود.

سه ویژگی که وتر را از سایر پروتکل های جستجوی نظیر به نظیر متمایز می کند سادگی ، صحت قابل اثبات و عملکرد قابل اثبات آن است.

وتر ساده است ، یک کلید را از طریق دنباله ای از گره های دیگر به سمت مقصد هدایت می کند.

گره آکورد برای مسیریابی کارآمد به اطلاعات مربوط به گره های دیگر نیاز دارد ، اما وقتی اطلاعات از رده خارج شوند عملکرد به طرز مطلوبی افت می کند.

این در عمل مهم است زیرا گره ها به طور خودسرانه به هم می پیوندند و خارج می شوند و حفظ یکنواختی حالت حتی ممکن است سخت باشد.

برای اینکه Chord بتواند مسیریابی صحیح (هر چند کند) س quالات را تضمین کند ، فقط یک قطعه اطلاعات در هر گره باید صحیح باشد. وتر یک الگوریتم ساده برای نگهداری این اطلاعات در یک محیط پویا دارد.

بقیه این مقاله به شرح زیر سازماندهی شده است.

بخش 2 آکورد را با کارهای مرتبط مقایسه می کند.

بخش 3 مدل سیستمی را ارائه می دهد که باعث ایجاد انگیزه در پروتکل Chord می شود.

بخش 4 پروتکل پایه وتر را ارائه می دهد و چندین ویژگی آن را اثبات می کند ، در حالی که بخش 5 پسوندهایی را برای مدیریت اتصالات و خرابی های همزمان ارائه می دهد.

بخش 6 ادعاهای ما در مورد عملکرد Chord را از طریق شبیه سازی و آزمایش روی نمونه اولیه مستقر شده نشان می دهد.

سرانجام ، ما مواردی را برای کارهای آینده در بخش 7 شرح می دهیم و کمک های خود را در بخش 8 خلاصه می کنیم.