Кіріспе

Tapestry - бұл таратылған қолданбалар үшін таратылған хэш-таблица, маршруттандыру және мультикастинг инфрақұрылымын қамтамасыз ететін, бір-бірімен қатар жұмыс істейтін желі. Tapestry peer to peer жүйесі тиімді, масштабталатын, өзін-өзі жөндеуді, жақын жердегі ресурстарға бағыт беруді ұсынады.

Кіріспе

Перішпен теңестірілген қолданбалардың бірінші буыны, соның ішінде Napster, Gnutella, Napster үшін орталық каталог және масштабтылықты шектейтін Gnutella үшін ауқымды хабарландыру сұраныстары сияқты шектеулерге ие болды. Осы проблемаларды шешу үшін екінші буын P2P қосымшалары, соның ішінде Тапондар, Аккорд, Пісіру және CAN әзірленді. Бұл жапсырмалар негізгі кілтке негізделген маршруттау механизмін іске асырады. Бұл хабарламаларды детерминистік бағыттауға және оверлей желісіндегі түйін сәтсіздіктеріне бейімделуге мүмкіндік береді. Аталған желілердің ішінде Pastry - Tapestry-ге өте жақын, өйткені екеуі де Plaxton және басқалардың бірдей маршруттау алгоритмін қабылдайды. Тапитер - бұл тиімділікке және хабарламаның кідіріс уақытын азайтуға бағытталған орталықтандырылған объектінің орналасуы мен маршруттауды қамтамасыз ететін кеңейтілетін инфрақұрылым. Бұл Tapestry инициализациялаудан бастап жергілікті оптималдық маршруттау кестелерін құрастырып, маршруттау созылуын азайту үшін оларды сақтайды. Сонымен қатар, Tapestry берілген қолданбаның қажеттіліктеріне сәйкес объектінің таралуын анықтауға мүмкіндік береді. Сол сияқты, Tapestry қосымшаларға көпқабатты желіде көпқабатты іске асыруға мүмкіндік береді.

Маршруттау желісі

Әрбір идентификатор тамыр деп аталатын тірі торапқа сәйкестендіріледі. Егер түйіннің nodeID-і G болса, онда ол тамыр, басқа жағдайда түйіндердің көршілерін табу үшін маршруттау кестесінің nodeID-лері мен IP-адрестерін қолданыңыз. Әрбір секіруде хабарлама G-ге жақындата отырып, қосымша суфикс маршруты арқылы бағытталады. Әр көрші картада бірнеше деңгейлер бар, онда әр деңгейде ID-де белгілі бір цифрлық орынға сәйкес келетін түйіндерге сілтемелер бар. Jth деңгейіндегі негізгі ith жазуы - (N, j 1) + i префиксімен басталатын ең жақын тораптың ID және орналасуы. Бұл дегеніміз, 1-деңгейде ортақ ештеңе жоқ түйіндерге сілтемелер бар, 2-деңгейде ортақ бірінші цифр бар және т.б. Осыған байланысты маршруттандыру шамамен N өлшемді желіде және B негізінің ID-де (шақтылық: B=16) секіруді қажет етеді. Егер нақты ID табылмаса, маршруттау кестесі ең жақын сәйкес келетін торапқа бағытталады. Қатеге төзімділік үшін түйіндер маршруттау кестесі өлшемі бар екіншілік сілтемелерді сақтайды.

Жариялану нысаны мен орналасу орны

Желідегі қатысушылар нысандарды жариялау үшін жариялау хабарламасын тамыр түйініне мерзімді бағыттау арқылы жариялай алады. Жол бойындағы әрбір түйін нысанды картаға түсіретін сілтемені сақтайды. Бірнеше сервер бір нысанға сілтемелер жариялай алады. Артық сілтемелер кеуделік және/немесе жергілікті орналасу бойынша басымдыққа ие. Нысандар хабарды объектінің түбіне бағыттау арқылы орналастырылады. Жолдағы әрбір түйін картаны тексеріп, сұранысты тиісінше қайта бағыттайды. Маршруттандырудың әсері - бір бағыттағы жақын жолдардың бірігуі

Торапты қосу

Жаңа түйін өзінің nodeID үшін түбір болып табылады. Тамыр ID-нің ең ұзын префиксінің ұзындығын табады. Содан кейін ол бірдей префиксті бөлісетін барлық бар түйіндерге жететін көп тарату хабарламасын жібереді. Бұл түйіндер жаңа түйінді маршрут кестелеріне қосады. Жаңа түйін тамырдың кейбір нысандарының түбірін алады. Тораптар жаңа тораппен байланыс жасап, уақытша көрші тізімін ұсынады. Жаңа түйін өзінің маршрут кестесінің барлық деңгейлерін толтыру үшін ең жақын көрші іздеуді қайталайды.

Тораптан шығу

Желіден шығу үшін түйін өзінің кету ниеті туралы хабар береді және басқа түйіндердің маршруттау кестелерінде әрбір деңгей үшін ауыстыру түйінін жібереді. Шығу тораптағы нысандар қайта бөлінеді немесе артық көшірмелерден толтырылады.

Тораптың істен шығуы

Көзге көрінбейтін түйіннің ақаулары желідегі артықшылықтар және зақымдалған сілтемелерді қалпына келтіру үшін резервтік сілтемелер арқылы шешіледі.

Жасаушылар

Тапталған кебеді Бен Й. Жао, Линг Хуан, Джереми Стриблинг, Шон К. Реа, Энтони Д. Джозеф және Джон Д. Кубиатович әзірледі.