1. Trang chủ
  2. » Luận Văn - Báo Cáo

Researching multi cloud marketplace model

131 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

MINISTRY OF EDUCATION AND TRAINING HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY Mang l■i tr■ nghi■m m■i m■ cho ng■■i dùng, công ngh■ hi■n th■ hi■n ■■i, b■n online không khác so v■i b■n g■c B■n có th■ phóng to, thu nh■ tùy ý HUYNH HOANG LONG RESEARCHING MULTI-CLOUD MARKETPLACE MODEL DOCTORAL DISSERTATION OF INFORMATION SYSTEMS Hanoi - 2022 123doc Xu■t Sau Nhi■u h■n phát event s■ m■t t■ h■u thú ýn■m t■■ng m■t v■,raevent kho ■■i, t■oth■ c■ng ki■m 123doc vi■n ■■ng ti■n kh■ng ■ãthi■t t■ng ki■m l■ th■c b■■c v■i ti■nh■n 123doc online kh■ng 2.000.000 b■ng ■■nh ln tàitài v■ li■u t■o li■u tríhi■u c■ c■a ■ t■t h■i qu■ c■ gianh■t, l■nh t■nguy v■c: l■nh thu tínnh■p tài v■c cao nh■t tài online li■u tínMong cho d■ng, kinh t■t mu■n cơng c■ doanh mang ngh■ online thành l■i thông cho viên Tính tin, c■ng c■a ■■n ngo■i website ■■ng th■i ng■, Khách ■i■m xã h■itháng m■thàng ngu■n 5/2014; có th■ tài 123doc nguyên d■ dàng v■■t tri tra th■c m■c c■u quý 100.000 tàibáu, li■uphong m■t l■■t cách truy phú,c■p ■am■i d■ng, xác, ngày, nhanh giàus■ giá chóng h■u tr■ 2.000.000 ■■ng th■ithành mongviên mu■n ■■ng t■oký, ■i■u l■t ki■n vào top cho200 chocác cácwebsite users cóph■ thêm bi■n thunh■t nh■p t■iChính Vi■t Nam, v■yt■123doc.net l■ tìm ki■m thu■c ■■i nh■m top 3■áp Google ■ng Nh■n nhu c■u ■■■c chiadanh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t Nhi■u 123doc Sau Th■a thu■n event s■ cam nh■n h■u k■t s■ thú xác m■t d■ng v■, s■ nh■n mang event kho t■ th■ l■i ki■m ■■ng CH■P vi■n nh■ng ti■n h■ kh■ng NH■N quy■n th■ng thi■tl■ CÁC th■c s■ l■i v■ichuy■n ■I■U t■t h■n 123doc nh■t 2.000.000 KHO■N sang cho ng■■i ph■n TH■A tàit■o li■u thông dùng THU■N c■ ■ tin t■t h■i Khixác c■ khách giaminh l■nh t■ng Chào hàng tài v■c: thu m■ng kho■n tr■ nh■p tài thành b■n email online ■■n thành tínb■n cho d■ng, v■i viên ■ã t■t 123doc 123doc.net! công ■■ng c■a c■ ngh■ 123doc kýthành v■i Chúng thông 123doc.netLink viên n■p tin, c■a cung ti■n ngo■i website vào c■p ng■, Khách xác tài D■ch kho■n th■c V■ s■ c■a (nh■ hàng ■■■c 123doc, ■■■c cóg■i th■v■ mơ b■n d■■■a t■ dàng s■ d■■i ■■■c ch■ tra■ây) email c■u h■■ng cho tài b■n li■u b■n, nh■ng ■ã m■t tùy ■■ng quy■n cách thu■c ky, l■i b■n vàosau xác, vuin■p lịng “■i■u nhanh ti■n ■■ng Kho■n chóng nh■p website Th■a email Thu■n c■a v■ S■vàD■ng click D■ch vào link V■” 123doc sau ■ây ■ã (sau g■i ■ây ■■■c g■i t■t T■i t■ng th■i ■i■m, chúng tơi có th■ c■p nh■t ■KTTSDDV theo quy■t Nhi■u Mang Luôn 123doc Th■a Xu■t Sau h■n h■■ng phát thu■n l■i event s■ cam nh■n m■t tr■ t■ h■u k■t s■ thú nghi■m t■i ýxác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event kho m■i ■■i, t■o t■ th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia t■ng ki■m dùng, l■ CÁC s■ th■c s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N sang b■ng cho tài ■■nh hi■n ng■■i li■u ph■n tài TH■A tài v■ th■ li■u hàng t■o li■u thơng dùng tríhi■n THU■N hi■u c■ c■a ■■u ■ tin t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia b■n nh■t, minh l■nh Nam t■ng Chào online hàng uy tài v■c: l■nh thu Tác m■ng tín kho■n tr■ nh■p không tài phong v■c cao thành b■n email nh■t tài online khác chuyên ■■n li■u thành tínb■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã t■t 123doc 123doc.net! v■i mu■n công ■■ng c■a c■ doanh b■n hoàn mang ngh■ 123doc ký g■c online thành v■i h■o, Chúng l■i thông B■n 123doc.netLink cho viên Tính ■■ n■p có tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác tài ■i■m D■ch xã to,kho■n th■c nhi■m h■i thutháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cóg■i t■ng th■ tài 123doc v■ mơ ngun b■n d■ ng■■i ■■a t■ dàng s■ v■■t d■■i tri dùng ■■■c ch■ tra th■c m■c ■ây) email c■u M■c h■■ng quý 100.000 cho tài b■n tiêu báu, li■u b■n, nh■ng ■ã hàng phong m■t l■■t tùy ■■ng ■■u quy■n cách truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau xác, vuingày, n■p lòng “■i■u nhanh giàu ti■n s■ ■■ng tr■ giá Kho■n chóng h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t Mangh■n Ln 123doc Th■a Xu■t Sau Nhi■u h■■ng phát thu■n l■i event s■ cam nh■n m■t tr■ t■ h■u k■t s■ thú nghi■m t■i ýxác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event kho m■i ■■i, t■o t■ th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia t■ng ki■m dùng, l■ CÁC s■ th■c s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N sang b■ng cho tài ■■nh hi■n ng■■i li■u ph■n tài TH■A tài v■ th■ li■u hàng t■o li■u thông dùng tríhi■n THU■N hi■u c■ c■a ■■u ■ tin t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia b■n nh■t, minh l■nh Nam t■ng Chào online hàng uy tài v■c: l■nh thu Tác m■ng tín kho■n tr■ nh■p khơng tài phong v■c cao thành b■n email nh■t tài online khác chuyên ■■n li■u thành tínb■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã t■t 123doc 123doc.net! v■i mu■n công ■■ng c■a c■ doanh b■n hoàn mang ngh■ 123doc ký g■c online thành v■i h■o, Chúng l■i thông B■n 123doc.netLink cho viên Tính ■■ n■p có tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác tài ■i■m D■ch xã to,kho■n th■c nhi■m h■i thutháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cóg■i t■ng th■ tài 123doc v■ mơ ngun b■n d■ ng■■i ■■a t■ dàng s■ v■■t d■■i tri dùng ■■■c ch■ tra th■c m■c ■ây) email c■u M■c h■■ng quý 100.000 cho tài b■n tiêu báu, li■u b■n, nh■ng ■ã hàng phong m■t l■■t tùy ■■ng ■■u quy■n cách truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau xác, vuingày, n■p lòng “■i■u nhanh giàu ti■n s■ ■■ng tr■ giá Kho■n chóng h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t Lnh■n 123doc Th■a Xu■t Sau h■■ng phát thu■n cam nh■n m■t t■k■t s■ t■i ýxác n■m t■■ng d■ng s■ nh■n website mang ■■i, t■o t■l■i c■ng ■■ng d■n 123doc CH■P nh■ng ■■u ■■ng h■ NH■N ■ã quy■n th■ng chia t■ng ki■m CÁC s■s■ l■i b■■c ti■n vàchuy■n ■I■U t■t mua online kh■ng nh■t bán KHO■N sang b■ng cho tài ■■nh ng■■i li■u ph■n tài TH■A v■ li■u hàng thơng dùng tríTHU■N hi■u c■a ■■u tin Khi qu■ Vi■t xác khách nh■t, minh Nam Chào hàng uy tài l■nh Tác m■ng tín kho■n tr■ phong v■c cao thành b■n email nh■t tàichuyên ■■n li■u thành b■n Mong v■i nghi■p, viên kinh ■ã 123doc 123doc.net! mu■n ■■ng c■a doanh hoàn mang 123doc kýonline v■i h■o, Chúng l■ivà 123doc.netLink cho Tính ■■ n■p tơi c■ng cao ■■n cung ti■n tính ■■ng th■i vào c■p trách xác tài ■i■m D■ch xãkho■n th■c nhi■m h■itháng V■ m■t s■ c■a (nh■ ■■i ■■■c ngu■n 5/2014; 123doc, v■i ■■■c g■i t■ng tài 123doc v■ mô nguyên b■n ng■■i ■■a t■s■ v■■t d■■i tri dùng ■■■c ch■ th■c m■c ■ây) email M■c h■■ng quý 100.000 cho b■n tiêu báu, b■n, nh■ng ■ã hàng phong l■■t tùy ■■ng ■■u quy■n truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau vuingày, n■p lòng “■i■u giàu ti■n s■ ■■ng tr■ giá Kho■n h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i không t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t Luônh■n Th■a Xu■t Sau Nhi■u 123doc Mang h■■ng phát thu■n l■i event cam s■ nh■n m■t tr■ t■ h■u k■t s■ thú nghi■m t■i ýxác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event kho m■i ■■i, t■o t■ th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia t■ng ki■m dùng, l■ CÁC s■ th■c s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N sang b■ng cho tài ■■nh hi■n ng■■i li■u ph■n tài TH■A tài v■ th■ li■u hàng t■o li■u thơng dùng tríhi■n THU■N hi■u c■ c■a ■■u ■ tin t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia b■n nh■t, minh l■nh Nam t■ng Chào online hàng uy tài v■c: l■nh thu Tác m■ng tín kho■n tr■ nh■p khơng tài phong v■c cao thành b■n email nh■t tài online khác chun ■■n li■u thành tínb■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã t■t 123doc 123doc.net! v■i mu■n cơng ■■ng c■a c■ doanh b■n hồn mang ngh■ 123doc ký g■c online thành v■i h■o, Chúng l■i thơng B■n 123doc.netLink cho viên Tính ■■ n■p có tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác tài ■i■m D■ch xã to,kho■n th■c nhi■m h■i thutháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cóg■i t■ng th■ tài 123doc v■ mô nguyên b■n d■ ng■■i ■■a t■ dàng s■ v■■t d■■i tri dùng ■■■c ch■ tra th■c m■c ■ây) email c■u M■c h■■ng quý 100.000 cho tài b■n tiêu báu, li■u b■n, nh■ng ■ã hàng phong m■t l■■t tùy ■■ng ■■u quy■n cách truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau xác, vuingày, n■p lòng “■i■u nhanh giàu ti■n s■ ■■ng tr■ giá Kho■n chóng h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t Vi■c ■■ng Thành s■ u■t Nhi■u Mang Luôn 123doc Th■a Xu■t Sau h■u phát h■n b■n h■■ng phát thu■n l■i ýevent viên s■ cam nh■n r■ng m■t t■ m■t tr■ s■ t■ h■u s■ ýk■t s■ thú kho nghi■m t■i ýd■ng n■u t■■ng xác n■m ph■i t■■ng m■t d■ng v■, s■ th■ nh■n Thành website ho■c mang th■c event t■o kho vi■n m■i ■■i, t■o t■ c■ng th■ viên ■■ng hi■n m■ l■i kh■ng c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng ti■p cho theo ■■ng ■■u ký ■■ng ti■n h■ l■ kh■ng ng■■i t■c NH■N s■ ■ã ■úng v■i quy■n th■ng thi■t chia ki■m d■ng t■ng s■ ki■m h■n dùng, l■ CÁC s■ d■ng th■c ti■n s■ l■i b■■c v■i ti■n 2.000.000 ch■ chuy■n ■I■U t■t công online h■n D■ch mua 123doc d■ch online kh■ng d■n nh■t 2.000.000 ngh■ bán KHO■N v■ b■ng V■ ■■■c sang tài b■ng cho tài ■■nh c■a123doc.net sau li■u hi■n tài ng■■i li■u ph■n tài niêm TH■A ■ li■u tài v■ th■ li■u hàng t■t t■o ■KTTSDDV li■u thơng dùng trí y■t hi■u hi■n THU■N c■ hi■u c■ c■a ■■u ■ ho■c l■nh tin qu■ ■■ng t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia v■c: nh■t, ■■■c b■n nh■t, ngh■a minh l■nh Nam t■ng Chào quy tài online uy hàng uy c■p tài v■c: ■■nh l■nh thu Tác tín v■i m■ng tín kho■n tr■ cao nh■t, nh■p khơng tài vi■c phong v■c cao tín áp thành b■n nh■t d■ng, d■ng email nh■t tài b■n vi■c online khác chuyên ■■n li■u thành tín Mong ■ã ■ó cho b■n cơng Mong cho d■ng, v■i ■■ng có so nghi■p, viên ki kinh ■ã mu■n t■t ngh■ 123doc 123doc.net! ngh■a v■i mu■n 123doc công d■ch ■■n■ ■■ng c■a c■ cwebsite ýdoanh b■n v■i thơng mang hồn mang ngh■ 123doc v■ ký v■■t g■c ■■a Thàn online thành ■ó v■i■ng v■i l■i tin, h■o, Chúng Chún ■i■u l■i thơng B■n ch■ m■c có cho ngo■i 123doc.netLink chogun cho viên Tính ■■ website th■ mơ n■p kho■n email có c■ng tơi tin, ky, 100.000 c■ng c■a cao ng■, Khách t■ ■■■c th■ ■■n cung ti■n b■n ngo■i d■■i b■n ■■ng tính c■a ki■m website phóng ■■ng trith■i vào c■p vui l■■t niêm th■c ng■, Khách ■ã trách n■ây) xác lịng xã ti■n tài ■i■m khơng D■ch xã to, ■■ng truy y■t quý h■i kho■n th■c hànnh nhi■m h■i cho thu ■■ng online c■p theo m■t báu, tháng V■ ■■ng ky, nh■ m■t b■n, s■ c■a xác, m■i (nh■ ■■i nh■p hi■u hàng t■ng ngu■n b■n phong ■■■c tùy ngu■n 5/2014; ýtùy 123doc, nhanh v■i Mong ngày, vui ■■■c qu■ ý email th■i có thu■c phú, tài g■i t■ng lòng th■ tài 123doc s■ ■i■m mu■n ngun chóng c■a v■ mơ ngun b■n ■a vào uy d■ ■■ng ng■■i h■u ■■a t■ tín d■ng, dàng s■ man T■t v■■t tri 2.000.000 d■■i nh■t nh■p tri dùng ■■■c ch■ th■c “■i■u c■ nguyên tra th■c giàu m■c ■ây) click email c■u email quý M■c h■■ng giá Kho■n quý 100.000 thành ocho vào tri tài báu, tr■ b■nn b■n c■a tiêu báu, th■c li■u b■n, link ■■ng nh■ng Th■a viên phong ■ã hàng phong viên m■t l■■t quý 123doc tùy ■■ng ■■ng th■i Thu■n ■■u c■a báo phú, quy■n cách truy thu■c phú, click mong ■ã ky, ký, website c■a c■p ■a v■ ■a l■i b■n g■i vào l■t vào users d■ng, 123doc.net m■i S■ mu■n d■ng, sau vào xác, link vui D■ng ngày, có n■p giàu top lịng “■i■u 123doc nhanh t■o giàu thêm 200 ti■n D■ch giá s■ ■■ng ■i■u tr■ giá Kho■n thu chóng h■u tr■ ■ã thành tr■ V■” ki■n nh■p nh■p ■■ng g■i website 2.000.000 website ■■ng Th■a sau th■ cho email Chính th■i ■ây vi■n th■i ph■ Thu■n chomong c■a thành (sau mong tài bi■n v■y v■ li■u users mu■n ■ây viên nh■t mu■n S■ 123doc.net online ■■■c ■■ng có D■ng t■i t■o click t■o thêm l■n Vi■t ■i■u g■i ký, D■ch ■i■u vào nh■t thu Nam, l■t t■t ■■i link ki■n nh■p ki■n V■” vào T■i Vi■t 123doc nh■m t■ cho top sau cho t■ng l■ Nam, Chính cho 200 tìm ■ây ■áp cho ■ã th■i cung ki■m vìcác (sau g■i ■ng v■y ■i■m, users website c■p users thu■c ■ây nhu 123doc.net nh■ng có chúng c■u ■■■c có top ph■ thêm thêm chia 3tơi tài bi■n Google g■i thu có thu li■u s■ ■■i t■t nh■p th■ nh■t nh■p tài ■■c T■i Nh■n nh■m li■u c■p t■i Chính khơng t■ng Chính ch■t nh■t Vi■t ■■■c ■áp th■i vìth■ l■■ng Nam, ■KTTSDDV vì■ng v■y v■y danh ■i■m, tìm 123doc.net nhu t■ 123doc.net th■y hi■u l■ ki■m chúng c■u tìm theo chia ki■m ti■n c■ng th■ quy■t s■ có ■■i online thu■c ■■i tr■■ng ■■ng th■ tài nh■m nh■m li■u c■p top bình ngo■i ch■t ■áp 3nh■t ■áp Google ch■n l■■ng ■ng tr■ ■KTTSDDV ■ng 123doc.net lànhu Nh■n nhu website vàc■u ki■m c■u ■■■c chia theo ki■m chia ti■n s■ quy■t danh s■ online ti■n tàitài hi■u li■u online li■uch■t ch■t hi■u c■ng l■■ng l■■ng qu■ ■■ng vàvàki■m uy bình ki■m tín ch■n ti■n nh■t ti■nonline online website ki■m ti■n online hi■u qu■ uy tín nh■t luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep MINISTRY OF EDUCATION AND TRAINING HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY HUYNH HOANG LONG RESEARCHING MULTI-CLOUD MARKETPLACE MODEL Major: Information Systems Code: 9480104 DOCTORAL DISSERTATION OF INFORMATION SYSTEMS SUPERVISORS: Ph.D NGUYEN HUU DUC Assoc.Prof LE TRONG VINH Hanoi - 2022 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep DECLARATION OF AUTHORSHIP I hereby declare that this thesis is my original work and it has been written by me in its entirety I confirm that: • This work was done wholly during in Ph.D student at Hanoi University of Science and Technology • Where any part of this thesis has previously been submitted at Hanoi University of Science and Technology or any other institution, this has been clearly stated • Where I have consulted the published work of others, this is always clearly attributed • Where I have quoted from the work of others, the source is always given With the exception of such quotations, this thesis is entirely my own work • I have acknowledged all main sources of help • Where the thesis is based on work done by myself jointly with others, I have made exactly what was done by others and what I have contributed myself Hanoi, May 5th 2022 Ph.D Student Supervisors i luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep ACKNOWLEDGEMENT My dissertation would not have finished without the support of my supervisors, family, co-authors, and colleagues I am grateful to all those people who supported and inspired me while facing academic and personal challenges My supervisors I would like to pay the deepest gratitude to my first supervisor Dr Nguyen Huu Duc for offering me a great environment, plenty of opportunities, and freedom to be creative Working with him marked an auspicious beginning to my doctoral upbringing In critical moments, he has been available to provide sincere and determined opinions, helping me make the right decisions I also thank my second supervisor, Assoc Prof Le Trong Vinh for his advice, encouragements and guidance throughout my Ph.D study His experiences and insights are immensely meaningful for me in my works I am grateful to them for devoting their precious time to discussing research ideas, proofreading, and explaining how to write good research papers I would like to thank them for encouraging my research and empowering me to grow as a research scientist My family I am grateful to my parents for their limitless love and my parents brought me up with great values of life, including humility and patience They always wish I could get Ph.D degree Without their sacrifices and guidance, my education would have been impossible I also thank my grandmother for her advice in every aspect of life My success is also theirs My co-authors Many thanks to my co-authors in our works They had valuable comments for my works Special thanks to Prof Zhenjiang Hu and Assoc Prof Huynh Quyet Thang for giving me an internship trip at National Institute of Informatics, Japan Prof Hu and members of Tsumina Lab warmly welcomed me into their lab and offered the helpful collaboration in research Particularly, Van Dang (Ph.D student at NII) and I achieved a successful combination, our paper was accepted by SOMET 2019 I also thank Mr Le Duc Hung (Ph.D student at TU Wien) for supporting me to implement component-based cloud software on multi-cloud My colleagues Many thanks to my colleagues from Department of Information System, School of Information and Communication Technology, Hanoi University of Science and Technology Particularly, Assoc Prof Nguyen Thi Kim Anh and Assoc Prof Nguyen Binh Minh for providing such a stimulating and friendly working ii luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep atmosphere It is fortunate for me to study in an active environment Thank you all! Hanoi, May 5th 2022 Ph.D Student Huynh Hoang Long iii luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep ABSTRACT Cloud computing has been an effective delivery model for distributing computing that enables the delivery of applications as services over the Internet, as well as platform- and infrastructure-level computing resources It has been increasingly used by businesses, organizations and individuals as a cost-effective IT solution Currently, consumers can approach cloud services through several existing service delivery methods in a convenient way as follows: Direct cloud service delivery, Cloud Brokerage, and Cloud Marketplace However, these cloud service delivery models have many limitations on cloud service product information, quality of service, monopoly, competitiveness, etc These problems have been damaging to the benefits of cloud consumers having to pay higher than the real value of cloud services In addition, different commercial cloud providers impose different application architectures that tend to lock consumers into their services and not want to allow the direct competition with others This is the cause of the well-known issue: vendor lock-in In economics, vendor lock-in, also known as proprietary lock-in or customer lock-in, makes a customer dependent on a vendor for products and services, unable to use another vendor without substantial switching costs [82] Because they cannot easily move to another cloud provider in the future without experiencing issues such as high costs, legal constraints, technical incompatibilities [59] For example, when a consumer buys a WordPress Application on Bitnami, he is first provided two deployment offering options: single-tier and multi-tier Then he is provided several options to launch WordPress Application: Amazon web services, Google cloud platform, and Azure WordPress Application can only be deployed on one of these three services There are two machines that are similar on paper as they both have four cores Amazon VM offers more memory, but the price is very similar In fact, Amazon VM offers almost twice the blended compute capacity over 24 hours than its Google cloud equivalent but database technology of Google is quite better In the first case, if a consumer has been using Google Cloud and he spots a great cloud service pricing from Amazon He is not allowed to move cloud service running on Google Cloud to Amazon Another reason is cloud technologies which are incompatible between Amazon and Google In the second case, it is impossible if WordPress App Server is hosted on Amazon and WordPress Database is hosted on iv luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep Google Cloud to leverage the benefits of two cloud providers Taking advantage of it is not going to be easy because before he know it, he will be locked into single cloud provider This challenge can be overcome if the WordPress App Server and Wordpress Database could be spread across two cloud providers to benefit from each provider’s best technology and less VM capacity (cheaper but meets the need) More effectively, WordPress components should be described in an open standard so that other providers than those mentioned above can offer cloud services at competitive prices and better capacities, and its components could be easily ported to other cloud To deal with vendor lock-in problem, multi-cloud is the effective approach because a multi-cloud strategy enables consumers to select any cloud service to meet the requirements of a particular application or workload as well as porting cloud software to another cloud In this way, we have an interesting ideal about a multi-cloud service delivery model that facilitates to distribute Software as a Service (SaaS) across various clouds as well as liberates cloud developers from being tied to proprietary technology ecosystems To turn our idea into reality, we sketch O-Marketplace Model (multicloud marketplace model) and define Composable Application Model (componentbased cloud application model) To demonstrate the practicality of two proposed model, research works are focused on as follows: (i) O-Marketplace Model, after analyzing the limitations of existing cloud service delivery methods, a multi-cloud service delivery method is proposed to overcome these limitations, and a promising multi-cloud marketplace model is built up (ii) Composable Application Model, we first build up its concept and its description method, then the experimentation is conducted by transform into TOSCA specification to evaluate the feasibility of the proposed multi-cloud application model Finally, relying on Composable Application Model and O-Marketplace context, some issues of cloud computing are tackled to prove the practicality of two proposed model such as: matchmaking for multi-cloud marketplace application, multi-cloud application portability, multi-cloud application auto-repairing Keywords: Cloud computing, Vendor lock-in, multi-cloud environment, multicloud marketplace, multi-cloud service delivery, multi-cloud application, matchmaking, multi-cloud application portability, multi-cloud application auto-repairing, Composable Application Model, O-Marketplace, Blueprint v luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep CONTENTS DECLARATION OF AUTHORSHIP i ACKNOWLEDGEMENT ii ABSTRACT iv CONTENTS vi x LIST OF TABLES xi LIST OF FIGURES xii ABBREVIATIONS Chapter INTRODUCTION 1.1 Context 1.2 Thesis research issues and motivation 1.2.1 Research issues 1.2.2 Motivation 1.2.3 Thesis objectives Thesis contributions 1.3.1 O-Marketplace Model 1.3.2 Composable Application Model 10 Thesis outline 11 1.3 1.4 Chapter BACKGROUND 2.1 Cloud Computing 13 2.1.1 Overview of Cloud computing 13 2.1.2 Cloud environment classification 16 2.1.2.1 Single-cloud environment 16 2.1.2.2 Multi-cloud environment 18 The advantages of multi-cloud environment 19 Existing cloud service delivery models 22 2.2.1 Cloud service brokerage 22 2.2.2 Cloud marketplace 25 Related technologies 28 2.1.3 2.2 2.3 13 vi luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep 2.3.1 tion - TOSCA 28 Settling and Launching Service Applications - SALSA 29 Related works 32 2.4.1 Approaches for cloud application 32 2.4.2 Approaches for cloud application description 32 2.4.3 Approaches for matchmaking cloud services 33 2.4.4 Approaches for cloud portability 34 2.4.5 Approaches for cloud application repairing 35 Summary 35 2.3.2 2.4 2.5 Topology and Orchestration Specification for Cloud Applica- Chapter O-MARKETPLACE 36 3.1 Introduction 36 3.2 Existing methods for delivering cloud services 37 3.2.1 Simple cloud service delivery method 37 3.2.2 Cloud service delivery through Cloud Brokerage 39 3.2.3 Cloud service delivery through Cloud Marketplace 40 O-Marketplace Model 42 3.3 3.3.1 3.4 The proposed cloud service delivery method for multi-cloud marketplace 42 3.3.2 Overall structure of O-Marketplace 43 3.3.3 The operation mechanism of O-Marketplace 45 The approach in SaaS provisioning of O-Marketplace 48 3.5 The goals of O-Marketplace 50 3.6 The feasibility of O-Marketplace Model 51 3.7 Summary 52 Chapter COMPOSABLE APPLICATION MODEL 53 4.1 Introduction 53 4.2 General concept of CAM 54 4.2.1 Cloud Application 55 4.2.2 Cloud Software 56 4.2.3 Cloud Platform 57 Simple Definition for CAM 57 4.3 vii luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep 4.4 4.5 4.3.1 Matching definition 57 4.3.2 Abstract model of CAM 58 4.3.2.1 Multi-component cloud software model 59 4.3.2.2 Base Component 59 4.3.2.3 Simple Component 61 4.3.2.4 Cloud Software Stack 61 4.3.2.5 Cloud Software Composition 62 4.3.2.6 Cloud Platform 63 Description Templates of CAM 65 4.4.1 CAM-based Multi-cloud Application Description Template 65 4.4.2 General Structure of Cloud Software Component Template 66 4.4.3 Simple Software Component Template 68 4.4.4 Cloud Software Stack Template 69 4.4.5 Cloud Software Composition Template 70 4.4.6 Platform Service Template 71 Experimentation of CAM 72 4.5.1 4.5.2 Overview of CAM-D to TOSCA Specification Transformation Method 72 4.5.1.1 Flattening algorithm 73 4.5.1.2 Mapping to TOSCA 75 Case Study 76 4.5.2.1 CAM-Based Wordpress Application Description 76 4.5.2.2 Transforming Wordpress Description Templates to TOSCA-Based specification 4.5.2.3 4.6 78 Deploying Wordpress Application on multi-cloud by SALSA 80 Applications of CAM in O-Marketplace context 82 4.6.1 CAM-based matchmaking method for O- Marketplace 82 4.6.1.1 The proposed approach for matchmaking method 82 4.6.1.2 Matchmaking context 83 4.6.1.3 Matchmaking algorithm 84 CAM-based multi-cloud application portability 86 4.6.2 4.6.2.1 The proposed approach for multi-cloud application portability 86 viii luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep 0XOWL&ORXGV &ORXG3URYLGHU% )OH[LDQW Figure 4.21: Deploying Wordpress Application on multi-cloud ůŽƵĚƉƉ ĞǀĞůŽƉĞƌ ͬWƌŽǀŝĚĞƌ ;ϭͿĞǀĞůŽƉĂƚŽŵŝĐ ĐŽŵƉŽŶĞŶƚƐ DLJ^Y>ĐŽŶĮŐƵƌĂƟŽŶ tŽƌĚƉƌĞƐƐ ĐŽŶĮŐƵƌĂƟŽŶ ,ddWƌĞƉŽƐŝƚŽƌLJƵƐŝŶŐĞů&ŝŶĚĞƌ ;ϮͿWƵďůŝƐŚĂƌƟĨĂĐƚƐ ƚŽƌĞƉŽƐŝƚŽƌLJ ůŽƵĚƉƉ WƌŽǀŝĚĞƌ ůŽƵĚƉƉ WƌŽǀŝĚĞƌ ;ϯͿdK^ͲďĂƐĞĚƐƉĞĐŝĮĐĂƟŽŶ ;ϰͿWƵďůŝĐtŽƌĚƉƌĞƐƐ ƐƉĞĐŝĮĐĂƟŽŶ ƚŽƚŚĞƌĞƉŽƐŝƚŽƌLJ Figure 4.22: Uploading the Wordpress application to the repository 81 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep Figure 4.23: Wordpress Application deployment process by SALSA The deployment process by SALSA is completely automated including three main steps (Figure 4.23): (i) provisioning new app by SALSA; (ii) returning new access endpoint; (iii) starting using Wordpress In this way, we validate our ideal that a cloud application can be distributed across various clouds This also proves the capability of CAM in multi-cloud environment 4.6 Applications of CAM in O-Marketplace context To prove the practicality of O-Marketplace model and Composable Application Model, some CAM-based approaches are effective for resolving cloud computing issues: (i) match-making method for multi-cloud application is presented is Subsection 4.6.1; (ii) an approach for enhancing the multi-cloud application portability in Subsection 4.6.2; (iii) a promising approach for auto-repairing multi-cloud application in Subsection 4.6.3 4.6.1 CAM-based matchmaking method for O- Marketplace 4.6.1.1 The proposed approach for matchmaking method O-Marketplace also plays a role of a cloud service brokerage center and cloud software development is separated from cloud providers Thus, the need for an efficient method to retrieve a group of underlying execution platforms for a cloud software and make sure that they are compatible together for matching However, related matchmaking solutions introduced in Subsection 2.4.3 have limitations as follows: (i) the compatibility and the dependencies among components in a multi-component cloud application are not considered; (ii) these matching solutions have not been fully de82 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep fined in a specific multi-cloud application pattern; (iii) there is no paper mentioned about matchmaking a component-based cloud software and its runtime systems delivered by different cloud providers To tackle this issues, our goal is to present a matchmaking method for cloud application of O-Marketplace based on the concept of CAM This proposal focus on an effective brokerage mechanism as well as novel method in delivering and consuming cloud services that support consumers to find suitable cloud platforms that satisfy their demands for each cloud software that independently developed The output of our matchmaking method is a group of compatible cloud platforms for a component-based cloud software To achieve this goal, the proposed approach to explicitly specify the technological constraints among software components and between a component and its expected underlying runtime platforms by matching rules to verify the correctness of software composition and deployment Concretely, we develop a matchmaking algorithm to retrieve a group of compatible cloud platforms for a component-based cloud software that suits with a criteria set ordered by cloud consumer On this basis, a CAM-based multi-cloud application is made up 4.6.1.2 Matchmaking context As mentioned in Chapter 3, to leverage the advantages of the multi-cloud, OMarketplace targets an non-exclusive environment where developers are free to evolve their cloud software without any cloud technology restriction from cloud providers On the one hand, developers have a wide range of technological options to develop their applications A cloud software component could host on several cloud platform services offered by different cloud providers On the other hand, cloud providers must improve platform components to meet the technology requirements of software components So a multi-cloud application can be tailored based on the diversity of cloud software components and cloud platform services from various suppliers Moreover, O-Marketplace is the central actor of brokerage activities between consumers, application developers, and cloud providers Consumers are facilitated to buy cloud software and select the suitable cloud platform services for their needs that can be queried and purchased from the cloud marketplace O-Marketplace is also an open market, not only giving consumer the flexibility to use the cloud services as they refer but also promoting the cloud service development from developers and cloud providers 83 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep &RQVXPHUV UHTXHVW &ORXG6RIWZDUH 20DNHWSODFH 5HVSRVLWRU\ &ORXG 3URYLGHUV 'HYHORSHUV &ORXGDSS 9HQGRUV VXSSO\ VXSSO\ 3ODWIRUP&RPSRQHQW 'HVFULSWLRQV 0DWFKPDNLQJ 2FKHVWUDWRU 6RIWZDUH&RPSRQHQW 'HVFULSWLRQV 20DUNHWSODFH *URXSRI&ORXG3ODWIRUP 0XOWLFORXG$SSOLFDWLRQ Figure 4.24: Matchmaking context of O-Marketplace According to CAM definition, cloud software components from individual developers are published and sold on O-Marketplace, they can be hosted on compatible cloud platforms suggested by O-Marketplace There are many candidates that meet the requirements to accommodate a cloud software To develop the suggestion feature of the multi-cloud marketplace, relying on CAM concept, we propose a matchmaking method of which algorithm would help consumers to find suitable platforms for hosting a specific cloud software by matching the platform requirements of the cloud software to the platform capabilities of the cloud platforms The matchmaking context of O-Marketplace is depicted in Figure 4.24 and details of the matchmaking algorithm is given in the next subsection 4.6.1.3 Matchmaking algorithm O-Marketplace play a role of a service broker to supply multi-cloud application Relying on the specification of platform requirements of cloud software component defined in CAM concept, the cloud marketplace would be able to suggest optimal solutions for renting compatible cloud platforms The term “optimal” could be defined according to the user needs Some user wants to find a platform solution with smallest price Others may need a solution with the best quality of service, we not dig deeper in this aspect We assume that a platform solution for hosting a cloud software component C is a compatible platform group P G to the component C, i.e compatibleW ith(P G, C) is satisfied There may be more than one solution existed since several cloud providers may offer a same kind of platform (but with different price and quality of service) Choosing an optimal solution means that we need to make a comparison among the solutions based on a designated cost function We call Cost(P G) for the cost function 84 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep of a platform solution, i.e., the platform group P G Some reasonable examples for the cost function would be: • Cost([P0 , , Pd−1 ]) = Σd−1 i=0 P rice(Pi ) This cost function would help customers to select a platform solution with optimal price • Cost([P0 , , Pd−1 ]) = |{P0 , , Pd−1 }| This cost function would help customers to select a platform solution with a smallest number of platforms will be used Using such a cost function, we develop a match-making algorithm for suggesting compatible platform solution as shown in the following pseudo code 00 Algorithm match−making(C, PS); 01 Input : 02 − A cloud software component C 03 − A set of cloud platforms PS 04 Output: 05 − A compatible platform group PG to the 06 component C whose members are selected 07 from PS 08 Begin 09 d := C.degree ; 10 For i := to d − 11 Begin 12 CPL[i] := ∅; 13 For each P in PS 14 If compatibleWithReqs(P, C.preqs[ i ]) 15 Then CPL[i] := CPL[i] ∪ {P}; 16 End 17 cost := INFINITY; 18 best solution := NULL; 19 For each PG in (CPL[0] x CPL[1] x x CPL[d − 1]) 20 If Cost(PG) < cost 21 Then 22 23 Begin cost := Cost(PG); 85 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep 24 best solution := PG; 25 End; Return best solution ; 26 27 End; The first part of the algorithm (lines 09-16) calculates a list of compatible cloud platforms CP L[i] for each set platform requirements preqs[i] of the component C In the second part (lines 17-25), the algorithm select the best platform solution among all possible solutions, the Cartesian product CP L[0] × CP L[1] × · · · × CP L[d − 1] Correctness Correctness of the algorithm is obvious since the optimal solution best solution is selected from a set of all compatible platform groups to the component C, i.e the Cartesian product CP L[0] × CP L[1] × · · · × CP L[d − 1] Performance analysis Let n be the number of cloud platforms in PS The first part of the algorithm (lines 09-16) requires d × n compatibility checks Thus the complexity of this part is O(d × n) The second part of the algorithm (lines 17-25) requires nd calculation for the Cost function Assume that O(f (n)) is the complexity of the Cost() function The complexity of the second part would be O(nd × f (n)) In summary, the complexity of the algorithm is O(nd × f (n)) The algorithm is rather simple but flexible since we always have chance to change the cost function according to the consumer needs 4.6.2 CAM-based multi-cloud application portability 4.6.2.1 The proposed approach for multi-cloud application portability O-Marketplace facilitates a consumer to use SaaS which is is spread over many clouds The diversity of IaaS and PaaS services from cloud providers gives customers many choices that benefit them the most If a customer is not satisfied with his existing cloud resource service (IaaS or PaaS), he is going to stop using the service in use and consider other cloud service providers, and he also wants his cloud software bought on the cloud marketplace to be hosted on new cloud platforms However, changing cloud resource services for multi-cloud application is not trivial The fact that, cloud providers are building proprietary cloud platforms where their applications are hosted in a software as a service business model Furthermore, the lack of standardization among cloud platforms prevents different components of a single system from residing in various cloud layers Even the emergence of cloud platforms based on the orches- 86 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep tration of open technologies, cloud application portability is still an issue that remains a drawback often mentioned in the literature As a result, cloud developers are often locked in specific development platforms There were some papers introduced in Section 2.4.4, which presented significant restrictions mainly due to the portability of the software components between different cloud vendors A few of them showed the development efforts to adapt the components to new service requirements and incorporated with other application’s components, running in other providers In general, these proposals are not comprehensive to offer efficient approaches which can enhance the portability of cloud application, and fit the multi-cloud characteristics On this matter, CAM defined that the cloud application construct from two component types: cloud software components and cloud platform services (cloud runtime systems) Software component could be hosted on various cloud platforms which are compatible with such software component In this way, a cloud software component could be ported to another cloud platform Thus, CAM is utilized as the Blueprint of multi-cloud application Blueprint contains the structure of multi-cloud application and orchestration plan; it is the basis for deploying and configuring a multi-cloud application If there is a change in the cloud platform service, the Blueprint will also be modified by attributes of a new cloud platform specification The updated Blueprint is used for re-deploying one or several software components and re-establishing relevant inter-connections To ensure that the Blueprint is updated correctly by construction, Bidirectional transformations (BX) [35] is an effective approach for accurate synchronization, automatically derived from bidirectional program BXs consist of a pair of functions: a forward transformation, and a backward transformation The forward transformation, or get, take a source as input and generates a view The backward transformation, or put, takes the original source and the new view as input, and outputs a source where the view has been embedded in the original source [34] Our BXs guarantees the correctness of the update by construction, ensuring that the Blueprint will not drift apart due to errors in an ad-hoc implementation In cloud research area, cloud portability has been a major obstacle So the proposed approach makes an important contribution to reduce cloud portability issue This distinction idea is expressed as follows: (i) Utilizing CAM-based Blueprint for guaranteeing the structure and operation of cloud application when several cloud software components are ported to other cloud platforms 87 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep (ii) All the changes of cloud platform services are automatically reflected to the Blueprint by BXs system where the core is a bidirectional transformation program, correctly does the automatic update process of Blueprint (iii) Creating pressure on cloud providers to increase the compatibility of underlying runtime systems with independently developed cloud software in the upper layer As a result, the portability of cloud software is enhanced The proposed approach is an efficient way for managing the cloud application because all properties of components within a cloud application and the dependencies between them are organized in the Blueprint Software components of a multi-cloud application can be explicitly re-deployed on new cloud platform services (other clouds) and re-established relevant inter-connections based on orchestration plan totally derived from such Blueprint Finally, the operation of cloud application is as an initial state This work is validated by utilizing the case study in Section 4.5.2 Blueprint Updating System written by Java language running on PostgreSQL or MySQL database system CAM-based description is transformed to TOSCA-based specification [50] for create the Blueprint of multi-cloud application T Binz at al [13] also confirmed that TOSCA is useful for portable cloud services 4.6.2.2 The proposed method for auto-updating multi-cloud application blueprint Our ideal is to provide assistance and tooling to update a cloud application blueprint The program aims to enable to auto-update the multi-cloud application blueprint with new properties from specifications of new compatible cloud environments Different from other approaches cannot offer support for much-targeted technology Our approach has the ability for adapting the most extensive amount of technologies and the major shift in technology trends Cloud software components could be portable on top of various cloud PaaS or IaaS Porting process is based on the Blueprint of cloud application which is modeled by CAM The overview of our method is depicted in Figure 4.25 When any software component is selected to move to other platform component which is compatible with such software component after verifying the conformity, the Blueprint is immediately auto-updated with new attributes which are derived from target platform component specification Because each platform component could be covered in a description template which specifies its own properties, and Blueprint of the cloud application is created from indi88 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep vidual description templates in a standard format So Blueprint could be conveniently updated from individual description templates Usually, changing one or more platform component models lead to build the Blueprint of cloud application from scratch If cloud application has a large number of components, this will take too much time and may not be identical to the original Blueprint For completely automatically updating the Blueprint of cloud application, we create Blueprint Update System which is a bidirectional program that correctly reflects any change from cloud platform services to the Blueprint, without side effects Two inputs into Blueprint Update System are the original Blueprint and a new cloud platform specification The output is the updated Blueprint Bidirectional program is designed for extracting the targets of software components and updating back cloud application Blueprint by alternative platform components The core of Blueprint Update System is depicted in Figure 4.26 The details of our program are presented in Subsection 4.6.2.3 0XOWL&ORXG0DUNHWSODFH 5HSRVLWRU\ 1HZ&ORXG3ODWIRUPV &ORXG6RIWZDUH  &ORXG6RIWZDUH    %OXHSULQW8SGDWH6\VWHP &ORXG3ODWIRUP &ORXG3ODWIRUP &ORXG$SSOLFDWLRQ 8SGDWHG&ORXG$SSOLFDWLRQ Figure 4.25: Auto-updating cloud application’s Blueprint process 3XWEDFN%DVHG%LGLUHFWLRQDO 7UDQVIRUPDWLRQ3URJUDP %OXHSULQWRI 0XOWL&ORXG$SSOLFDWLRQ )RUZDUG ` 3URSHUWLHVRI &ORXG3ODWIRUP 3URSHUWLHVRI &ORXG3ODWIRUPQ UHSODFH %DFNZDUG 8SGDWH%OXHSULQW 3URSHUWLHVRI &ORXG3ODWIRUPQ¶ Figure 4.26: The core of Blueprint Update System For illustrating, the deployment plan is depicted in Figure 4.15 and the Blueprint of the Wordpress application and is illustrated in Figure 4.20 Wordpress PHP Application, PHP Container and Web Server Apache are hosted on OpenStack WordPress DB and MySQL are hosted on Flexiant There is a connection between WordPress PHP 89 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep Application and MySQL We assume a scenario that porting Web Server Apache from OpenStack to StratusLab, and both clouds provide the same type of cloud resource service So, we need to re-deploy Web Server Apache, PHP Container, WordPress PHP Application on StratusLab in order Then re-establishing the connection between WordPress PHP Application and MySQL RDBMS To perform this operation, we need to rely on the Blueprint of WordPress Application It means that the Blueprint has to be updated; the properties of OpenStack are replaced by properties derived from the specification of StratusLab (Figure 4.27) At the time of porting software component, new cloud platform specification is correctly reflected to Blueprint by view updating program The program is presented in the next subsection dsg@stratuslab 000002220 a82e054f-4f01-49f9-bc4c-77a98045739c Figure 4.27: TOSCA-based specification of new platform component for WordPress Application 4.6.2.3 View updating program In this subsection, the method for auto-updating cloud application Blueprint is described The content of TOSCA-based description file is loaded to PostgreSQL Database System, so all attributes of the Blueprint is organized in four tables depicted in Figure 4.28 Intentionally, the properties of each cloud application component spec90 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep ification are stored in a tuple of “Node Template” All the changes of cloud platforms have to be reflected in “Node Template” To this, we present our strategy to allow updates on the view of “Node Template” (Figure 4.29) First, the update is applied to the view to obtain an updated one Second, a Datalog program is used to implement the putback transformation, which describes how to use the updated view and the original source NodeTemplate to compute updates on the source Then, the corresponding forward transformation of the view is derived Q $UWLIDFW   6HUYLFH7HPSODWH   Q 1RGH7HPSODWH   Q Q 5HODWLRQVKLS Figure 4.28: Conceptual model of TOSCA Template We restrict updates on the view ViewNodeTemplate that the new view obtained after the updates should not have any new ID values In other words, we allow only updates of information in existing tuples in the original view This constraint of updates on the view is represented by a tuple-generating dependency (TGD) [26] as follows (we use x to denote all attributes excluding ID in NodeTemplate, and use y to denote all attributes excluding ID in ViewNodeTemplate): ∀ID, (∃y , vnt(ID, y )) → (∃x, nt(ID, x)) (4.1) That means for every tuple (ID, y ) in the view relation ViewNodeTemplate (vnt) there is a corresponding tuple (ID, x) in the source relation NodeTemplate (nt) 1RGH7HPSODWH %;V 9LHZ1RGH7HPSODWH Figure 4.29: Synchronizing “Node Template” by BXs The constraint (4.1) is checked whenever there is an update attempt on the view ViewNodeTemplate This check can be done by translating (1) into a Boolean conjunctive query as follows By applying to (4.1) the logical equivalence ò ⊥, where ϕ, ψ are propositions and ⊥ denotes the truth constant False, we get an equivalent logical sentence: ∀ID, (∃y , vnt(ID, y )) ∧ ¬(∃x, nt(ID, x)) → ⊥ (4.2) 91 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep Alternatively, we represent the constraint (4.2) by a special Datalog rule with a predicate ⊥ in the head: ⊥() ← vnt(ID, ), ¬nt(ID, ) (4.3) In this rule, ⊥() is a Boolean conjunctive query with negation [26] asking whether there exists any tuple having an ID in relation vnt but not in relation nt Thereby, the constraint defined by this Datalog rule is that the Boolean query ⊥() must return False Similarly, we restrict that updates on the view vnt must keep the original value of the attribute T Y P in any tuples by a Datalog rule as follows: ⊥() ← vnt(ID, T Y P, ), ¬T Y P = “os” (4.4) That means the value of the attribute T Y P must be “os” in all the tuples of the updated view After restricting updates on the view, we use Datalog rules [24] to describe the putback transformation for propagating data in the updated view ViewNodeTemplate to the source NodeTemplate as the following: −nt(ID, y , o) ← nt(ID, y , o), ¬vnt(ID, y ) (4.5) +nt(ID, y , o) ← vnt(ID, y ), ¬nt(ID, y , ), nt(ID, , o), T Y P = “os” (4.6) Where the relation −nt /+nt denotes the set of deletions/insertions on the source relation nt In this way, these rules describe the computation of all the tuples, which need to be inserted or deleted into/from nt The first rule says that we delete from nt any tuple (ID, y , o) in the source nt such that (ID, y ) is not a tuple in the view vnt The second rule says that we insert into the source any tuple (ID, y , o) such that the tuple (ID, y ) is in the view but there is no corresponding tuple (ID, y , ) in the source yet Since o is discarded in the view vnt, we recover the value of o in the insertion (ID, y , o) by finding an existing tuple (ID, , o) in the original source nt More concretely, our Datalog program for describing update restrictions and putback transformation of the view ViewNodeTemplate is shown in Figure 4.30 It is proven in [33] that the putback transformation deterministically determine the corresponding forward transformation (i.e, defining query of the view) in the sense that we can derive at most one corresponding forward transformation, which together with the putback transformation satisfy PutGet and GetPut properties We derive the corresponding forward transformation of the putback transformation described in Figure 4.30 as the following Datalog query (more concretely in Figure 4.31 ): vnt(ID, y ) ← nt(ID, y ), ¬vnt(ID, y , ), T Y P = “os” (4.7) 92 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep The correctness of the forward and putback transformations is stated in the following lemma: [Correctness] Under the constraints (4.3) and (4.4), the forward transformation in (4.7) and the backward transformation specified by Datalog rules (4.5) and (4.6) form a well-behaved BX, i.e., they satisfy both PutGet and GetPut properties :- viewnodetemplate(ID, MAXINSTANCES, MININSTANCES, TYP, PROVIDER, INSTANCETYPE, BASEIMAGE, PACKAGES, CID, CIDTYPE), not TYP = ’os’ :- viewnodetemplate(ID,_,_,_,_,_,_,_,_,_), not nodetemplate(ID,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) -nodetemplate(ID, MAXINSTANCES, MININSTANCES, TYP, PROVIDER, INSTANCETYPE, BASEIMAGE, PACKAGES, RID1, RID1TYPE, RID2, RID2TYPE, CID, CIDTYPE, DANAME, XMLNS, ARTIFACTREF, ARTIFACTTYPE) :- nodetemplate(ID, MAXINSTANCES, MININSTANCES, TYP, PROVIDER, INSTANCETYPE, BASEIMAGE, PACKAGES, RID1, RID1TYPE, RID2, RID2TYPE, CID, CIDTYPE, DANAME, XMLNS, ARTIFACTREF, ARTIFACTTYPE), not viewnodetemplate(ID, MAXINSTANCES, MININSTANCES, TYP, PROVIDER, INSTANCETYPE, BASEIMAGE, PACKAGES, CID, CIDTYPE), TYP = ’os’ +nodetemplate(ID, MAXINSTANCES, MININSTANCES, TYP, PROVIDER, INSTANCETYPE, BASEIMAGE, PACKAGES, RID1_OLD, RID1TYPE_OLD, RID2_OLD, RID2TYPE_OLD, CID, CIDTYPE, DANAME_OLD, XMLNS_OLD, ARTIFACTREF_OLD, ARTIFACTTYPE_OLD) :viewnodetemplate(ID, MAXINSTANCES, MININSTANCES, TYP, PROVIDER, INSTANCETYPE, BASEIMAGE, PACKAGES, CID, CIDTYPE), not nodetemplate(ID, MAXINSTANCES, MININSTANCES, TYP, PROVIDER, INSTANCETYPE, BASEIMAGE, PACKAGES, _,_,_,_, CID, CIDTYPE, _,_,_,_), nodetemplate(ID,_,_,_,_,_,_,_, RID1_OLD, RID1TYPE_OLD, RID2_OLD, RID2TYPE_OLD, _, _, DANAME_OLD, XMLNS_OLD, ARTIFACTREF_OLD, ARTIFACTTYPE_OLD), TYP = ’os’ Figure 4.30: Update strategy for the view ViewNodeTemplate (Putback transformation) viewnodetemplate(ID,MAXINSTANCES,MININSTANCES,TYP, PROVIDER,INSTANCETYPE,BASEIMAGE,PACKAGES,CID,CIDTYPE) :nodetemplate(ID,MAXINSTANCES,MININSTANCES,TYP, PROVIDER,INSTANCETYPE,BASEIMAGE,PACKAGES,RID1, RID1TYPE,RID2,RID2TYPE,CID,CIDTYPE,DANAME,XMLNS, ARTIFACTREF,ARTIFACTTYPE), TYP = ’os’ Figure 4.31: Forward transformation of the view ViewNodeTemplate As a part of our framework in [14], we use Lean automated theorem prover [77] to automatically prove the PutGet and GetPut properties of our forward and putback transformations written in Datalog, and then run these transformations in relational database systems More concretely, we first translate the Datalog programs to SQL statements due to the fact that for every non-recursive Datalog query, there is an equivalent SQL query [1] After that, we use trigger [37], a well-known mechanism in relational databases, for detecting update event on the view In particular, to make the view updatable, we associate it with a trigger of data manipulation events including 93 luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep an to nghiep docx 123docz luan van hay luan van tot nghiep

Ngày đăng: 03/06/2023, 19:32

Xem thêm: