170 likes | 291 Views
Exploiting In-Zone Broadcasts for Cache Sharing in Mobile Ad Hoc Networks. Ge -Ming Chiu, Member, IEEE, and Cheng- Ru Young. Mô hình hệ thống. 1 vùng có nhiều MH và 1 data center
E N D
Exploiting In-Zone Broadcasts for CacheSharing in Mobile Ad Hoc Networks Ge-Ming Chiu, Member, IEEE, and Cheng-Ru Young
Môhìnhhệthống • 1 vùngcónhiều MH và 1 data center • Trongvùngcónhiềunhómnhỏ, các node trongnhómcủa MH liênlạcvới MH trongphạm vi sốlượngbướcnhảy, gọilàbánkínhcủanhóm MH • Các node trongnhómcủa MH traođổithôngđiệp “Hello” với MH trongkhoảngchukìthờigianđểnhậnbiếtsựtồntạicủanótrongnhómcủa MH
Index Push (IXP) Protocol • Mỗi MH chia sẻnội dung cache củanóvớicác MH trongnhómcủanóvàngượclại • Mỗi MH duytrì 1 vector IV có N data items, mỗi data items có 3 entries : • Cache : cógiátrị TRUE/FALSE, chobiếtdữliệucótrong local cache hay ko • Cachenode : ghilại MH cólưudữliệuyêucầu • Count : sốlượng node trongnhómcủa MH cólưudữliệu x • Mặcđịnh ban đầu : cache =false, cachenode = null, count = 0
Data Access • Bước 1 : Ban đầu MH sẽtìmtrong local cache, kiểmtrad.cachelà true hay false, nếu false thìchuyển sang bước 2 • Bước 2 : MH sẽkiểmtrad.cachenodeđểbiếtdữliệucólưutrongcác MHs lâncận hay không. Nếucóthìyêucầusẽđượcgửiđến MH lâncận,ngượclạithìchuyểnhướngvề data server • Bước 3 : Quay lạibước 1,2 vớicác MHs nằmtrênđườngđịnhtuyếnđến data server. • Bước 4 : Nếudữliệuđượctìmthấytại MHs trênđườngđịnhtuyếnthìyêucầutìmkiếmdừng, ngượclạithìyêucầuđượcgửitới data server • Bước 5 : kếtthúc
Data caching and IV update • KhiMH i nhậnđượcdữliệu x, nếubộnhớ cache đầythìkhiđónósẽchọn 1 dữliệu y có count lớnnhấtđểthaythế, lúcnày : x.cache = true, y.cache = false, x.count = 0 • SauđóMH i sẽpháttínhiệu “index packet”broadcastđếncác MHs trongnhómcủanó, baogồm IDs: <M, x,y> • Khinhậnđược index packet, cácMHs j trong nhómcủaise cậpnhậtlạithông tin vector IV nhưsau: IV[x].cachenode= i • NếuMHs j có lưuthông tin dữliệux,ythì IV[x].count++, IV[y].count--. • NếuIV[y].cachenode= i thì IV[y].cachenode = null. • Đểtiếtkiệmkhônggian cache thì IV[].cachenodecủaMHs j thành viênchỉlưu 1 MH cậpnhậtdữliệusaucùng.
Cache Replacement • Khibộnhớ cache khôngđủkhônggianlưutrữthì ta sẽchọn 1 data item d cód.accesscountlớnnhấtđểthaythếđểtránhtìnhtrạngdưthừadữliệutrongvùng
Loop problem • Giảsử MH i lưutrữdữliệu x và MH j thuộcnhómcủanócó IV[x].cachenode = i, sauđó i thaythế x vàpháttínhiệu broadcast đếncác MHs trongnhómcủanónhưngko may j konhậnđược do rờikhỏivùnghoặcmấtkếtnối, sauđó j di chuyểnlạivàonhómi thichuyện j sẽxảyra ?
Loop problem • Giảsửlúcnày MH q muốntruycậpdữliệu x vàcầnphảitheođườngđịnhtuyếnđến data center vài,jlà 2 MH trunggiancủa q. Khidưliệuđượcyêucầuđến j, lúcnàynósẽkiểmtra IV[x].cachenode = i, thayvìđến data center thì j sẽgửilạiyêucầuđến I, nhưthếsẽlặpđilặplạimàkodừng
Loop problem • Giảiquyết ?
Loop problem • Nếuyêucầudữliệu qua MH trunggiantrênđườngđịnhtuyến 2 lầnthìsẽtiếptụcđến data center màko quay vònglại
Data Pull/Index Push (DPIP) Protocol • Tươngtựnhư IXP nhưngcó 1 sốchỗcảitiến • MH i pháttínhiệu broadcast gồm <request data,dữliệubịthaythếkhi cache đầy> đếncác MHs j trongnhómcủanóđểtìmdữliệuvàchờtínhiệutrảlờitrongkhoảngthờigianDPIP_timer • Nhằmgiảm chi phíđườngtruyềnnênchỉnhững MHs j thỏamãn (count hop = radius) mớitrảlời “location_reply” chobiết id dữliệutrongnhómcủa j códữliệuyêucầu