nx دارای 19 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد nx کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
این پروژه توسط مرکز nx2 آماده و تنظیم شده است
توجه : در صورت مشاهده بهم ريختگي احتمالي در متون زير ،دليل ان کپي کردن اين مطالب از داخل فایل ورد مي باشد و در فايل اصلي nx،به هيچ وجه بهم ريختگي وجود ندارد
بخشی از متن nx :
ویژگی های الگوریتمهای كنترل همروندی توزیعی
چكیده : در این گزارش ما به بررسی ویژگی های الگوریتمهای كنترل همروندی توزیعی كه بر پایه مكانیزم قفل دو مرحله ای(2 Phase Locking) ایجاد شده اند خواهیم پرداخت. محور اصلی این بررسی بر مبنای تجزیه مساله كنترل همروندی به دو حالت read-wirte و write-write میباشد. در این مقال، تعدادی از تكنیكهای همزمان سازی برای حل هر یك از قسمتهای مساله بیان شده و سپس این تكنیكها برای حل كلی مساله با یكدیگر تركیب میشوند. در این گزارش بر روی درستی و ساختار الگوریتمها متمركز خواهیم شد. در این راستا برای ساختار پایگاه داده توزیعی یك سطحی از انتزاع را در نظر میگیریم تا مساله تا حد ممكن ساده سازی شود.
1 مقدمه : كنترل همروندی فرآیندی است كه طی آن بین دسترسی های همزمان به یك پایگاه داده در یك سیستم مدیریت پایگاه داده چند كاربره هماهنگی بوجود میآید. كنترل همروندی به كاربران اجازه میدهد تا در یك حالت چند برنامگی با سیستم تعامل داشته باشند در حالیكه رفتار سیستم از دیدگاه كاربر به نحو خواهد بود كه كاربر تصور میكند در یك محیط تك برنامه در حال فعالیت است. سخت ترین حالت در این سیستم مقابله با بروز آوری های آزار دهنده ای است كه یك كاربر هنگام استخراج داده توسط كاربر دیگر انجام میدهد. به دو دلیل ذیل كنترل همروندی در پایگاه داده های توزیعی از اهمیت بالایی برخوردار است: 1 كاربراان ممكن است به داده هایی كه در كامپیوترهای مختلف در سیستم قرار دارند دسترسی پیدا كنند.
2 یك مكانیزم كنترل همروندی در یك كامپیوتر از وضعیت دسترسی در سایر كامپیوترها اطلاعی ندارد.مساله كنترل همروندی در چندین سال قبل كاملا مورد بررسی قرار گفته است و در خصوص پایگاهدادههای متمركز كاملا شناخته شده است. در خصوص این مسال در پایگاه داده توزیعی با توجه به اینكه مساله در حوزه مساله توزیعی قرار میگیرد بصورت مداوم راهكارهای بهبود مختلف عرضه میشود. یك تئوری ریاضی وسیع برای تحلیل این مساله ارائه شده و یك راهكار قفل دو مرحله ای به عنوان راه حل استاندارد در این خصوص ارائه شده است. بیش از 20 الگوریتم كنترل همروندی توزیعی ارائه شده است كه بسیاری از آنها پیاده سازی شده و در حال استفاده میباشند.این الگوریتمها معمولا پیچیده هستند و اثبات درستی آنها بسیار سخت میباشد. یكی از دلایل اینكه این پیچیدگی وجود دارد این است كه آنها در
اصطلاحات مختلف بیان میشوند و بیان های مختلفی برای آنها وجود دارد. یكی از دلایل اینكه این پیچدگی وجود دارد این است كه مساله از زیر قسمتهای مختلف تشكیل شده است و برای هر یك از این زیر قسمتها یك زیر الگوریتم ارائه میشود. بهترین راه برای فائق آمدن بر این پیچدگی این است كه زیر مساله ها و الگوریتمهای ارائه شده برای هر یك را در ی.ك سطح از انتزاع نگاه داریم.
با بررسی الگوریتمهای مختلف میتوان به این حقیقت رسید كه این الگوریتمها همگی تركیبی از زیر الگوریتمهای محدودی هستند. در حقیقت این زیر الگوریتمها نسخههای متفاوتی از دو تكنیك اصلی در كنترل همروندی توزیعی به نامهای قفل دو مرحله ای و ترتیب برچسب زمانی میباشند.
همانطور كه گفته شد، هدف كنترل همروندی مقابله با تزاحمهایی است كه در اثر استفاده چند كاربر از یك سری داده واحد برای كاربران بوجود میآید است. حال ما با ارائه دو مثال در خصوص این مسائل بحث خواهیم نمود. این دو مثال از محك معروف TPC_A مقتبس شده اند. در این مثالها، یك سیستم اطلاعات را از پایگاه داده ها استخراج كرده و محاسبات لازم را انجام داده و در نهایت اطلاعات را در پایگاه داده ذخیره مینماید.
حالت اول را میتوان بروزآوری از دست رفته نامید. حالتی را تصور كنید كه دو مشتری از دو سیستم مجزا بخواهند از یك حساب مالی برداشت نمایند. در این حالت فرض كنید در غیاب سیستم كنترل همروندی، هر دو با هم اقدام به خواندن اطلاعات و درج اطلاعات جدید در سیستم میكنند. در این حالت در غیاب سیستم كنترل همروندی تنها آخرین درج در سیستم ثبت میشود. این حالت در شكل 1 نشان داده شده است.
شكل 1 نمایش حالت بروز آوری از دست رفته
حالت دوم حالتی است كه در آن اطلاعات صحیح از پایگاه داده استخراج نمیشود. در این حالت فرض كنید دو مشتری بخواهند كارهای ذیل را انجام دهند.• مشتری 1: بخواهد یك چك 1 میلیونی را به حساب X واریز و از حساب Y برداشت نماید.• مشتری 2: بخواهد بیلان حساب مالی X و Y شامل كل موجودی را نمایش دهد.
در غیاب كنترل همروندی همانطور كه در شكل 2 نشان داده شدهاست، تزاحم بین پروسس ها بوجود خواهد آمد. فرض كنید در زمانی كه مشتری 1 اطلاعات را از حساب Y خوانده و اطلاعات حساب X را دریافت نموده و 1 میلیون از حساب Y برداشت نموده ولی هنوز 1 میلیون به حساب X و اریز نكرده مشتری 2 اطلاعات كل دو حساب را دریافت نموده و نتیجه را چاپ نماید. در این حالت مشتری شماره 2 اطلاعاتی را كه به عنوان بیلان نمایش میدهد 1 میلیون از مقدار واقعی كمتر است. این حالت یك فرق اساسی با حالت اول دارد و آن این است كه در این حالت نتیجه نهایی در پایگاه داده درست خواهد بود در حالیكه اطلاعات دریافت شده بصورت موقت غلط خواهند بود.
شكل 2 خواندن اطلاعات نادرست از سیستم
مساله كنترل همروندی در پایگاه داده های توزیعی تا حدودی شبیه مساله دوبهدو ناسزگاری در سیستم عامل میباشد. در مساله دوبهدو ناسازگاری، هماهنگی جهت دسترسی به منابع سیستم ائم از حافظه، ابزارهای ورودی و خروجی و CPU و ;. بوجود میآید. در این حالت راه حلهای گوناگونی ائم از قفلها، سمافورها، مونیتورها و ; پیشنهاد شده است.كنرتل همروندی و دوبهدو ناسگاری از این جهت كه هر دو دسترسی به منابع مشترك را كنترل میكنند با هم شباهت دارند. با این حال راه حلی كه برای یكی بكار میرود قابل بهره برداری برای دیگری نیست. فرض كنید پردازه های P1 و P2 بخواهند از نقاط مختلف كدهای خود به منابع R1 و R2 دسترسی پیدا كنند. در سیستم عامل دسترسی مجزای ذیل قابل قبول است. P2 از R1 استفاده كند، P2 از R1 استفاده كند، P2 از R2 استفاده نموده و سپس P1 از R2 استفاده نماید. در پایگاه داده این روند اجرا مورد قبول نیست و مشكلاتی را ایجاد میكند. فرض كنید P1 بخواهد از R1 مبلغی را به R2 انتقال دهد. در این حالت اگر P2 مقادیر R1 وR2 را چك كند مقادیر غیر صحیح را دریافت میكند.
2 مدل پردازش تراكنش: برای اینكه روند اجرای عملیات در سیستمهای پایگاه داده های توزیعی برای خواننده مشخص شود ما در اینجا یك مدل از پایگاه دادههای توزیعی را ارائه میدهیم. سپس نحوه عملكرد مكانیزم كنترل همروندی را در این مدل بیان خواهیم نمود. در این مدل پایگاه داده، یك پایگاه داده توزیعی مجموعه از سایتهاست كه توسط یك شبكه به هم متصل شدهاند. هر سایت یك كامپیوتر است كه یكی یا هر دوی برنامه های ذیل را اجرا میكند. برنامهها شامل یك مدیر تراكنش یا TM و یك مدیر داده یا DM است. TM مسئول
مدیریت تعامل كاربر با پایگاه داده است و DM مسئول نگهداری دادهها است. شبكه نیز یك وسیله ارتباطی كامپیوتر – كامپیوتر است. فرض بر این است كه شبكه كاملا امن میباشد و پیامها را با همان ترتیبی كه وارد سیستم میشوند به مقصد ارسال میشود. فرض بر این است كه تعداد داده های موجود در سیستم شامل X ، Y و Z است كه داده های منطقی موجود در سیستم را تشكیل میدهند. داده های ذكر شده فقط واحد داده های منطقی هستند و ما با سایز و قالب و جزئیات آنها كاری نخواهیم داشت. هر پایگاه داده در این سیستم یك نسبت دهی مقادیر بصورت منطقی به این داده های منطقی است. هر داده منطقی میتواند در یك یا بیشتر از یك DM ذخیره شود. افزونگی داده در اثر ذخیره داده در چندین DM برای افزایش دسترسی به دادهها است. هر كپی از داده ذخیره شده آیتم داده نامیده میشود. نسخه های متعدد داده X را بصورت X1,X2,; نشان داده میشوند. كاربران با
DDBMS از طریق اجرای تراكنشها تعامل دارند. تراكنشها میتوانند پرس و جو های ON-LINE باشند كه با زبان استاندارد پرس و جو ارسال شده اند. از طرفی تراكنشها میتوانند عملیاتی باشند كه از طریق برنامه های نوشته شده به سیستم داده میشوند. الگوریتمهای كنترل همروندی، كاری با نوع تراكنشهای موجود در سیستم ندارند و محاسبات انحام شده در این تراكنشها تاثیری در روند این الگوریتمها ندارد. بر خلاف اینها این الگوریتمها تمام تصمیم گیری های خود را بر اساس داده هایی كه این تراكنشها به آنها دسترسی پیدا میكنند انجام میدهند. دسترسی ها میتوانند از نوع خواندن یا نوشتن باشند. فرض بر این است كه محاسبات در تراكنشها كامل بوده و اگر تراكنش در یك پایگاه داده به تنهایی اجرا شود، پایگاه داده در حالت صحیح و مانا قرار گرفته و نتایج كاملا صحیحی در بر خواهد داشت. مجموعه منطقی خواندنی یك تراكنش مجموعه ای از آیتمهای داده ای است كه تراكنش میخواند. این امر در شكل 3 نمایش داده شده است.
شكل 3 مدل اجرای تراكنشها
صحت یك الگوریتم كنترل همروندی بر اساس نیاز كاربران به اجرای تراكنشها تعریف میشود. در اینجا میتوان دو شرط اساسی را میتوان برای اجرای صحیح تراكنشها میتوان در نظر گرفت. شرط اول این است كه كاربران انتظار دارند تراكنشهایی را كه در سیستم ثبت میكنند، نهایتا اجرا شود. شرط دو م این است كه كاربران انتظار دارند تراكنشهای ارسالی دقیقا مانند زمانی كه تراكنش در یك سیستم مجزا یا در یك محیط موازی چند برنامه، اجرا میشود اجرا شود و نتایج آن در هر دوحالت كاملا مشابه باشد. تحقق این شرایط دقیقا اهداف یك الگوریتم كنترل همروندی را مشخص میكنند. یك سیستم DDBMS چهار جزء اصلی را در برخواهد داشت: تراكنش، TM، DM و دادهها. تراكنشها با TM ارتباط دارند. TM ها با DM ها ارتباط برقرار میكنند و DM ها داده ها را مدیریت میكنند. TM ها با سایر TM ها ارتباط برقرار نمیكنند.
TM ها بر تركانش ها و اجرای آنها نظارت میكنند. هر تراكنش در پایگاه داده های توزیعی فقط با یك TM در ارتباط است. این بدین معنا است كه هر تراكنش تمام عملیات پایگاه داده خود را به TM مربوط به خود ارسال میكنند. تمامی عملیاتهای توزیعی كه بایستی توسط تراكنش انجام شود توسط TM مزبور مدیریت میشود. چهار عملیات مختلف توسط واسط TM برای تراكنشها قابل تعریف است. READ(X) مقدار جاری X را در وضعیت فعلی پایگاه داده های منطقی برمیگرداند. WRITE(X,NEWVALUE) مقدار X را در حالت جاری پایگاه دادههای منطقی به مقدار NEWVALUE تغییر میدهد. همچنین با استفاده از BEGIN و END ابتدا و انتهای یك تراكنش برای یك TM مشخص میشود.
3-تحلیل مساله كنترل همروندی : در اینجا ما با دو رویكرد به مواجه با مساله كنترل همروندی خواهیم پرداخت. در رویكرد اول به نحوه اجرای صحیح خواهیم پرداخت و در رویكرد دوم به تجزیه مساله به بخشهای قابل حل خواهیم پرداخت.
3-1- قابلیت توالی: فرض كنید E یك ترتیب اجرای تراكنشهای T1 تا TN باشد. در اینصورت E یك اجرای متوالی از تراكنشها است، در صورتیكه هر تراكنش قبل از اجرای تراكنش بعدی به طور كامل اجرا شده و خاتمه پذیرد. تمامی ترتیبهای اجرای متوالی از دیدگاه پایگاه دادهها صحیح تصور میشوند، چرا كه خواص تراكنش اذعان میكند كه در خاتمه اجرای متوالی صحت پایگاه داده حفظ میشود. یك ترتیب اجرای تراكنش قابل توالی (SERIALIZABLE) محسوب میشود در صورتیكه نتیجه خروجی اجرای آن برابر یك اجرای متوالی از تراكنشهای مشابه باشد. در نتیجه تمام اجراهای متوالی SERIALIZABLE محسوب میشوند و نتیجه صحیحی خواهند داشت.
هدف الگوریتم كنترل همروندی این است كه تضمین كند كه تمامی ترتیب های اجرای تراكنش ها قابل توالی میباشند. تنها عملیاتی كه به دادههای پایگاه داده دسترسی پیدا میكنند DM-READ و DM-WRITE میباشند. بنا براین برای پایش اجرای توالی لازم است فقط DM-READ و DM-WRITE های موجود در پایگاه داده توزیعی در DM ها مختلف مدل شده و رفتار آنها كنترل شود. LOG فایلها میتوانند شرح دهنده توالی DM-READ ها و DM-WRITE ها باشند. در یك پایگاه داده توزیعی، یك ترتیب اجرا قابل توالی نامیده میشود در صورتیكه به ازای TI كه قبل از TJ در توالی قرار دارد، تمامی عملیاتهای TI قبل از TJ در تمامی سایتها انجام شده باشند. این نشان دهنده این است كه تمامی تراكنشها باید به ترتیب وارد شده در تمامی سایتها اجرا شوند.
دو عملیات با هم تداخل دارند اگر هر دو عملیات بر روی یك داده مشترك كار كرده و یكی از داده ها DM-WRITE باشد. در این حالت اگر دو عملیات با هم تداخل داشته باشند، ترتیب اجرای دو عمل بر روی نتیجه نهایی تاثیر مستقیم خواهد داشت. برای روشنتر شدن موضوع به بحث در خصوص یك مثال خواهیم پرداخت. فرض كنید ایتم دادهای X و تراكنشهای TI و TJ موجود باشند. اگر TI اقدام به خواندن مقدار X نموده و TJ اقدام به نوشتن مقدار جدیدی در X نماید. در اینصورت مقدار خوانده شده توسط TI به تقدم و تاخر عملیاتهای خواندن و نوشتن وابسته خواهد شد. بطور مشابه فرض كنید TI و TJ هر دو بخواهند مقدار جدید را در X بنویسند، در اینصورت مقدار X دقیقا به این امر وابسته میشود كه كدام عملیات دیرتر انجام شده است. حالت اول را تداخل خواندن- نوشتن (RW) و حالت دوم را تداخل نوشتن – نوشتن (WW) مینامند.نمایش تداخل های مختلف میتواند به ارائه یك تعریف فرموله شده برای ترتیبهای اجرای هم ارز كمك كند. دو ترتیب اجرای تراكنش از نظر محاسباتی زمانی معادل هستند كه دو شرط ذیل در آنها صادق باشد:
1 هر DM-READ در تراكنش، داده ای را بخواند كه از ابتدا به تراكنش داده شده باشد یا داده ای باشد كه توسط یك DM-WRITE از همین تراكنش نوشته شده باشد.2 نتیجه نهایی نوشته شده در آیتم دادهای در هر دو ترتیب اجرا یكسان باشد.قضیه 1: فرض كنید T كه بصورت ذیل تعریف شده است مجموعه ای از تراكنشها در یك پیگاه داده باشد:
آنگاه اگر E یك ترتیب اجرا از این تراكنشها در LOG های L1 تا LM باشد، E قابل توالی خواهد بود اگر به ازای هر دو عملیات OI و OJ كه با یكدیگر تداخل دارند به ازای تمامی LOG ها ترتیب یكسانی نسبت به یكدیگر داشته باشند.
قضیه فوق الذكر برای حل مسائل مربوط به ترتیب توالی در سیستم بكارمیرود.3-2- یك الگو برای كنترل همروندی: در قضیه فوق تداخلهای خواندن- نوشتن و نوشتن – نوشتن بصورت مشترك در یك تعریف عمومی از تداخل ظاهر شده اند. در هر حال ما میتوانیم مساله قابلیت توالی را با تفكیك این دو نوع تداخل بهتر بررسی كنیم. فرض كنید E یك مجموعه از LOG های ثبت شده در یك توالی باشد. ما چند رابطه را میتوانیم بین تراكنشهای موجود در E تعریف كنیم. برای هر جفت تراكنش TI و TJ خواهیم داشت:شرح رابطه نوع رابظه
اگر LOG وجود داشته باشد كه در آن TI دادهای را میخواند كه بلافاصله TJ در آن مینویسد. RWاگر LOG وجود داشته باشد كه در آن TI در دادهای را مینویسد كه بلافاصله TJ از آن میخواند. WRاگر LOG وجود داشته باشد كه در آن TI در دادهای را مینویسد كه بلافاصله TJ در آن مینویسد WWاگر TI->RW TJ با TI->WR TJ RWRاگر TI->RWR TJ با TI->WW TJ
قضیه 2: اگر روابط RWR و WW بصورت غیر حلقوی بوده و یك ترتیب كلی برای این روابط بتوان متصور شد.بنا بر قضیه فوق میتوان الگوریتمهای كنترل همروندی را مورد ارزیابی و بررسی قرار داده و صحت آنها را از طریق اثبات ریاضی محك زد. تشخیص تداخلهای RW و WW برای كشف ایراد در الگوریتمهای كنترل همروندی كاربرد فراوانی دارد. قضیه 2 به ما اجازه میدهد تا مساله كنترل همروندی را به قسمتهای كوچكتر تقسیم نموده و بتوان هر یك از این قسمتها را بطور مستقل بررسی نمود.
4-مكانیزمهای كنترل همروندی بر پایه قفل دو مرحلهای : قفل دو مرحله ای با تشخیص روشن تداخل بین عملیاتهای همروند و جلوگیری از آنها، بین عملیاتهای خواندن و نوشتن همزمانی بوجود میآورد. قبل از اینكه یك تراكنش X را بخواند باید یك قفل خواندن بر روی X قرار دهد و قبل از اینكه یك تراكنش روی داده X بنویسد، باید یك قفل نوشتن روی X قرار دهد. تصاحب قفلها با توجه به دو قانون بدست میآید.:
1 تراكنشهای مختلف نمیتوانند قفلهایی كه باعث ایجاد تداخل میشوند بدست آورند.2 زمانی كه یك تراكنش شروع به آزاد كردن قفلهای خود نمود، دیگر نمیتواند قفل دیگری بدست آورد.قفلهایی كه باعث تزاحم میشوند با توجه به نوع همزمان سازی مشخص و تعریف میشوند. برای حالت RW دو قفل زمانی با هم تداخل دارند كه دو شرط در آنها صدق كند:1 هر دو قفل بر روی یك داده واحد باشند.
2 یكی قفل نوشتنی و دیگری قفل خواندنی باشد.برای حالت WW دو قفل زمانی با هم تداخل دارند كه دو شرط در آنها صدق كند:1 هر دو قفل بر روی یك داده واحد باشند.
2 هر دو قفل از نوع نوشتنی باشند.قانون دوم ایجاب میكند كه هر تراكنش برای بدست آوردن قفل دو فاز را طی كند. فاز اول كه فاز دستیابی به قفلهاست، تراكنش اقدام به بدست آوردن قفلهای لازم میكند. در فاز دوم كه فاز تخلیه است، تراكنش به مرور زمان قفلهای خود را آزاد میكند. هنگامی كه تراكنش خاتمه پیدا میكند كلیه قفلها رها میشوند.
روشهای مختلفی برای الگوریتمهای قفل دو مرحلهای پیشنهاد شده است. یكی از این روشها این است كه تراكنش قفلهای مورد نیاز را قبل از اجرای اصلی خود بدست آورد. این نسخه از قفل دو مرحلهای را پیش تعریف مینامند. برخی از سیستمهای تراكنشها را مجبور میكنند تا قفلهای خود را تا پیش از خاتمه نگه دارند. قفل دو مرحلهای یك تكنیك صحیح ایجاد قابلیت توالی است. این امر با بررسی سیستم از لحظه عدم وجود حلقه و دور در روابط RWR و WW مشخص است. ترتیب اجرای تراكنشها با ترتیب بدست آوردن قفلها مشخص میگردند. نقطه ای كه در آن تراكنش تمامی قفلهای مورد نیاز خود را بدست آورده است را نقطه تصاحب قفل مینامند. روشهای مختلفی برای ایجاد الگوریتم قفل دو مرحله ای در سیستمهای توزیعی وجود دارد كه در قسمت بعد مورد بررسی قرار میگیرد.
5-پیاده سازی پایه قفل دو مرحلهای : در پیاده سازی پایه الگوریتم قفل دو مرحلهای یك ماژول نرم افزاری ایجاد میشود كه روند دریافت و آزاد سازی قفلها را بر اساس ویژگی های الگوریتم قفل دو مرحلهای كنترل میكند.
یك روش برای پیاده سازی توزیعی این الگوریتم این است كه ماژولهای نرم افزاری را بین اجزای پایگاهداده توزیع نمائیم. برای اینكار هر ماژول را در DM یعنی آنجائیكه X داده تحت كنترل است قرار دهیم. اگر یك قفل قابل تخصیص نباشد، درخواست برای قفل در یك صف انتظار قرار داده میشود. قفلهای نوشتن بطور خودكار با انجام عمل WRITE آزاد میشوند. در اینصورت برای آزاد نمودن قفلهای خواندنی بایستی عملیات اضافه تعریف نمود. آزاد نمودن قفلها با نوشتن اطلاعات و آغاز فاز تخلیه آغاز میشود. هرگاه یك قفل آزاد میشود عملیاتهای موجود در صف شروع به ادامه میكنند.
توجه داشته باشید كه این پیاده سازی افزونگی داده را به درستی پوشش داده و مشكل افزونگی داده و صحت و مانایی اطلاعات را حل میكند. اگر این روش برای همزمان سازی های RW بكار رود، تراكنش میتواند هر كپی داده ای را كه در دسترس بود بخواند و هر قفل خواندنی كه مهیا بود را بدست آورد. در هر صورت اگر بخواهد داده را بروزآوری كند، یعنی مقدار جدیدی به داده ای نسبت دهد باید بر روی تمام افزونههای دادهای مورد نظر، مقدار جدید را ثبت كند و داده را بروز كند كه مستلزم بدست آوردن قفل نوشتن بر روی تمامی نسخه های داده ای است.
ادامه خواندن تحقيق در مورد ويژگي هاي الگوريتمهاي كنترل همروندي توزيعي
نوشته تحقيق در مورد ويژگي هاي الگوريتمهاي كنترل همروندي توزيعي اولین بار در دانلود رایگان پدیدار شد.