پروتکل های کنترل همزمانی

34
ی ن ما ز م ه رل ت ن ک ل های ک ت رو پ ی ن ما ز م ه رل ت ن ک ل های ک ت رو پ ه ت ف ر! ش# ي% په داده گا+ ات ه اول پ- ارائ ه ت ف ر! ش# ي% په داده گا+ ات ه اول پ- ئ ارا ی س ا2 ب ع ی عل ی س ا2 ب ع ی عل

Upload: lesley

Post on 11-Feb-2016

77 views

Category:

Documents


2 download

DESCRIPTION

پروتکل های کنترل همزمانی. ارائه اول پايگاه داده پيشرفته علی عباسی . پروتکل های براساس قفل پروتکل های بر اساس پروتکل های برمبنای تعيين اعتبار دانه بندی چند گانه الگوی چند نسخه ای بن بست اعمال حذف و اضافه همزمانی در ساختار انديس. پروتکل های براساس قفل. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: پروتکل های کنترل همزمانی

پروتکل های کنترل همزمانیپروتکل های کنترل همزمانی

ارائه اول پايگاه داده پيشرفتهارائه اول پايگاه داده پيشرفته علی عباسیعلی عباسی

Page 2: پروتکل های کنترل همزمانی

پروتکل های براساس قفل •پروتکل های بر اساس •پروتکل های برمبنای تعيين اعتبار•دانه بندی چند گانه•الگوی چند نسخه ای •بن بست •اعمال حذف و اضافه•همزمانی در ساختار انديس•

Page 3: پروتکل های کنترل همزمانی

پروتکل های براساس قفلقفل مکانيزمی برای کنترل دسترسی به عناصرداده است •عناصر داده می توانند در دو مد قفل شوند •

: عنصر داده می تواند هم خوانده شود و هم نوشته شود قفل انحصاری1.

: عنصر داده تنها می تواند خوانده شودقفل اشتراکی2.

درخواست های قفل به مدير کنترل همزمانی داده می شود •و تراکنش تنها در صورتی ادامه می يابد که درخواست آن

پاسخ داده شود .

Page 4: پروتکل های کنترل همزمانی

پروتکل های براساس قفل-ادامهماتريس سازگاری قفل •

به يک تراکنش تنها در صورتی قفل داده می شود که قفل درخواستی با •بقيه قفل های موجود روی عنصر داده توسط تراکنش های ديگر ناسازگاری

نداشته باشد .هرتعدادی تراکنش می توانند روی عنصر داده قفل اشتراکی داشته باشند ، •

اما درصورتی که يک تراکنش روی يک عنصر داده قفل انحصاری داشته باشد ، تراکنش ديگری نمی تواند روی آن هيچ نوع قفلی داشته باشد .

اگر امکان دادن يک قفل نباشد ، تراکنش درخواست کننده مجبور به انتظار •می شود تا هنگامی که تمامی قفل های ناسازگار آزاد شوند

Page 5: پروتکل های کنترل همزمانی

پروتکل های براساس قفل-ادامهقفل کردن برای اطمينان از سريالی بودن کافی نيست •برای اطمينان از سريالی بودن بايد مجموعه ای از قوانين •

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

Page 6: پروتکل های کنترل همزمانی

معايب قفل کردنترتيب اجرای جزيی زير را در نظر بگيريد .•

هيچکدام از تراکنش ها نمی توانند ادامه يابند . اين وضعيت بن بست ناميده •می شود .

روش برخورد با اين وضعيت بازگرداندن يکی از تراکنش هاست .•

Page 7: پروتکل های کنترل همزمانی

پروتکل های براساس قفل-ادامهامکان بن بست در بيشتر پروتکل های قفل کردن وجود دارد .• هم در صورت طراحی بد مدير کنترل همزمانی وجود دارد گرسنگیامکان •

.

يک تراکنش ممکن است در انتظار قفل انحصاری روی يک عنصر باشد درصورتی که– يک سری از تراکنش ها ممکن درخواست قفل اشتراکی داده باشند و قفل به آنها –

اعطا شود و به امکان دادن قفل به تراکنشی که درخواست قفل انحصاری کرده نباشد

تراکنش مشابه ای ممکن است برای مکررا برای رهايي از بن بست برگردانده شود .–

مدير کنترل همزمانی می تواند به گونه ای طراحی شود که از گرسنگی •اجتناب شود

Page 8: پروتکل های کنترل همزمانی

پروتکل قفل کردن دو مرحله ای

conflictاين پروتکل تضمين می کند که ترتيب اجراها •serializable. باشند

اين پروتکل تراکنش را به دو فاز تقسيم می کند •

–Growing ست می آورد و قفلی از دستlکه در آن تراکنش قفل ها را بد . lنمی دهد

–Shrinking قفل ها را آزاد می کند و قفلی بدست نمی آورد lکه تراکنش .

اين پروتکل سريالی بودن را تضمين می کند . و تراکنش ها می •توانند به ترتيب

lock points ، ) نقطه ايکه تراکنش قفل آخر را می کيرد( سريالی شوند .

Page 9: پروتکل های کنترل همزمانی

پروتکل قفل کردن دو مرحله ای-ادامه

قفل کردن دو مرحله ای رهايی از بن بست را تضمين •نمی کند .

برگرداندن آبشاری تحت قفل کردن دو مرحله امکان پذير • strict twoاست . و برای جلوگيذی از می توان از

phase locking استفاده کرد . که در اين پروتکل تراکنش ها بايد تا پايان تراکنش قفل های انحصاری را نگه

دارند . rigorous two phaseنوع ديگری از اين پروتکل •

locking است که تراکنش تمام قفل ها را تا پايان تراکنش نگه می دارد .

Page 10: پروتکل های کنترل همزمانی

پروتکل قفل کردن دو مرحله ای-ادامه

قفل کردن دو مرحله ای تمام ترتيب اجراهای سريالی را •توليد نمی کند .

درنبود اطالعات اضافی )ترتيب دسترسی به داده ها ( •قفل کردن دو مرحله ای برای اطمينان از سريالی بودن

الزم است . قفل کردن دو مرحله ای را رعايت Tiزيرا اگر تراکنش •

بيابيم که قفل Tjنکرده باشد ، می توانيم تراکنشی مانند کردن دو مرحله ای را رعايت کرده باشد و ترتيب اجرايی

نباشد . conflict serializableاز آنها

Page 11: پروتکل های کنترل همزمانی

پروتکل های براساس گراف يک ترتيب جزيی را برمجموعه تمامی داده های پايگاه داده •

اعمال می کند . تراکنشی که به هر دو داده دسترسی می di -> djاگر •

دسترسی پيذل کند . djقبل از diيابد بايد به به اين معنی استکه مجموعه تمامی داده ها می تواند •

databaseبصورت يک گراف جهت دار بدون دور بنام graph. ديده شود

•Tree protocol نوع ساده ای از graph protocol است.

Page 12: پروتکل های کنترل همزمانی

پروتکل درخت

تنها قفل های انحصاری موجود هستند .•اولين قفل ممکن است روی هر عنصر داده ای باشد . در •

دفعات بعدی قفل ها در صورتی داده می شوند که پدر نود نيز توسط تراکنش قفل شده باشد.

عناصر داده در هر زمانی می توانند آزاد شوند . •

Page 13: پروتکل های کنترل همزمانی

پروتکل های براساس گراف-ادامه

و رهايی از بن بست را تضمين conflict serializabilityپروتکل درخت •می کند .

در پروتکل درخت آزاد کردن قفل ها زودتر از قفل کردن دو مرحله ای رخ •می دهد .

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

با اينحال در اين پروتکل نياز است که تراکنش عناثر داده ای را قفل کند که •به آنها دسترسی پيدا نمی کند .

سربار قفل بيشتر و زمان انتظار بيشتر –کاهش در همزمانی –

ترتيب اجراهايی در اين پروتکل امکان پذير است که در قفل کردن دو •مرحله ای امکان پذير نيست و برعکس

Page 14: پروتکل های کنترل همزمانی

timestampپروتکل های براساس نسبت داده می شود . timestampبه هر تراکنش هنگام ورود به سيستم يک •

می باشد و تراکنش جديد )TS)Ti آن timestampکه Tiبين تراکنش قديمی Tj کهtimestamp آن TS)Tj(. ه زير برقرار استlاست رابط

ها ترتيب timestampاين پروتکل بصورتی همزمانی را کنترل می کند که سريالی را تعيين می کنند .

• lبرای پياده سازی اين الگو ،به هرعنصر دادهQ دو مقدار timestamp نسبت می دهيم:

–W-timestamp)Q( که بزرگترين مقدار timestamp هايی را که عمل write)Q( را به

صورت مؤفقيت آميز انجام داده اند نشان می دهد .–R-timestamp که بزرگترين مقدارtimestamp هايی را که عمل

read)Q(را به صورت مؤفقيت آميز انجام داده اند نشان می دهد .

ها با هر دستور خواندن و نوشتن جديدی که اجرا می شود timestampاين •به روزرسانی می شوند.

Page 15: پروتکل های کنترل همزمانی

پروتکل های براساس timestampادامه-

اين پروتکل تضمين می کند که هر عمل ناسازگار نوشتن و • ها اجرا شوند .timestampخواندن به ترتيب

را می دهد. )read)Q درخواست Ti- فرض کنيد که تراکنش •

نياز به خواندن داده ای Ti ، درنتيجه )TS)Ti( < W-timestamp)Qاگر –دارد که قبال دوباره نويسی شده است .بنابراين ، عمل خواندن رد می

برگردانده می شود. Tiشود ، و

-R ، عمل خواندن اجرا می شود و )TS)Ti( W-timestamp)Qاگر –timestamp)Q( برابر مقدار بيشينه R-timestamp)Q( و TS)Ti( فرار

داده می شود .

Page 16: پروتکل های کنترل همزمانی

پروتکل های براساس timestampادامه-

را می دهد.)write)Qدرخواست Tiفرض کنيد که تراکنش •

توليد می کند قبال مورد Ti ايکه Q ، پس مقدار )TS)Ti( < R-timestamp)Qاگر –نياز بوده

است ، وسيستم فرض می کند که مقدار هيچگاه توليد نشده است .بنابراين سيستم عمل نوشتن را رد

را برمی گرداند .Tiمی کند و

سعی می کند که يک مقدار قديمی را Ti، پس )TS)Ti( < W-timestamp)Qاگر –Qروی

را برمی گرداند .Ti بنويسد . بنابراين سيستم عمل نوشتن را رد می کند و

-Wدر غير اينصورت ، سيستم عمل نوشتن را اجرا می کند و مقدار –timestamp)Q(را برابر با

TS)Ti(. قرار می دهد

Page 17: پروتکل های کنترل همزمانی

صحت پروتکل ترتيب دهی timestampبراساس

، سريالی بودن را timestampپروتکل ترتيب دهی براساس •تضمين می کند زيرا که تمام يالهای گراف الويت به شکل زير

می باشند .

بنابراين هيچ دوری در گراف الويت بوجود نمی آيد . ، رهايی از بن بست را timestampپروتکل ترتيب دهی براساس

تضمين می کند زيراهيچ تراکنشی منتظر نمی ماند . نباشند recoverable وcascadeless اما ترتيب های اجرا ممکن است

.

تراکنش با timestamp

کوچکتر

تراکنش با timestamp

بزرگتر

Page 18: پروتکل های کنترل همزمانی

Thomasقانون نوlشتن که در timestampنوع اصالح شده پروتکل ترتيب دهی براساس •

آن از نوشتن های قديمی تحت شرايط خاصی صرف نظر کرد . را بنويسد ، اگر Qهنگامی که تراکنش سعی می کند عنصر داده •

TS)Ti( < w-timestamp)Q( درنتيجه ، Ti تالش می کند که بنويسد . بنابراين بجای برگرداندن Qمقداری قديمی را روی

تراکنش همانگونه که در پروتکل ترتيب دهی براساس timestamp انجام می شد ، می توانيم از انجام عمل نوشتن

صرف نظر کنيم . همزمانی بيشتری اجازه می دهد . در Thomasقانون نوشتن •

viewاين پروتکل برخالف پروتکل های قبلی ترتيب اجراهای serializable. نيز اجازه داده می شود

Page 19: پروتکل های کنترل همزمانی

پروتکل براساس تعييين اعتبار اجرای تراکنش در سه مرحله انجام می شود .•

. که در آن تراکنش اجرا می شود ، اما اعمال فاز خواندن واجرا–نوشتن در متغlيرهای محلی انجام می شوند .

. تراکنش يک تست تعيين اعتبار انجام می دهد تا فاز تعيين اعتبار–تعيين کند که می توان اعمال نوشتن را بدون نقض سريالی بودن

به پايگاه داده منتقل کرد يا نه . . تراکنش به روز رسانی ها را درپايگاه داده اعمال فاز نوشتن –

می کند .• optimistic concurrency control نيزناميده می

شود .زيرا که تراکنش انجام می شود به اميد اينکه از مرحله تعيين اعتبار گذر کند .

Page 20: پروتکل های کنترل همزمانی

پروتکل براساس تعييين اعتبار-ادامه نسبت داده می شود .timestampبه هر تراکنش سه •

–Start)Ti(. زمانيکه تراکنش شروع به اجرا می کند .–Validation)Ti(. زمانيکه تراکنش وارد فاز تعيين اعتبار می شود . –Finish)Ti(. زمانيکه فاز نوشتن به پايان می رسد .

ايکه در زمان timestamp ترتيب سريالی با استفاده از •تعيين اعتبار داده می شود تعيين می شود .

اين پروتکل در زمانيکه احتمال ناسازگاری پايين است مناسب است و •همزمانی باالتری را موجب می شود .

Page 21: پروتکل های کنترل همزمانی

پروتکل براساس تعييين اعتبار-ادامه نياز دارد که برای هر Tjتست اعتبار برای هر تراکنش •

برقرار باشد )TS )Ti( < TS )Tj که شرطTiتراکنش يکی از شرايط زير موجود باشد :••finish(Ti) < start(Tj) از آنجا که .Ti قبل از آغازTj

پايان يافته است ، تزتيب سريالی برقرار است. عضو Tiمجموعه عناصر داده نوشته شده توسط •

نداشته Tjمشترکی با عناصر داده خوانده شده توسط فاز تعيين Tj فاز نوشتن را قبل از اينکه Tiباشد ، و اعتبار را

> )start)Tj( < finish)Tiآغاز کند به پايان برساند . validation)Tj( .

Page 22: پروتکل های کنترل همزمانی

دانه بندی چند گانه اجازه می دهد که عناصر داده اندازه های متفاوت داشته باشند •

و يک سلسله مراتب از دانه بندی داده ها را تعريف می کند ، که در ان عناصر کوچکتر در عناصر بزرگتر قرار گرفته اند

می تواند از نظر گرافيکی مانند يک درخت نشان داده شود .•هنگامی که يک تراکنش يک نود را بصورت صريح قفل می •

کند ، تمام نودهای زير آنرا بصورت ضمنی قفل کرده است ..دانه بندی قفل کردن •

)مراتب پايين تر در درخت ( . همزمانی باالتر ، سربار دانه بندی ريز . –قفل کردن باالتر.

. ) مراتب باالتر در درخت (. همزمانی پايين تر ، دانه بندی درشت–سربار قفل کردن پايين تر

Page 23: پروتکل های کنترل همزمانی

مثالی از دانه بندی چند گانه

باالترين سطح در سلسله مراتب مثال کل پايگاه داده •است .

در سطوح پايين تر حوزه ، فايل و رکورد قرار گرفته اند . •

Page 24: پروتکل های کنترل همزمانی

intentionمدهای قفل عالوه بر قفل انحصاری و اشتراکی سه نوع قفل ديگر هم در •

دانه بندی چند گانه وچود دارند .•Intention-shared)IS( نشان می دهد که در سطوح پايين .

تر قفل اشتراکی به صورت صريح انجام شده است . •Intention-exclusive نشان می دهد که در سطوح پايين تر .

قفل اشتراکی يا انحصاری به صورت صريح انجام شده است . •Shared and Intention exclusive زيردرخت با ريشه نود .

بصورت صريح در مد اشتراکی قفل شده است وقفل صريح در سطوح پايين تر در مد صريح رخ داده است

به نود اجازه می دهند که در مد intentionقفل های •انحصاری يا اشتراکی بدون نياز به چک تمام زير درخت زير آن

قفل شوند .

Page 25: پروتکل های کنترل همزمانی

ماتريس سازگاری همراه با قفل intentionهای

ماتريس سازگاری برای تمام مد های قفل •IS IX S S IX X

IS

IX

S

S IX

X

Page 26: پروتکل های کنترل همزمانی

الگوی قفل کردن در دانه بندی چندگانه

را با استفاده از قوانين زير قفل کند .Q می تواند نود Tiتراکنش •

بايد جدول تطابق شکل را رعايت کند 1.

ريشه درخت بايد ابتدا قفل شود ، ودر هر مدی هم می تواند قفل شود .2.

در يکی از Q قفل کرد که پدر IS يا S را تنها هنگامی می توان درمد Qنود 3. قفل باشد.IS يا IXمدهای

در Q قفل کرد که پدر IX ، يا X ، SIX را تنها هنگامی می توان درمد Qنود 4. قفل شده باشد . SIX يا IXيکی از مد های

تراکنش می تواند يک نود را قفل کند ، اکر تاکنون هيچ نودی را آزاد نکرده 5.باشد .

را باز کند که هيچ فرزندی از نود Qتراکنش تنها هنگامی می تواند قفل نود 6.Q.را قفل نکرده باشد

Page 27: پروتکل های کنترل همزمانی

الگوی چندنسخه ایالگوی چند نسخه ای ، نسخه های قديمی عناصر داده را برای •

افزايش همزمانی نگه می دارد . چند دسخه ای timestampترتيب دهی براساس –قفلl کردن دومرحله چند نسخه ای–

هر نوشتن موفق منجر به ايجاد نسخه جديدی از داده ندشته •شده می شود .

ها برای برچسب گذاری نسخه ها استفاده می timestampاز •شود .

هرگاه درخواست خواندن داده می شود ، نسخه ای مناسب از • تراکنش خوانده می شود . timestampداده براساس

درخواست های خواندن هيچگاه درانتظار باقی نمی مانند . زيرا •که هميشه نسخه مناسب بازگردانده می شود .

Page 28: پروتکل های کنترل همزمانی

ترتيب دهب براساس timestampچند نسخه ای

>Q1, Q2,...., Qm< يک ترتيب از نسخه ها Qبه هر عنصر داده •سه فيلد داده دارد : Qkمنسوب می شود. و هر نسخه

را داراست .Q ( که مقدار نسخه Contentمحتوی ) ––W-timestamp)Qk( که timestamp تراکنشی را که نسخه Qk

را بوجود آورده نlشان می دهد .–R-timestamp)Qk( که بزرگترين timestamp تراکنش هايی را

که عمل خواندن را بصورت مؤفقيت آميز انجام داده اند نشان می دهد .

را ايجاد می کند Qاز عنصر داده Qkنسخه جديد Tiهنگامی که تراکنش •R-timestamp و W-timestamp ر باlبراب TS)Ti(. قرار داده می شود

•R-timestamp)Qk( هر زمان که توسط تراکنش Tj خوانده می شود TS)Tj( > R-timestamp)Qk(. به روزرسانی می شود

Page 29: پروتکل های کنترل همزمانی

ترتيب دهب براساس timestampچند نسخه ای

چندنسخه ای که در ادامه timestampالگوی ترتيب دهی •می آيد سريالی بودن را تضمين می کند .

را بدهد )Q(write يا )read)Q درخواست Tiفرض کنيد که تراکنش • آن بزرگlترين W-timestamp را نشان دهد که Qنسخه ای از Qk. و

W-timestamp کوچکتريا مساوی TS)Ti(. باشد را بدهد ، مقدار برگردانده شده )read)Q درخواست Tiاگر –

می باشد.Qkمحتوی نسخه -Ti( < R(TS رابدهد ، و )write)Qدرخواست Tiاگر –

timestamp)Q( سيستم تراکنش Ti رابرمی گرداند .از طرف ديگر اگر

R-timestamp)Qk( = TS)Ti( سيستم محتوی ،Qk را دوباره را می سازد .Qنويسی می کند؛ درغيراينصورت نسخه جديدی از

Page 30: پروتکل های کنترل همزمانی

قفل کردن دو مرحله ای چند نسخه ای

بين تراکنش های تنها خواندنی و به روز رسانی تفاوت می گذارد .• قفل های خواندن ونوشتن را بدست تراکنش های به روز رسانی•

rigorousمی آورند و آنها را تا پايان تراکنش نگه می دارند . يعنی two phaselocking . را اجرا می -کنند

هر نوشتن مؤفقی نسخه جديدی از داده را ايجاد می کند .– مستقل دارد که timestampهر نسخه از عنصر داده يک –

، که مقدار آن ts-counterمقدار آن از خواندن شمارنده هنگام عمليات پايان افزوده می شود بدست می آيد .

ts-counterبه تراکنش های تنها خواندنی با خواندن مقدار کنونی • نسبت داده می شود . timestampو قبل از شروع به اجرای آنها

برای عمل timestampآنها از پروتکل ترتيب دهی براساس خواندن پيروی می کنند .

Page 31: پروتکل های کنترل همزمانی

قفل کردن دو مرحله ای چند نسخه ای-ادامه

هنگامی که يک تراکنش به روزرسانی می خواهد داده ای را بخواند ابتدا يک •قفل اشتراکی روی آن بدست می آورد.و آخرين نسخه آن را می خواند .

هنگامی که می خواهد داده ای را بنويسد قفل انحصاری روی آن بدست می • اين نسخه timestampآورد و سپس نسخه جديدی از آن را ايجاد می کند و

زا برابر با قرار می دهد .

هنگامی که تراکنش به پايان می رسد پردازش پايان انجام می شود :•–Ti ،timestamp نسخه هايی را که ايجاد کرده برابر با ts-counter+1. قرار می دهد –Ts-counterl. را يکی افزايش می دهد

را افزايش داد Ti ، ts-counterتراکنش های تنها خواندنی که بعد از اينکه •می بينند . Tiشروع شده اند ، مقادير به روز رسانی شده توسط

را افزايش دهد Ti ، ts-counterتراکنش های تنها خواندنی که قبل از اينکه •می بينند . Tiشروع شده اند ، مقادير قبل از به روز رساني های

تنها ترتيب اجراهای سريال ايجاد می شوند .•

Page 32: پروتکل های کنترل همزمانی

سطوح ضعيف سازگاری . با قفل کردن دو مرحله ای در اين تفاوت سازگاری درجه دو•

دارد که قفل های اشتراکی در هر زمانی می توانند آزاد شوند . و قفل ها در هر زمانی می توانند گرفته شوند.بنابراين برگشت

آبشاری رخ نمی دهدقفل های انحصاری بايد تا پايان تراکنش نگه داشته شوند .–سريالی بودن تضمين نشده است ، و برنامه نويس بايد اينکه حالت های –

خطا در پايگاه داده رخ ندهند مطمئن شود .• cursor stability .

برای خواندن هر چند تايی قفل می شود ، خوانده می شود ، و قفل فورا –آزاد می شود .

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

Page 33: پروتکل های کنترل همزمانی

همزمانی در ساختارهای انديس انديس ها از اين نظر متفاوت از ديگر عناصر پايگاه داده هستند •

که کارشان تنها کمک به دسترسی به داده ها است .بسيار بيشتر از عناصر ديگر پايگاه داده مورد دسترسی قرار می •

. lگيرندبرخورد با آنها مشابه به ديگر عناصر داده موجب همزمانی پايين •

می شود .دسترسی غير سريالی به انديس تا هنگاميکه درستی انديس •

حفظ شود پذيرفته است . ، تا هنگاميکlه B+-treeبويژه مقادير دقيق خوانده شده در يک •

به نود برگ درست برسيم اهميتی ندارند .پروتکل هايی وجود دارند که در آنها قفل های روی نودهای ميانی •

. lزود رها می شوند ،ومانند مدل دو مرحله نيستند

Page 34: پروتکل های کنترل همزمانی

همزمانی در ساختارهای انديسمثالی ازl همزمانی در انديس • به جای قفل کردن دو مرحله ای crabbingاستفاده از •

به صورت زlير . هنگام B+-treeروی نودهای چستچو ،اضافه وl حذف :

ابتدا نود ريشه در مد اشتراکی قفل می شود .–بعد از قفل کردن نود فرزند موردنياز ، قفل نود آزاد می شود .–هنگام حذف و اضافه قفل نود برگ به مد انحصاری به روز می شود –

.هنگاميکه تقسيم يا ادغام نياز به تغيير در نود پدر دارد ،پدر در مد –

انحصاری قفل می شود