Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
‫پیشوندی‬‫چند‬‫خت‬‫ر‬‫د‬:
‫جدولهای‬ ‫احی‬‫ر‬‫ط‬ ‫ای‬‫ر‬‫ب‬ ‫جدید‬‫ای‬‫داده‬‫ساختار‬ ‫یک‬
‫پویا‬‫مسیریابی‬
‫نویسنده‬:
Sun-Y...
‫مقدمه‬
‫ما‬‫ساختار‬‫داده‬‫ای‬‫جدیدی‬‫را‬‫معرفی‬‫میکنیم‬‫که‬‫درخت‬‫چند‬‫پیشوندی‬‫گف‬‫ته‬‫میشود‬
‫و‬‫یکی‬‫از‬‫ویژگی‬‫کلیدی...
‫تعریف‬‫ای‬‫داده‬ ‫ساختار‬
 For a prefix p = p0p1 . . . pl−1*, let P’ = p0p1 . . . pi* for 0 ≤ i ≤ l − 2 be
a sub-prefix ...
‫پیشوندی‬ ‫تک‬‫خت‬‫ر‬‫د‬
6‫از‬31
‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬
k-stride Multi- Prefix Trie (k-MPT)،‫که‬k‫یک‬‫گام‬
‫و‬‫یک‬‫عدد‬‫صحیح‬‫مثبت‬،‫است‬‫درخت‬‫چند‬...
‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬
(cport(pi(v))‫پورت‬‫خروجی‬pi(v)‫است‬.
(dS_pointer(v)،‫اشاره‬‫گری‬‫که‬‫به‬‫درخت‬‫چند‬‫پیشوندی‬...
‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬
P2:p-node‫ی‬‫که‬‫گامش‬k‫است‬2^k‫فرزند‬،‫دارد‬‫بنابراین‬
‫اگر‬k=2‫آنگاه‬4‫فرزند‬‫خواهد‬‫داشت‬...
‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬
P4:‫اجازه‬‫دهید‬u‫و‬v‫دو‬p-node‫روی‬‫مسیر‬T‫باشند‬.
‫اگر‬‫پیشوندهایشان‬‫به‬‫صورت‬pi(u)‫و‬pj(...
‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬
‫مثالیِازِدرختِچندِپیشوندی‬:
a,eِ‫کاملِو‬b,c,d‫ناکاملِهستند‬.
ِ‫تعدادِپیشوندها‬:K=2, m=2k+...
‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬
12‫از‬31
A:ِ‫ساختِیک‬k-MPT‫خالی‬
Algorithm MPT_CREATE(T )
1: v := ALLOCATE P-NODE()
2: root(T) := v
‫پویا‬ ‫یابی‬ ‫مسیر‬‫جدولهای‬ ‫...
‫درج‬ ‫تابع‬
14‫از‬31
‫درج‬ ‫تابع‬ ‫شرح‬
‫با‬ ‫ل‬‫او‬ ‫گام‬:‫مقایسه‬
Len(p)<k.(level(V)+1)
‫سوم‬ ‫گام‬:
Len(p)>=k.(level(v)+1)
‫نباشد‬ ‫کامل‬ ‫ی...
‫درج‬ ‫ای‬‫ر‬‫ب‬ ‫مثالی‬
 010*
16‫از‬31
 0110100*
‫درج‬ ‫ای‬‫ر‬‫ب‬ ‫مثالی‬
18‫از‬31
‫جستجو‬‫عملیات‬
19‫از‬31
‫جستجو‬‫عملیات‬‫ای‬‫ر‬‫ب‬ ‫مثالی‬
• DA=11010010
• DA=00100110
20‫از‬31
‫حذف‬
21‫از‬31
‫حذف‬‫عملیات‬‫ای‬‫ر‬‫ب‬ ‫مثالی‬
• Delete 01*
22‫از‬31
• Delete 110100*
‫حذف‬‫عملیات‬‫ای‬‫ر‬‫ب‬ ‫مثالی‬
23‫از‬31
‫دار‬ ‫شاخص‬‫پیشوندی‬‫چند‬‫خت‬‫ر‬‫د‬
‫طول‬‫ثابت‬a‫داده‬‫شده‬‫است،شاخص‬‫جدول‬2^a‫محتوا‬‫دارد‬
‫چنانکه‬‫هر‬‫مدخل‬tab[b0b1 ....
‫تعریف‬‫تابع‬TAKE PREFIX ENDPOINT
 TAKE PREFIX ENDPOINT(101000*, 8) = (10100011)2 =
163.
‫موقع‬‫درج‬‫و‬،‫حذف‬‫اگر‬len(p...
 insert and delete 5,000 prefixes
 in AS4637 to compute the
 average update time
 α =8
 Best average lookup time
 wh...
• We choose k=2
27‫از‬31
28‫از‬31
29‫از‬31
Update time
30‫از‬31
Happiness cannot come from without It must come
It is not what we see and touch or that which others
do for us which makes...
Multi-Prefix Trie: a New Data Structure for
Multi-Prefix Trie: a New Data Structure for
Upcoming SlideShare
Loading in …5
×

Multi-Prefix Trie: a New Data Structure for

517 views

Published on

Published in: Engineering
  • Be the first to comment

Multi-Prefix Trie: a New Data Structure for

  1. 1. ‫پیشوندی‬‫چند‬‫خت‬‫ر‬‫د‬: ‫جدولهای‬ ‫احی‬‫ر‬‫ط‬ ‫ای‬‫ر‬‫ب‬ ‫جدید‬‫ای‬‫داده‬‫ساختار‬ ‫یک‬ ‫پویا‬‫مسیریابی‬ ‫نویسنده‬: Sun-Yuan Hsieh Member, IEEE, Yi-Ling Huang, and Ying-Chi Yang ‫ناشر‬: IEEE TRANSACTIONS ON COMPUTERS ‫تاریخ‬: 2012/12/13
  2. 2. ‫مقدمه‬ ‫ما‬‫ساختار‬‫داده‬‫ای‬‫جدیدی‬‫را‬‫معرفی‬‫میکنیم‬‫که‬‫درخت‬‫چند‬‫پیشوندی‬‫گف‬‫ته‬‫میشود‬ ‫و‬‫یکی‬‫از‬‫ویژگی‬‫کلیدی‬‫ساختار‬‫ما‬‫این‬‫است‬‫که‬‫میتواند‬‫بیش‬‫از‬‫یک‬‫گ‬‫ره‬‫را‬‫در‬ ‫خود‬‫ذخیره‬،‫کند‬‫که‬‫این‬‫عملکرد‬‫باعث‬‫کاهش‬‫دسترسی‬‫ها‬‫به‬‫حافظه‬‫میشو‬‫د‬. ‫زمانیکه‬‫جستجویی‬‫انجام‬،‫میشود‬‫ساختار‬‫ما‬‫میتواند‬‫پیشوندهای‬‫بیشت‬‫ری‬‫را‬‫در‬ ‫یک‬‫گره‬‫جستجو‬‫کند‬‫و‬‫ممکن‬‫است‬‫طوالنی‬‫ترین‬‫پیشوند‬‫تطبیقی‬‫را‬‫د‬‫ر‬‫یک‬‫گره‬ ‫داخلی‬‫بیابد‬‫تا‬‫یک‬‫برگ‬. ‫پشتیبانی‬‫از‬‫بروزرسانی‬‫جداول‬‫مسیریابی‬‫به‬‫صورت‬‫لحظه‬‫به‬‫لحظه‬‫ا‬‫ست‬. ‫عالوه‬‫بر‬،‫این‬‫بر‬‫اساس‬‫درخت‬‫چند‬،‫پیشوندی‬‫ما‬‫ساختار‬‫داده‬‫ایی‬‫دیگری‬‫را‬ ‫نیز‬‫معرفی‬‫میکنیم‬‫که‬‫درخت‬‫چند‬‫پیشوندی‬‫شاخص‬‫دار‬‫گفته‬‫میشود‬‫ک‬‫ه‬‫شاخص‬ ‫جدول‬‫را‬‫با‬‫درخت‬‫چند‬‫پیشوندی‬‫جهت‬‫کاهش‬‫ارتفاع‬‫درخت‬‫و‬‫تسریع‬‫عملی‬‫ات‬ ‫روی‬‫جداول‬‫مسیریابی‬‫ترکیب‬‫میکند‬. 4‫از‬31
  3. 3. ‫تعریف‬‫ای‬‫داده‬ ‫ساختار‬  For a prefix p = p0p1 . . . pl−1*, let P’ = p0p1 . . . pi* for 0 ≤ i ≤ l − 2 be a sub-prefix of p  len(p):length of a prefix,for example len(110110**)=6 ‫سطح‬‫گره‬V‫در‬‫ریشه‬،‫درخت‬‫به‬‫صورت‬Level(V)‫نمایش‬‫داده‬‫میشود‬‫که‬‫تعداد‬‫یالهای‬‫طول‬ ‫مسیر‬‫از‬‫ریشه‬‫تا‬‫گره‬V‫را‬‫نشان‬‫میدهد‬. ‫ما‬‫از‬‫توابع‬PT_LOOKUP،PT_INSERT‫و‬PT_DELETE‫برای‬‫نشان‬‫دادن‬‫الگوریتم‬ ‫های‬‫مربوط‬‫برای‬‫عملیات‬‫های‬‫جستجو،درج‬‫و‬‫حذف‬‫استفاده‬،‫میکنیم‬‫که‬O(W)‫زمان‬‫نیاز‬ ‫دارد‬‫که‬W‫طول‬‫آدرس‬IP‫است‬. 5‫از‬31
  4. 4. ‫پیشوندی‬ ‫تک‬‫خت‬‫ر‬‫د‬ 6‫از‬31
  5. 5. ‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬ k-stride Multi- Prefix Trie (k-MPT)،‫که‬k‫یک‬‫گام‬ ‫و‬‫یک‬‫عدد‬‫صحیح‬‫مثبت‬،‫است‬‫درخت‬‫چند‬‫پیشوندی‬‫شام‬‫ل‬ 2‫نوع‬‫گره‬‫است‬:‫گره‬‫اولیه‬(p-node)‫و‬‫گره‬ ‫ثانویه‬(s-node)‫که‬‫دارای‬‫خواص‬‫زیر‬‫هستند‬: P1:‫هر‬p-node v‫شامل‬‫فیلدهای‬‫زیر‬‫است‬: 0 ≤ t ≤ m‫تعداد‬‫پیشوندهای‬‫ذخیره‬‫شده‬‫در‬v‫است‬‫که‬m = 2k+1 ‫پیشوندهای‬t‫توسط‬p1(v), p2(v), . . . , pt(v)‫نشان‬ ‫داده‬‫میشوند‬‫که‬‫در‬‫جهت‬‫غیر‬‫افزایشی‬‫ذخیره‬‫شده‬‫اند؛‬ ‫با‬‫ترتیب‬len(p1(v)) ≥ len(p2(v)) ≥ · · · ≥ len(pt(v)) 7‫از‬31
  6. 6. ‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬ (cport(pi(v))‫پورت‬‫خروجی‬pi(v)‫است‬. (dS_pointer(v)،‫اشاره‬‫گری‬‫که‬‫به‬‫درخت‬‫چند‬‫پیشوندی‬PT ‫متشکل‬‫از‬s-node‫ها‬‫است‬‫که‬‫پیشوندهایی‬‫با‬‫طول‬‫حداقل‬ k · level(v)‫اما‬‫کمتر‬‫از‬k · (level(v)+1)†‫ذخیره‬‫میکند‬. ‫برای‬‫راحتی‬‫درخت‬‫که‬‫توسط‬s_pointer(v)‫نشان‬‫داده‬ ‫میشود‬،PTِ‫ی‬v‫میگوییم‬. (e‫محتوای‬‫یک‬p-node v‫میتواند‬‫بسادگی‬‫بعنوان‬(t, p1(v), p2(v), . . . , pt(v), s_pointer(v))‫نشان‬‫داده‬‫شود‬. 8‫از‬31
  7. 7. ‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬ P2:p-node‫ی‬‫که‬‫گامش‬k‫است‬2^k‫فرزند‬،‫دارد‬‫بنابراین‬ ‫اگر‬k=2‫آنگاه‬4‫فرزند‬‫خواهد‬‫داشت‬: child0(v), child1(v), child2(v), child3(v) ‫به‬‫ترتیب‬‫مربوط‬‫به‬00, 01, 10, 11‫هستند‬. P3:‫یک‬p-node‫داخلی‬p-node‫کاملی‬‫است‬‫که‬‫فرزندانی‬ ‫دارد‬‫و‬‫یک‬p-node‫خارجی‬p-node‫بدون‬‫فرزند‬‫است‬.‫توجه‬ ‫داشته‬‫باشید‬‫که‬‫یک‬p-node‫خارجی‬‫ممکن‬‫است‬‫کامل‬‫نباشد‬. 9‫از‬31
  8. 8. ‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬ P4:‫اجازه‬‫دهید‬u‫و‬v‫دو‬p-node‫روی‬‫مسیر‬T‫باشند‬. ‫اگر‬‫پیشوندهایشان‬‫به‬‫صورت‬pi(u)‫و‬pj(v)‫هست‬‫چنانکه‬ pj(v)‫یک‬‫زیر‬‫پیشوند‬pi(u)‫آنگاه‬level(u) ≤ level(v). 10‫از‬31
  9. 9. ‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬ ‫مثالیِازِدرختِچندِپیشوندی‬: a,eِ‫کاملِو‬b,c,d‫ناکاملِهستند‬. ِ‫تعدادِپیشوندها‬:K=2, m=2k+1=5 ِ‫تعدادِفرزندان‬:2^k,2^2=4 ِ‫اشارهِگرِنقطه‬s_pointer‫هست‬. *110100ِ‫زیرِپیشوندیِاز‬*1101001‫است‬. 11‫از‬31
  10. 10. ‫پیشوندی‬‫چند‬ ‫ختهای‬‫ر‬‫د‬ 12‫از‬31
  11. 11. A:ِ‫ساختِیک‬k-MPT‫خالی‬ Algorithm MPT_CREATE(T ) 1: v := ALLOCATE P-NODE() 2: root(T) := v ‫پویا‬ ‫یابی‬ ‫مسیر‬‫جدولهای‬ ‫عملیات‬ 13‫از‬31 S-pointer prefixes ch0 ch1 ch2 ch3
  12. 12. ‫درج‬ ‫تابع‬ 14‫از‬31
  13. 13. ‫درج‬ ‫تابع‬ ‫شرح‬ ‫با‬ ‫ل‬‫او‬ ‫گام‬:‫مقایسه‬ Len(p)<k.(level(V)+1) ‫سوم‬ ‫گام‬: Len(p)>=k.(level(v)+1) ‫نباشد‬ ‫کامل‬ ‫ی‬‫جار‬ ‫نود‬ ‫اگر‬ ‫که‬ ‫میشود‬ ‫درج‬ ‫آن‬ ‫در‬P ‫دوم‬‫گام‬: ‫باشد‬ ‫کامل‬ ‫نود‬ ‫اگر‬2‫حالت‬ ‫یم‬‫ر‬‫دا‬ 1.Len(Pm)<Len(P) ‫شده‬Pm ‫جایگزین‬P 2.Len(Pm)>=Len(P) ‫میشود‬ ‫درج‬Pm ‫ند‬‫ز‬‫فر‬ ‫در‬P 15‫از‬31
  14. 14. ‫درج‬ ‫ای‬‫ر‬‫ب‬ ‫مثالی‬  010* 16‫از‬31
  15. 15.  0110100* ‫درج‬ ‫ای‬‫ر‬‫ب‬ ‫مثالی‬ 18‫از‬31
  16. 16. ‫جستجو‬‫عملیات‬ 19‫از‬31
  17. 17. ‫جستجو‬‫عملیات‬‫ای‬‫ر‬‫ب‬ ‫مثالی‬ • DA=11010010 • DA=00100110 20‫از‬31
  18. 18. ‫حذف‬ 21‫از‬31
  19. 19. ‫حذف‬‫عملیات‬‫ای‬‫ر‬‫ب‬ ‫مثالی‬ • Delete 01* 22‫از‬31
  20. 20. • Delete 110100* ‫حذف‬‫عملیات‬‫ای‬‫ر‬‫ب‬ ‫مثالی‬ 23‫از‬31
  21. 21. ‫دار‬ ‫شاخص‬‫پیشوندی‬‫چند‬‫خت‬‫ر‬‫د‬ ‫طول‬‫ثابت‬a‫داده‬‫شده‬‫است،شاخص‬‫جدول‬2^a‫محتوا‬‫دارد‬ ‫چنانکه‬‫هر‬‫مدخل‬tab[b0b1 . . . bα−1]‫شامل‬‫یک‬ ‫اشاره‬‫گر‬‫است‬. 24‫از‬31
  22. 22. ‫تعریف‬‫تابع‬TAKE PREFIX ENDPOINT  TAKE PREFIX ENDPOINT(101000*, 8) = (10100011)2 = 163. ‫موقع‬‫درج‬‫و‬،‫حذف‬‫اگر‬len(p) < α‫آنگاه‬p‫به‬‫بیش‬‫از‬‫یک‬‫مقدار‬‫شاخص‬ ‫مربوط‬‫میشود‬. ‫برای‬،‫مثال‬‫فرض‬‫کنید‬p =101000*‫و‬α = 8(‫هشت‬‫بیت‬‫اول‬‫یک‬ ‫پیشوند،مقدار‬‫شاخص‬‫را‬‫نشان‬‫میدهد‬).‫چون‬101000*‫شامل‬ 10100000،10100001،10100010‫و‬10100011،‫پیشوند‬p =101000*‫باید‬‫در‬k-MPT‫بترتیب‬‫نشان‬‫داده‬‫شده‬‫توسط‬ tab[10100000]،tab[10100001]،tab[10100010]‫و‬ ‫دار‬ ‫شاخص‬‫پیشوندی‬‫چند‬‫خت‬‫ر‬‫د‬ 25‫از‬31
  23. 23.  insert and delete 5,000 prefixes  in AS4637 to compute the  average update time  α =8  Best average lookup time  when k = 2 and m = 2k + 1.  best average update time  when k = 4 and m = 3k  We choose m=2k+1 26‫از‬31
  24. 24. • We choose k=2 27‫از‬31
  25. 25. 28‫از‬31
  26. 26. 29‫از‬31
  27. 27. Update time 30‫از‬31
  28. 28. Happiness cannot come from without It must come It is not what we see and touch or that which others do for us which makes us happy it is that which we think and feel and do first for the other fellow and then for ourselves.

×