Mô hình mạng CDN Hình 2 : Kiến trúc của một mạng lưới phân phối nội dung CDN Hình 3 : Mô tả nội dung và dịch vụ CDN cung cấp cho người dùng Hình 4: Kiến trúc phân lớp của một CDN Hình 5:
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
HOÀNG PHƯƠNG NHUNG
XÂY DỰNG GIẢI PHÁP CHO HỆ THỐNG MẠNG PHÂN PHỐI DỮ LIỆU
ÁP DỤNG VÀO VIỆC NÂNG CẤP HỆ THỐNG MẠNG
CỦA VĂN PHÒNG TRUNG ƯƠNG ĐẢNG Chuyên ngành : KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC : TS Trần Hải Anh
Hà Nội - Năm 2016
Trang 2Trang
I- Giới thiệu chung về hệ thống mạng phân phối dữ liệu 4
Chương II : Phân tích triển khai giải pháp lựa chọn máy chủ dựa trên
thuật toán MAB
36
V- Triển khai thực tiễn áp dụng vào việc nâng cấp hệ thống mạng diện
rộng của Văn phòng Trung ương Đảng
70
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn Thạc sỹ "Xây dựng giải pháp cho hệ thống mạng phân phối dữ liệu Áp dụng vào việc nâng cấp hệ thống mạng của Văn phòng Trung ương Đảng" là công trình nghiên cứu của riêng tôi Nội dung Luận văn tập trung nghiên cứu một số thuật toán phân phối dữ liệu để áp dụng vào hệ thống mạng phân phối dữ liệu của cơ quan đang công tác, các số liệu và kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Hà Nội, ngày 10 tháng 10 năm 2016
Tác giả
Hoàng Phương Nhung
Trang 4LỜI CẢM ƠN
_
Lời đầu tiên, tôi xin gửi lời cảm ơn đến toàn thể các thầy, cô giáo Viện Công nghệ Thông tin & Truyền thông đã tận tình chỉ bảo tôi trong suốt thời gian học tập tại nhà trường
Tôi xin gửi lời cảm ơn sâu sắc đến TS Trần Hải Anh, người đã trực tiếp hướng dẫn, tạo mọi điều kiện thuận lợi và tận tình chỉ bảo cho tôi trong suốt thời gian làm luận văn tốt nghiệp
Tôi cũng xin gửi lời cảm ơn tới Lãnh đạo Vụ Hành chính - Cơ yếu, Văn phòng Trung ương Đảng và anh chị em Phòng Nhân sao - Chế bản đã quan tâm, tạo điều kiện về thời gian, tương trợ trong công việc trong suốt thời gian hoàn thành Luận văn tốt nghiệp
Cảm ơn các thành viên của Lớp 13B-MTTT đã hỗ trợ, chia sẻ với tôi những lúc khó khăn trong suốt quá trình tôi thực hiện đề tài Luận văn
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc rằng luận văn khó tránh khỏi thiếu sót Tôi rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý thầy cô và các bạn
HỌC VIÊN Hoàng Phương Nhung
Trang 5DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT, THUẬT NGỮ
_
Ký hiệu/từ viết tắt Ý nghĩa
CDN Content Delivery Networks
UCB Upper Confidence Bounds
QoS Quality of Service
QoE Quality of Experience
HTML Hyper Text Markup Language
VPTW Văn phòng Trung ương Đảng
ICP Internet Cache Protocol
HTCP Hypertext Caching Protocol
CARP Cache Array Routing Protocols
NECP Network Element Control Protocol
WCCP Web Cache Coordination Protocol
Trang 6DANH MỤC HÌNH VẼ, ĐỒ THỊ
_
Hình 1 Mô hình mạng CDN
Hình 2 : Kiến trúc của một mạng lưới phân phối nội dung (CDN)
Hình 3 : Mô tả nội dung và dịch vụ CDN cung cấp cho người dùng
Hình 4: Kiến trúc phân lớp của một CDN
Hình 5: Phân loại CDN thành phần
Hình 6 : Các giao thức tương tác sử dụng trong CDN
Hình 7: Giao thức tương tác khác nhau
Hình 8 : Quản lý và phân loại phân phối nội dung
Hình 9: Chiến lược vị trí thay thế
Hình 10 : Quá trình phân phối nội dung đến các máy chủ đại diện
Hình 11 : Phân phối nội dung đến người dùng
Hình 12 : Sự phân loại lựa chọn và chuyển giao kỹ thuật nội dung Nội dung
có thể được chuyển cho người dùng toàn bộ hoặc một phần
Hình 13: Mô tả Yêu cầu định tuyến trong một môi trường CDN
Hình 14 : Phân phối nội dung trong một mạng CDN
và giữa các mạng CDN ngang hàng
Hình 15 : Quá trình lựa chọn cần gạt trong Thuật toán -Greedy
Hình 16 : Giải thuật Thuật toán -Greedy
Hình 17 : Sơ đồ lựa chọn máy chủ của Thuật toán -Greedy
Hình 18 : Giải thuật Thuật toán Softmax
Hình 19 : Sơ đồ lựa chọn máy chủ của Thuật toán Softmax
Hình 20 : Giải thuật Thuật toán UCB
Hình 21 : Sơ đồ lựa chọn máy chủ của Thuật toán UCB
Hình 22 : Demo hệ thống phân phối dữ liệu mô phỏng
Hình 23 : Vấn đề không có server nào hoạt động
Trang 7Hình 24 : Vấn đề thông báo hiện có server khai báo tình trạng hoạt động Hình 25 : Thông tin 8 máy chủ đại diện đang hoạt động tại thời điểm thực hiện mô phỏng
Trang 8MỞ ĐẦU
1- Cơ sở khoa học và thực tiễn
Năm 2016, bước sang năm thứ 19 Internet có mặt tại Việt Nam Từ lạ lẫm đến quen thuộc, phát triển rộng rãi với tốc độ như vũ bão, Internet đã và đang góp phần thay đổi cuộc sống của người Việt Dịch vụ Internet ngày càng đa dạng, phong phú Những năm gần đây, dịch vụ truy cập Internet qua hạ tầng di động 3G tiến tới
sử dụng 4G thể hiện sự tăng trưởng vượt bậc do sự tiện lợi trong sử dụng Tốc độ kết nối Internet trong nước và quốc tế ngày càng nhanh, phục vụ đắc lực cho việc khai thác nội dung, sử dụng dịch vụ của người dùng
Nguyên Thứ trưởng Bộ Thông tin và Truyền thông Lê Nam Thắng đã đánh giá, Internet đã tạo môi trường thuận lợi cho việc tiếp cận thông tin, phổ cập rộng rãi thông tin trong xã hội, phục vụ cho công việc, nghiên cứu, học tập, sản xuất kinh doanh và tuyên truyền các chính sách của Đảng và Nhà nước tới người dân1
Internet đã góp phần tạo lập cộng đồng, thúc đẩy hoạt động của các tổ chức
xã hội, nâng cao năng lực sản xuất và thương mại, tạo ra nhiều hơn của cải vật chất trong xã hội và nâng cao đời sống người dân Internet còn là sân chơi bổ ích, một kênh giải trí hấp dẫn với nhiều ứng dụng phục vụ người dùng
Tuy nhiên, băng thông mạng liên tục bị quá tải bởi lưu lượng sử dụng và các nội dung chiếm băng thông, các dịch vụ Web phổ biến thường bị tắc nghẽn do nhu cầu thực hiện trên dịch vụ lớn Đây là một trong những vấn đề quan trọng cần giải quyết để quản lý luồng lưu lượng, đáp ứng yêu cầu người dùng tốt nhất, cải thiện chất lượng dịch vụ Và hệ thống mạng phân phối dữ liệu được xem là giải pháp tối
ưu được các nhà cung cấp dịch vụ hướng tới
http://www.nhandan.com.vn/antuong/item/21822602-kinh-te-internet-l%C3%A0-co-h%E1%BB%8Di-d%E1%BA%BB-viet-nam-ph%C3%A1t-tri%E1%BA%BBn.html
Trang 92- Sự cần thiết phải triển khai thuật toán
Hiện tại, hệ thống máy tính tại cơ quan đang công tác chưa kết nối trực tuyến với mạng Internet; chủ yếu sử dụng các máy tính cá nhân đơn lẻ, tách biệt, phối hợp trong công tác thông qua thư điện tử mạng nội bộ => bất cập trong trao đổi nghiệp
vụ, phối hợp công tác, còn sử dụng văn bản giấy quá nhiều => tốn kém về chi phí in
ấn, nguồn nhân lực phục vụ công tác lưu trữ lớn
Văn phòng Trung ương Đảng có trụ sở chính tại Hà Nội (HN) và cơ sở tại
Đà Nẵng (ĐN) và Thành phố Hồ Chí Minh (HCM) tuy nhiên việc phối hợp công tác hiện rất khó khăn, bản thân nhận thấy việc phối hợp xử lý công việc ngay tại HN cũng còn phụ thuộc khá nhiều vào văn bản giấy Việc ứng dụng giải pháp CDN vào thực tiễn sẽ giúp đẩy mạnh ứng dụng công nghệ thông tin vào giải quyết xử lý công việc, giảm thiểu tối đa chi phí in ấn, nhân lực
3- Mục đích của luận văn (các kết quả cần đạt được)
Sau khi nghiên cứu cơ sở lý thuyết và tiến hành thực nghiệm, tôi mạnh dạn
đề xuất ứng dụng giải pháp CDN và thuật toán lựa chọn máy chủ MAB vào việc triển khai nâng cấp hạ tầng mạng ở đơn vị đang công tác
- Hạ tầng kỹ thuật mạng nội bộ của VPTW sử dụng công nghệ CDN tích hợp chức năng kiểm soát truy nhập và giám sát hoạt động hệ thống, trở thành hạ tầng chung, thống nhất, đảm bảo hoạt động cài đặt, vận hành, khai thác
- Đặt cụm máy chủ đại diện tại Hà Nội, Đà Nẵng, Thành phố Hồ Chí Minh
có chức năng “ngang hàng” để có thể “thứ lỗi” cho nhau
- Thuật toán lựa chọn máy chủ đại diện đáp ứng tốt yêu cầu khai thác nội dung, phối hợp xử lý công việc của chuyên viên, lãnh đạo cơ quan
- Vấn đề mạng phải có khả năng theo dõi, giám sát trực tuyến tình trạng làm việc cũng như hiệu suất hoạt động của các thiết bị có trong mạng, có khả năng lập các báo cáo về hiệu suất và tình trạng hoạt động của hệ thống mạng, có khả năng dự báo những sự cố tiềm tàng có thể sẽ xảy ra
Trang 104- Đối tượng và phạm vi nghiên cứu :
- Đối tượng : Thuật toán lựa chọn máy chủ trong hệ thống mạng phân phối
dữ liệu mà cụ thể là các thuật toán MAB
- Phạm vi nghiên cứu : Giả lập một môi trường mạng phân tán nội dung đồng thời áp dụng các thuật toán nghiên cứu được trên môi trường giả lập
5- Phương pháp nghiên cứu
+Giả lập môi trường mô phỏng mạng phân tán
+ Tham khảo code giải thuật chọn lựa máy chủ trên mạng Internet, các bài báo, sách tham khảo áp dụng vào môi trường giả lập
6- Bố cục luận văn
Bố cục luận văn gồm 3 phần : mở đầu, nội dung và kết luận Nội dung luận văn gồm có 3 chương :
Chương I :Cơ sở lý thuyết
Chương II : Phân tích triển khai giải pháp chọn lựa máy chủ dựa trên Thuật toán MAB
Chương III : Kết quả thực nghiệm
Trang 11CHƯƠNG I : CƠ SỞ LÝ THUYẾT
_
I-Giới thiệu chung về hệ thống mạng phân phối dữ liệu
Hệ thống mạng phân phối dữ liệu đóng vai trò quan trọng trong lĩnh vực phát triển của công nghệ thông tin, đặc biệt là trong điều kiện phát triển bùng nổ của các mạng máy tính Sự phát triển của các mạng LAN, WAN cho phép hàng trăm, hàng nghìn hay thậm chí hàng triệu máy tính có thể kết nối với nhau
Công nghệ hiện nay không chỉ đáng tin cậy mà còn tạo nên các hệ thống máy tính khổng lồ, được kết nối bằng các đường kết nối tốc độ cao
Hệ thống mạng phân phối dữ liệu được xây dựng cần đảm bảo một số đặc trưng :
- Chia sẻ tài nguyên
- Vị trí: che giấu vị trí tài nguyên người dùng hoàn toàn không biết về vị trí vật lý của tài nguyên trong hệ thống Để đạt được, ta cần tiến hành định danh bằng tên gọi logic Tên gọi có thể đơn giản, không cần mã hóa
- Di trú: che giấu việc tài nguyên di chuyển sang máy khác tài nguyên có thể không nằm ở vị trí cố định, mà nó có thể được di chuyển sang các máy khác nhau trong hệ thống để phục vụ các yêu cầu khác nhau mà không ảnh hưởng tới việc truy nhập tài nguyên
Trang 12- Di chuyển: che giấu việc tài nguyên có thể bị di chuyển sang nơi khác tài nguyên có thể di chuyển sang nơi khác ngay cả khi nó đang bị truy cập
- Nhân bản: che giấu việc sao chép tài nguyên việc sao chép tài nguyên giúp đơn giản hóa và tăng tốc độ truy cập dữ liệu, các bản sao đặt gần hoặc ngay tại nơi truy cập dữ liệu Các bản sao này phải có cùng tên, để che giấu với người dùng;
và hệ thống cần có tính trong suốt về vị trí, để đảm bảo khả năng quản lý các bản sao khác nhau trên các máy trong hệ thống
- Tương tranh: che giấu sự chia sẻ tài nguyên bởi một số người sử dụng, nhiều người dùng có thể cùng truy cập dữ liệu tại cùng một thời điểm, đặc biệt sử dụng nhiều trong mạng truyền thông
- Lỗi: che giấu lỗi và khắc phục lỗi đảm bảo người dùng hoàn toàn không biết về các lỗi xảy ra trong hệ thống và sự khắc phục các lỗi này Che giấu lỗi là một trong các yêu cầu khó thực hiện nhất, và có thể không thực hiện được trong một số tình huống cụ thể Điểm khó nhất chính là ta không thể phân biệt được tài nguyên là truy cập chậm hay không thể truy cập được
Tuy nhiên không phải lúc nào cũng nên thể hiện tính trong suốt hoàn toàn với người dùng Ngoài ra cũng có sự đánh đổi giữa mức độ trong suốt và tốc độ
hệ thống
Việc thiết kế hệ phân tán trong suốt là cần thiết, tuy nhiên cũng cần đảm bảo
sự hài hoà với các đặc tính khác như hiệu năng và tính thân thiện với người dùng của hệ thống Tuy nhiên có thể phải trả giá đắt cho việc không đảm bảo tính trong suốt hoàn toàn của hệ phân tán
II- Giải pháp CDN
1- Tổng quan
Với sự phát triển bùng nổ của Internet, các dịch vụ Web phổ biến thường bị tắc nghẽn và nguyên nhân chính là do yêu cầu về dịch vụ của đại bộ phận người sử dụng dẫn tới không thể quản lý luồng dữ liệu, nhiều yêu cầu bị mất Việc sao chép cùng một nội dung hoặc dịch vụ tương tự trên máy chủ Web đến các máy chủ sao
Trang 13lưu đặt tại các địa điểm khác nhau được xem là một phương pháp tối ưu bởi nhà cung cấp dịch vụ mạng để cải thiện hiệu suất và khả năng mở rộng băng thôngNgười dùng sẽ được chuyển hướng đến máy chủ lân cận giúp
máy chủ Web, rút ngắn thời gian đáp ứng các yêu cầu của người dùng
Mạng lưới phân phối nội dung
suất mạng bằng cách tối đa hóa băng thông
thông qua bản sao nội dung
cận (máy chủ đại diện
yêu cầu định tuyến chuyển của yêu cầu của người dùng đến máy chủ đại diện thích hợp; tương tác với cơ sở hạ tầng phân phối để cập nhật các nội dung được lưu trữ trong cache CDN Các cơ s
đến các máy chủ đại diện đảm bảo tính thống nhất của nội dung trong bộ nhớ đệmCác cơ sở hạ tầng duy trì các bản ghi các truy cập của người dùng và ghi lại việc sử dụng các máy chủ CDN Trong thực ti
rút ngắn thời gian đáp ứng các yêu cầu của người dùng
Hình 1 Mô hình mạng CDN Mạng lưới phân phối nội dung (CDNs) cung cấp các dịch vụ cải thiện hiệu
tối đa hóa băng thông, nâng cao khả năng tiếp cận và duy trì thông qua bản sao nội dung Cơ sở hạ tầng nội dung gồm một tập các máy chủ lân máy chủ đại diện) cung cấp bản sao nội dung tới người dùng cuối cùngyêu cầu định tuyến chuyển của yêu cầu của người dùng đến máy chủ đại diện thích tương tác với cơ sở hạ tầng phân phối để cập nhật các nội dung được lưu trữ trong cache CDN Các cơ sở hạ tầng phân phối sao chép nội dung từ máy chủ gốc đến các máy chủ đại diện đảm bảo tính thống nhất của nội dung trong bộ nhớ đệmCác cơ sở hạ tầng duy trì các bản ghi các truy cập của người dùng và ghi lại việc sử ụng các máy chủ CDN Trong thực tiễn, CDN thường lưu trữ nội dung tĩnh gồm
Máy chủ đại diện
rút ngắn thời gian đáp ứng các yêu cầu của người dùng
cung cấp các dịch vụ cải thiện hiệu nâng cao khả năng tiếp cận và duy trì
Cơ sở hạ tầng nội dung gồm một tập các máy chủ lân cung cấp bản sao nội dung tới người dùng cuối cùng, theo yêu cầu định tuyến chuyển của yêu cầu của người dùng đến máy chủ đại diện thích tương tác với cơ sở hạ tầng phân phối để cập nhật các nội dung được lưu trữ
ạ tầng phân phối sao chép nội dung từ máy chủ gốc đến các máy chủ đại diện đảm bảo tính thống nhất của nội dung trong bộ nhớ đệm Các cơ sở hạ tầng duy trì các bản ghi các truy cập của người dùng và ghi lại việc sử
CDN thường lưu trữ nội dung tĩnh gồm
Client Máy chủ gốc
ủ đại diện
Trang 14hình ảnh, video, clip, nội dung quảng cáo, và các đối tượng nhúng vào nội dung Web động Đối tượng CDN nhắm tới là phương tiện truyền thông và các công ty quảng cáo Internet, trung tâm dữ liệu, cung cấp dịch vụ Internet (ISP), các nhà bán
lẻ âm nhạc trực tuyến, các nhà khai thác di động, người tiêu dùng các nhà sản xuất thiết bị điện tử, và các công ty vận chuyển
CDN cung cấp hiệu suất tốt hơn thông qua bộ nhớ đệm hoặc nội dung trang Web được sao chép tới các máy chủ đại diện tại các vị trí địa lý khác nhau (các máy chủ lân cận) để đối phó với sự tăng vọt một cách đột ngột yêu cầu về nội dung Người dùng được chuyển hướng đến máy chủ đại diện gần họ nhất Cách tiếp cận này giúp giảm thiểu tác động đến mạng vào thời gian xử lý yêu cầu của người dùng
Nhà cung cấp nội dung, nhà cung cấp dịch vụ CDN và người dùng cuối là 3 thành phần chính cấu thành kiến trúc CDN :
+ Nhà cung cấp nội dung là đại diện trong không gian tên URI của các đối tượng Web sẽ được phân phối Máy chủ của nhà cung cấp nội dung quản lý đối tượng đó
+ Nhà cung cấp dịch vụ CDN là đơn vị cung cấp giải pháp để phân phối nội dung kịp thời và tin cậy
+ Người dùng cuối cùng là người khai thác thông tin trên dữ liệu web của nhà cung cấp nội dung
Nhà cung cấp dịch vụ CDN sử dụng bộ nhớ đệm hoặc bản sao các máy chủ nằm ở vị trí địa lý khác nhau để tái tạo nội dung Máy chủ cache CDN cũng được gọi là máy chủ lân cận hoặc đại diện hoặc thay thế CDN phân phối nội dung cho máy chủ đại diện theo cách tất cả các máy chủ cache chia sẻ cùng một nội dung
và URL Yêu cầu của người dùng được chuyển đến máy chủ đại diện gần đó và một máy chủ đại diện được chọn cung cấp yêu cầu nội dung cho người dùng cuối Như vậy, tính minh bạch cho người dùng là đạt được
Trang 152- Sự ra đời và phát triển của CDN
Trong những năm qua, chúng ta đã chứng kiến sự ra đời, phát triển và sự nở
rộ của Internet Kết quả là, sự tăng trưởng lớn mạnh trong mạng lưới bởi sự chấp nhận nhanh chóng của truy cập băng thông rộng, cùng với sự phát triển của các hạ tầng phức tạp và sự phong phú về nội dung Sự bùng nổ, phát triển nở rộ của Internet mang lại thách thức mới trong việc phát triển, cung cấp nội dung cho người dùng và quản lý Dịch vụ web hiện nay thường bị tắc nghẽn và nút cổ chai do nhu cầu lớn về dịch vụ Sự tăng vọt một cách đột ngột yêu cầu về nội dung có thể gây quá tải với các máy chủ Web và kết quả là một điểm nóng có thể được tạo ra Đối phó với nhu cầu đột xuất như vậy gây ra căng thẳng đáng kể trên một máy chủ Web Cuối cùng các máy chủ web là hoàn toàn choáng ngợp với sự gia tăng đột biến trong mạng lưới
Nhà cung cấp nội dung xem các trang Web như một phương tiện truyền tải nội dung phong phú tới người dùng của họ Chất lượng giảm, cùng với thời gian truy cập chậm trễ chủ yếu là do thời gian tải về lâu dài, sẽ khiến người dùng thất vọng
Công ty có được nguồn tài chính đáng kể từ kinh doanh dịch vụ Web Do đó,
họ đặc biệt quan tâm đến việc cải thiện chất lượng dịch vụ, kinh nghiệm của người dùng khi truy cập vào trang Web của họ Trong những năm trở lại đây, chúng ta đã
đã thấy được sự phát triển của các công nghệ nhằm cải thiện nội dung và chất lượng dịch vụ phân phối nội dung trên các trang Web Cơ sở hạ tầng hỗ trợ các công nghệ này tạo thành một loại mới của mạng, mà thường được gọi là mạng nội dung
Với sự ra đời của CDN, các nhà cung cấp nội dung bắt đầu đưa các trang web của họ trên một CDN Chẳng mấy chốc họ nhận ra tính hữu dụng của nó thông qua độ tin cậy và khả năng mở rộng mà không cần phải duy trì cơ sở hạ tầng tốn kém
Trong một vài năm trở lại đây, một số công ty đã trở thành chuyên gia trong việc cung cấp các nội dung nhanh chóng và đáng tin cậy và CDN đã trở thành một thị trường khổng lồ để tạo ra doanh thu lớn CDN thế hệ đầu tiên chủ yếu tập trung
Trang 16vào các tài liệu Web tĩnh hay động Thế hệ thứ hai của CDN trọng tâm đã chuyển sang âm thanh và video
3- Mạng lưới phân phối
Nhà cung cấp nội dung có thể đăng ký nhà cung cấp dịch vụ CDN đã đặt dịch vụ và nội dung trên các máy chủ nội dung Nội dung sẽ được sao chép bằng cách đẩy nội dung vào các máy chủ đại diện (thay thế) Một người dùng được phục
vụ các nội dung từ máy chủ Web đại diện nhân rộng Do đó, người dùng cuối vô tình giao tiếp và lấy dữ liệu từ máy chủ đại diện nhân rộng lân cận
4- Nội dung phân phối
Nhà cung cấp CDN đảm bảo cập nhật nhanh chóng bất kỳ nội dung kỹ thuật
số Họ lưu trữ : nội dung tĩnh (các trang HTML tĩnh, hình ảnh, tài liệu, bản vá lỗi phần mềm), truyền thông phương tiện (âm thanh, video) và các dịch vụ nội dung khác nhau (thương mại điện tử) Người dùng cuối cùng có thể tương tác với các CDN bằng cách xác định các nội dung/dịch vụ yêu cầu qua thiết bị đầu - cuối : điện thoại di động, điện thoại thông minh/PDA, máy tính xách tay và máy tính để bàn
Hình 2 : Kiến trúc của một mạng lưới phân phối nội dung (CDN)
Trang 17Nhà cung cấp CDN tính phí người dùng của họ (nhà cung cấp nội dung) theo các nội dung được cung cấp đến người dùng cuối cùng của máy chủ đại diện của họ CDN hỗ trợ theo dõi thông tin sử dụng của người dùng liên quan đến yêu cầu định tuyến, phân phối và xử lý thông tin Các yếu tố ảnh hưởng đến giá của các dịch vụ CDN bao gồm :
• Chi phí băng thông
• Lưu lượng phân phối nội dung
• Kích thước của nội dung nhân rộng trên các máy chủ đại diện
• Số lượng máy chủ đại diện
• Vấn đề an ninh khi gia công phần mềm phân phối nội dung, độ tin cậy và
ổn định của hệ thống
CDN chủ yếu nhắm vào các nhà cung cấp nội dung hoặc người dùng muốn đảm bảo QoS cho người dùng cuối khi duyệt web Mục tiêu kinh doanh cuả CDN tập trung vào : khả năng mở rộng, bảo mật, độ tin cậy, đáp ứng và thực hiện
Hình 3 : Mô tả nội dung và dịch vụ CDN cung cấp cho người dùng
Trang 185- Kiến trúc lớp
Hình 4: Kiến trúc phân lớp của một CDN
Trang 19- Cấu trúc cơ bản (Basic Fabric) : là lớp thấp nhất, cung cấp các nguồn tài nguyên cơ sở hạ tầng để hình thành một CDN, gồm các tài nguyên tính toán phân phối như : SMP, cụm máy chủ tập tin, chỉ số máy chủ và cơ sở hạ tầng mạng lưới
cơ bản kết nối băng thông cao Mỗi một nguồn tài nguyên này chạy các phần mềm
hệ thống như hệ điều hành, các hệ thống quản lý tập tin phân phối, lập chỉ mục nội dung và hệ thống quản lý
- Truyền thông và lớp kết nối : cung cấp các giao thức Internet lõi (TCP/UDP, FTP) cũng như các giao thức Internet CDN cụ thể : Internet Cache Protocol (ICP), Hypertext Caching Protocol (HTCP), Cache Array Routing Protocols (CARP) và giao thức xác thực như PKI (Public Key cơ sở hạ tầng), hoặc SSL (Secure Sockets Layer) cho truyền thông, bộ nhớ đệm và cung cấp các nội dung (dịch vụ) một cách xác thực; cung cấp khả năng tìm kiếm và phục hồi nội dung được sao chép hiệu quả bằng việc duy trì chỉ số phân phối
- Lớp CDN : chứa các chức năng cốt lõi của CDN, gồm có 3 lớp con : dịch
vụ CDN, loại CDN và các loại nội dung Một CDN cung cấp các dịch vụ cốt lõi như : lựa chọn thay thế, yêu cầu định tuyến, bộ nhớ đệm và cân bằng tải địa lý và các dịch vụ cụ thể dùng cho quản lý SLA, chia sẻ tài nguyên và môi giới CDN Một CDN hoạt động trên một tên miền của doanh nghiệp phục vụ mục đích học tập, công cộng hay chỉ đơn giản là được sử dụng như máy chủ phụ của nội dung và dịch
vụ, cũng có thể dành riêng để chia sẻ tập tin theo kiến trúc ngang hàng (P2P) và cung cấp tất cả các loại nội dung MIME như : văn bản, âm thanh, video để đáp ứng yêu cầu của người dùng
- Người dùng cuối : là lớp cao nhất của kiến trúc lớp CDN Tại lớp này, người dùng kết nối với CDN bằng cách xác định các URL của trang web cung cấp nội dung trên các trình duyệt
6- Phân loại: CDNs được phân loại theo các loại thuộc tính/khía cạnh khác nhau gồm : thành phần CDN, nội dung phân phối và quản lý, yêu cầu định tuyến, và
đo lường hiệu suất
Trang 20Vấn đề đầu tiên là một vài khía cạnh của CDN liên quan đến tổ chức và hình thành, phân loại các CDN theo các thuộc tính cấu trúc
Vấn đề thứ hai liên quan đến việc phân phối nội dung, cơ chế của CDN; mô
tả các phương pháp quản lý và phân phối nội dung của CDN : vị trí thay thế, lựa chọn nội dung, gia công phần mềm nội dung và tổ chức sao lưu
Vấn đề thứ ba liên quan đến các thuật toán định tuyến yêu cầu và phương pháp định tuyến yêu cầu
Vấn đề cuối cùng nhấn mạnh trên các hiệu suất đo lường của CDN và hình thành các hiệu suất mạng và số liệu thống kê
7- Thành phần của CDN
Cấu trúc của một CDN khác nhau tùy thuộc vào nội dung (dịch vụ) mà nó cung cấp cho người dùng Trong cơ cấu của CDN, một tập hợp máy chủ đại điện được sử dụng để xây dựng cơ sở hạ tầng nội dung, chuyển hướng yêu cầu người dùng đến một máy chủ đại diện
Nguyên tắc phân loại dựa trên các đặc điểm cấu trúc khác nhau của CDN Những đặc điểm này là các thành phần quan trọng của CDN, quyết tổ chức, loại máy chủ được sử dụng, các tương tác giữa các thành phần CDN, cũng như các nội dung khác nhau và các dịch vụ được cung cấp bởi các CDN
Hình 5: Phân loại CDN thành phần
Trang 21+ Tiếp cận mạng, các thành phần mạng bao gồm cả thiết bị định tuyến và chuyển mạch được trang bị với mã để xác định loại ứng dụng cụ thể và để chuyển tiếp các yêu cầu dựa trên chính sách định sẵn Tiếp cận mạng bao gồm các thiết bị chuyển yêu cầu nội dung cache tại 1 vị trí địa lý hoặc nghẽn mạng đến trung tâm dữ liệu cho máy chủ đại diện tối ưu hóa để phục vụ các loại nội dung cụ thể
+ Một số CDN (Akamai, Mirror Image) sử dụng cả tiếp cận mạng và phương pháp che phủ cho tổ chức CDN Trường hợp này, một thành phần mạng có thể chuyển hướng yêu cầu nội dung đến một máy chủ đại diện ứng dụng cụ thể gần đó
Trang 22+ Máy chủ đại diện lưu trữ bản sao của tài nguyên để có thể đáp ứng yêu càu của người dùng
10- Các mối quan hệ :
Các kiến trúc phân tán phức tạp của một CDN thể hiện các mối quan hệ khác nhau giữa các thành phần cấu thành Các mối quan hệ liên quan đến các thành phần như máy client, các máy chủ đại diện, máy chủ gốc, cache proxy và các thành phần mạng Các thành phần giao tiếp nhân rộng và nội dung bộ nhớ cache trong CDN Nhân rộng liên quan đến việc tạo ra và duy trì bản sao của nội dung trên hệ thống máy tính khác nhau; việc "đẩy" nội dung từ máy chủ gốc đến các máy chủ đại diện
Trong môi trường CDN, mối quan hệ cơ bản để phân phối nội dung là máy client, máy chủ đại diện và máy chủ gốc Các máy chủ đại diện trả lời các yêu cầu
Hình 6 : Các giao thức tương tác sử dụng trong CDN (a) Client đến máy chủ đại diện đến máy chủ gốc (b) Client đến các phần tử mạng đến mảng bộ nhớ đệm;
(c) Các mảng bộ nhớ đệm; (d) Các mắt lưới bộ nhớ đệm
Trang 23người dùng Trường hợp máy chủ đại diện không hoạt động, người dùng sẽ giao tiếp trực tiếp máy chủ gốc Việc phục vụ yêu cầu người dùng từ bộ nhớ máy chủ đại diện hoặc đóng vai trò như một cửa ngõ vào máy chủ gốc Mối quan hệ giữa người dùng, các máy chủ đại diện và máy chủ gốc được thể hiện trong hình 6 (a)
CDN sử dụng phương pháp tiếp cận mạng, các thành phần mạng (bộ định tuyến, switch) được triển khai logic để chuyển tiếp lưu lượng đến các máy chủ/proxy mà có khả năng phục vụ yêu cầu người dùng Mối quan hệ giữa người dùng, các thành phần mạng và mảng bộ nhớ đệm máy chủ/proxy (hoặc mảng proxy) được thể hiện trong hình 6 (b)
Dựa trên thông tin giao tiếp, bộ nhớ đệm proxy có thể được sắp xếp theo mảng bộ nhớ đệm proxy thể hiện trong hình 6 (c) và các mắt lưới proxy thể hiện ở hình 6(d) Một mảng bộ nhớ đệm proxy sự sắp xếp chặt chẽ của các bộ nhớ đệm proxy Một mảng bộ nhớ đệm proxy đóng vai trò như một tổng thể để giao tiếp với bộ nhớ đệm proxy khác Một người sử dụng có thể có mối quan hệ với một mảng bộ nhớ đệm proxy Một lưới bộ nhớ đệm proxy được sự sắp xếp không giống một mảng bộ nhớ đệm proxy, mắt lưới proxy được tạo ra khi các bộ nhớ đẹm proxy có quan hệ với proxy khác Một máy chủ cache đóng vai trò như một cửa ngõ vào một mắt lưới proxy chuyển tiếp yêu cầu người dùng đến từ người dùng của proxy đại diện
Hình 7: Giao thức tương tác khác nhau Giao thức tương tác : Dựa vào mối quan hệ truyền thông có thể xác định các giao thức tương tác sử dụng cho tương tác giữa các yếu tố CDN; được chia thành hai loại : tương tác giữa các thành phần mạng và tương tác giữa bộ nhớ cache
Trang 24NECP (Network Element Control Protocol) : là một giao thức cho tín hiệu giữa máy chủ và các thành phần mạng (gồm thiết bị, bộ định tuyến cân bằng tải) NECP cho phép các thành phần mạng thực hiện cân bằng tải trên một mạng lưới máy chủ Thay vào đó, giao thức này cung cấp các phương pháp cho các thành phần mạng để tìm hiểu về khả năng phục vụ, tính khả dụng và gợi ý về dòng chảy có thể
và không thể được phục vụ Do đó, thành phần mạng thu thập các thông tin cần thiết để cân bằng tải các quyết định Vì vậy, nó tránh việc sử dụng độc quyền và các giao thức không tương thích lẫn nhau cho mục đích này NECP được dự định để sử dụng trong một loạt các máy chủ ứng dụng, bao gồm cả cho máy chủ gốc, proxy và proxy chặn Nó sử dụng giao thức TCP Khi một máy chủ được khởi tạo, nó thiết lập một kết nối TCP đến các yếu tố mạng sử dụng một số hiệu cổng Thông điệp có thể được gửi hai chiều giữa máy chủ và thành phần mạng Tất cả các thông điệp NECP bao gồm một tiêu đề dài cố định có chứa các dữ liệu tổng chiều dài và chiều dài thay đổi dữ liệu Hầu hết các thông điệp bao gồm các yêu cầu tiếp theo là trả lời hoặc xác nhận
WCCP (Web Cache Coordination Protocol) : xác định sự tương tác giữa một hoặc nhiều bộ định tuyến và một hoặc nhiều bộ nhớ Web lưu trữ; thiết lập và duy trì chuyển hướng các loại lựa chọn thông qua một nhóm các bộ định tuyến Các lựa chọn được chuyển hướng đến một nhóm các Bộ nhớ Web lưu trữ nhằm tăng cường
sử dụng nguồn tài nguyên và giảm thiểu thời gian phản hồi WCCP cho phép một hoặc nhiều proxy đăng ký với một bộ định tuyến duy nhất để nhận được lưu lượng được chuyển hướng Lưu lượng này bao gồm các yêu cầu người dùng duyệt các trang và đồ họa trên máy chủ World Wide Web, cho dù nội bộ hay bên ngoài vào mạng, và thư trả lời yêu cầu Giao thức này cho phép một trong các proxy, proxy được chỉ định, ra lệnh cho các bộ định tuyến chuyển hướng được phân phối trên các mảng bộ nhớ đệm proxy
SOCKS: Các giao thức SOCKS được thiết kế để cung cấp một khuôn khổ cho các ứng dụng client - máy chủ trong cả TCP và UDP Giao thức là khái niệm
Trang 25một "shim - layer" giữa các lớp ứng dụng và lớp vận chuyển, không cung cấp dịch
vụ cổng lớp mạng Khi sử dụng kết hợp với một bức tường lửa, SOCKS cung cấp một đường hầm đã xác thực giữa các bộ nhớ đệm proxy và tường lửa Để thực hiện các giao thức SOCKS, các ứng dụng của người dụng dựa trên TCP được biên dịch lại để đóng gói trong thư viện SOCKS Khi kết nối với một nội dung bộ đệm đằng sau bức tường lửa, một giao thức TCP dựa trên người dùng có để mở một kết nối TCP đến cổng SOCKS trên hệ thống máy chủ SOCKS Sau khi thiết lập kết nối thành công, người dùng lựa chọn phương pháp thích hợp để xác thực, xác thực với phương pháp lựa chọn; gửi một yêu cầu tiếp sức Máy chủ SOCKS lần lượt thiết lập kết nối hoặc bác bỏ yêu cầu dựa trên kết quả đánh giá các yêu cầu kết nối
CARP (Cache Array Routing Protocol) : là giao thức bộ nhớ đệm thực hiện theo danh sách được biết đến của các máy chủ proxy lỏng lẻo và một hàm phân chia
để chia không gian URL trong những proxy Một người dùng HTTP thực hiện CARP có thể định tuyến các yêu cầu đối với bất kỳ thành viên của mảng Proxy Bảng thành viên của mảng Proxy là một tập tin văn bản ASCII lấy từ mảng cấu hình URL Các phân chia chức năng và các thuật toán định tuyến của CARP mất một thành viên proxy xác định trong bảng thành viên mảng proxy, và xác định một cách nhanh chóng các thành viên của mảng proxy
ICP (Internet Cache Protocol) : Bộ nhớ đệm truy vấn trao đổi ICP và trả lời
để thu thập thông tin sử dụng trong việc lựa chọn hầu hết vị trí thích hợp để lấy một đối tượng Ngoài chức năng là một giao thức vị trí đối tượng, tin nhắn ICP để lựa chọn bộ nhớ cache ICP là một giao thức được triển khai rộng rãi Mặc dù, bộ nhớ web lưu trữ sử dụng HTTP cho việc chuyển giao dữ liệu đối tượng, hầu hết được các thực bộ nhớ đệm proxy hỗ trợ Nó được sử dụng trong một lưới bộ nhớ đệm proxy để xác định vị trí các đối tượng Web cụ thể trong máy chủ lân cận Một bộ nhớ đệm sẽ gửi một ICP truy vấn đến các máy chủ lân cận và các máy chủ lân cận đáp lại bằng ICP chỉ ra một "HIT" hoặc "Hoa hậu" Nếu không nhận được phản hồi
từ các máy chủ lân cận trong một khoảng thời gian ngắn có nghĩa là đường mạng
Trang 26tắc nghẽn hoặc hỏng Thông thường, ICP được thực hiện trên đầu trang UDP để cung cấp các tính năng quan trọng của bộ nhớ đệm Web ứng dụng
HTCP (Hypertext Caching Protocol) : là một giao thức để khám phá bộ nhớ đệm HTTP, lưu trữ dữ liệu, quản lý bộ nhớ đệm HTTP và giám sát hoạt động bộ nhớ đệm HTCP tương thích với HTTP 1 0, cho phép các tiêu đề gồm một yêu cầu hoặc một phản hồi Điều này trái ngược với ICP, được thiết kế cho HTTP 0.9 HTTP 0.9 cho phép xác định chỉ có một URI trong yêu cầu; không cần bất cứ tiêu
đề sử dụng trong ICP cho mô tả nội dung được lưu trữ; không hỗ trợ nhiều khả năng tương thích trên cùng một URI Mặt khác, HTCP cho phép đáp ứng đầy đủ yêu cầu
và tiêu đề được sử dụng trong quản lý bộ nhớ đệm HTCP cũng mở rộng phạm vi quản lý bộ nhớ đệm gồm giám sát bổ sung và xóa một bộ nhớ đệm từ xa, yêu cầu xóa bỏ ngay lập tức, và gửi những gợi ý về đối tượng Web Thông điệp HTCP có thể được gửi qua UDP hoặc TCP
Bộ nhớ đệm Digest (Cache Digest) : là một định dạng giao thức trao đổi dữ liệu; cung cấp một giải pháp cho các vấn đề thời gian phản hồi và nghẽn mạng thông tin liên lạc giữa bộ nhớ đệm các giao thức như ICP và HTCP Sử dụng bộ nhớ cache Digest có thể xác định chính xác cho dù máy chủ lưu trữ một URL nhất định Nó hiện đang được thực hiện thông qua HTTP Một mạng ngang hàng trả lời một yêu cầu sẽ chỉ định thời gian hết hạn bằng cách sử dụng tiêu đề HTTP hết hạn Các bộ nhớ đệm yêu cầu như vậy, biết khi nào sẽ yêu cầu một bản sao mới của mạng ngang hàng phân loại Ngoài HTTP, Bộ nhớ đệm Digest có thể được trao đổi thông qua FTP Mặc dù việc sử dụng chính của Bộ nhớ đệm Digest là để chia sẻ bản tóm tắt của các URL được lưu trữ bởi một máy chủ cố định, nó có thể được mở rộng để bao gồm các nguồn dữ liệu khác Bộ nhớ đệm Digest có thể là một cơ chế rất mạnh mẽ để loại bỏ dư thừa và sử dụng tốt hơn các máy chủ Internet và băng thông
Nội dung và loại dịch vụ (Content/service types) - nhà cung cấp CDN lưu trữ nội dung của bên thứ ba cập nhật nhanh chóng bất kỳ nội dung kỹ thuật số gồm :
Trang 27nội dung tĩnh, truyền thông đa phương tiện (âm thanh, thời gian thực video) và thay đổi dịch vụ nội dung (dịch vụ thư mục, dịch vụ thương mại điện tử, và dịch vụ chuyển file) Nhà cung cấp nội dung là các doanh nghiệp lớn, các nhà cung cấp dịch vụ web, công ty truyền thông và các kênh truyền hình tin tức Sự khác nhau về nội dung và dịch vụ cung cấp yêu cầu CDN áp dụng đặc tính ứng dụng
cụ thể, kiến trúc và công nghệ Một số CDN dành riêng cho việc cung cấp nội dung hoặc dịch vụ cụ thể
Nội dung tĩnh (Static content): Các trang HTML tĩnh, hình ảnh, tài liệu, các bản vá lỗi phần mềm, âm thanh hoặc các file video thuộc thể loại này Sự thay đổi
về nội dung tĩnh là thấp Hầu hết các nhà cung cấp CDN hỗ trợ kiểu phân phối nội dung này Loại nội dung có thể được lưu trữ một cách dễ dàng; có thể được duy trì
Dịch vụ (Services) : CDN có thể cung cấp tài nguyên mạng như một kênh phân phối dịch vụ cho nhà cung cấp dịch vụ giá trị gia tăng như một dịch vụ cơ sở
hạ tầng Internet Dịch vụ CDN cung cấp có thể là thư mục, web lưu trữ, chuyển tập tin, và các dịch vụ thương mại điện tử
Trang 28+ Dịch vụ thư mục : để truy cập vào các máy chủ cơ sở dữ liệu Người dùng truy vấn dữ liệu hướng đến các cơ sở dữ liệu máy chủ và kết quả của các truy vấn thường xuyên được lưu trữ tại các máy chủ đại diện của CDN
+ Dịch vụ lưu trữ web : để lưu trữ nội dung tại các máy chủ đại diện chủ yếu dựa trên kỹ thuật phân phối nội dung tĩnh
+ Dịch vụ chuyển tập tin : tạo thuận lợi cho việc phân phối nội dung (phần mềm, phim theo yêu cầu, hình ảnh, v.v ) trên toàn thế giới
11-Phân phối và quản lý nội dung: là chiến lược quan trọng trong CDN để phân phối nội dung hiệu quả Có ba kiểu môi trường thường được quan tâm với CDN là môi trường mạng công ty, mạng nhà cung cấp dịch vụ (ISP) và mạng nhà cung cấp CDN Sự khác nhau cơ bản giữa chúng là phương thức quản lý
11.1- Phân phối nội dung gồm :
+ Vị trí của máy chủ đại diện cho một số vị trí chiến lược để các máy chủ đại diện gần với người dùng
+ Lựa chọn nội dung và cập nhật căn cứ vào loại và tần suất yêu cầu cụ thể của người sử dụng và phần mềm nội dung quyết định Quản lý nội dung phần lớn phụ thuộc vào các kỹ thuật tổ chức của bộ nhớ đệm (kỹ thuật, bảo trì và cập nhật bộ nhớ cache)
Hình 8 : Quản lý và phân loại phân phối nội dung
Trang 29Vị trí thay thế (Surrogate placement) : Vị trí của máy chủ đại diện liên quan mật thiết với quá trình phân phối nội dung Việc tối ưu vị trí máy chủ đại diện để giảm thiểu độ trễ để truy cập nội dung và để giảm thiểu tổng tiêu thụ băng thông mạng để sao chép nội dung từ máy chủ cho người dùng Việc tối ưu hóa giảm cơ sở hạ tầng thông tin liên lạc và chi phí cho nhà cung cấp CDN Do đó, vị trí tối ưu của máy chủ đại diện cho phép CDN để cung cấp dịch vụ chất lượng cao và giá CDN thấp
Hình 9: Chiến lược vị trí thay thế
Vì mục đích chính của mạng CDN là nâng cao khả năng đáp ứng và hoạt động của ứng dụng, các nút mạng CDN, bao gồm các nút thay thế và nút gốc, cần được thiết kế có tính mở rộng và mềm dẻo cao
Mỗi mạng phân phối nội dung bao gồm một số các nút mạng CDN và mỗi nút mạng CDN lại bao gồm một hoặc nhiều thiết bị Các nút mạng CDN này bao gồm một nút gốc và một số nút thay thế Do mục tiêu cơ bản của CDN là hỗ trợ các ứng dụng truy cập bởi số lượng lớn khách hàng, nên mỗi nút CDN phải được thiết
kế sao cho nó có độ tin cậy cao và khả năng mở rộng linh hoạt
Vấn đề phân phối bao gồm một tập các phần tử mạng thực hiện chung một quá trình phân phối nội dung của các nhà cung cấp nội dung từ máy chủ gốc tới một hoặc nhiều máy chủ sao lưu và phân phát nội dung từ các máy chủ sao lưu tới các máy khách trong một mạng CDN Quá trình phân phối có thể xảy ra cả khi máy chủ sao lưu không nhận được yêu cầu từ các máy khách, quá trình này được gọi là tìm nạp trước, hoặc có thể xảy ra khi máy chủ sao lưu nhận được yêu cầu của máy khách mà không lưu giữ nội dung được yêu cầu đó, gọi là tìm nạp theo yêu cầu
Trang 30Hình 10 : Quá trình phân ph
Hình 11 : Phân phQuá trình phân phối nội dung thực hiện di chuyển nội dung
cấp nội dung từ máy chủ gốc của nó tới một hoặc nhiều máy chủ sao lưu
rằng quá trình phân phối nội dung khác với phân phát nội dung
là quá trình chuyển nội dung của các nhà cung cấp nội dung tới các
Máy chủ gốc
Máy chủ gốc
Hình 10 : Quá trình phân phối nội dung đến các máy chủ đại diện
Hình 11 : Phân phối nội dung đến người dùngQuá trình phân phối nội dung thực hiện di chuyển nội dung
cấp nội dung từ máy chủ gốc của nó tới một hoặc nhiều máy chủ sao lưu
rằng quá trình phân phối nội dung khác với phân phát nội dung
là quá trình chuyển nội dung của các nhà cung cấp nội dung tới các
Máy chủ đại diện
Máy chủ đại diện
Mạng phân phối nội dung gồm các máy chủ sao lưu
phân ph
ối nội dung đến các máy chủ đại diện
ùng Quá trình phân phối nội dung thực hiện di chuyển nội dung của các nhà cung cấp nội dung từ máy chủ gốc của nó tới một hoặc nhiều máy chủ sao lưu Cần chú ý
Phân phát nội dung
là quá trình chuyển nội dung của các nhà cung cấp nội dung tới các máy khách
Máy chủ đại diện
phân phối
Người dùng
Trang 3111.2- Quản lý nội dung phân phối
Lựa chọn nội dung và chuyển giao (Content selection and delivery ) : Việc lựa chọn đúng nội dung quyết định kết quả của việc phân phối nội dung để chuyển giao cho người dùng cuối Cách tiếp cận nội dung lựa chọn thích hợp có thể giúp người dùng giảm thiểu tối đa thời gian tải về và tải máy chủ
Hình 12: Sự phân loại lựa chọn và chuyển giao kỹ thuật nội dung
Nội dung có thể được chuyển cho người dùng toàn bộ hoặc một phần
Lựa chọn trang web đầy đủ nội dung và phân phối (Full-site content election and delivery) : là cách tiếp cận đơn giản; nơi thiết lập toàn bộ của máy chủ bên ngoài là các đối tượng để thay thế các máy chủ Nói một cách khác, cách tiếp cận này các máy chủ đại diện thực hiện "sao chép toàn bộ" để phân phối đầy đủ nội dung trang web đến các người dùng cuối cùng Với cách tiếp cận này, một nhà cung cấp nội dung cấu hình DNS tất cả các yêu cầu người dùng cho các trang Web của mình được giải quyết bởi một máy chủ CDN, sau đó cung cấp toàn bộ nội dung
+ Ưu điểm : đơn giản của nó
Trang 32+ Tuy nhiên, việc tăng kích thước của các đối tượng Web không phải là một giải pháp khả thi Mặc dù giá phần cứng giảm, dung lượng lưu trữ trên máy chủ đại diện không bao giờ được đảm bảo để lưu trữ tất cả nội dung từ các nhà cung cấp nội dung Hơn nữa, các trang Web nội dung không phải là web tĩnh, vấn đề cập nhật bộ sưu tập của các đối tượng Web là không thể quản lý
Lựa chọn và phân phối một phần nội dung trang web (Partial site content selection and delivery) : Cách tiếp cận một phần trang web là tốt hơn so với phương pháp tiếp cận trang web đầy đủ vì giảm tải trên các máy chủ gốc Hơn nữa, do sự thay đổi không thường xuyên của nội dung nhúng, một cách tiếp cận một phần nội dung trang web có hiệu suất tốt hơn
12- Yêu cầu định tuyến
Một hệ thống yêu cầu định tuyến có nhiệm vụ định tuyến yêu cầu người dùng đến một máy chủ thay thế thích hợp cho chuyển tải nội dung Nó bao gồm một tập hợp các phần tử mạng để hỗ trợ yêu cầu định tuyến cho một CDN duy nhất Nó chỉ đạo yêu cầu người dùng đến máy chủ lân cận (máy chủ sao chép) cho người dùng Tuy nhiên, các máy chủ gần nhất có thể không phải là máy chủ thay thế tốt nhất để phục vụ các yêu cầu người dùng Do đó, một hệ thống yêu cầu định tuyến
sử dụng một tập hợp các số liệu như độ trễ, khoảng cách, và máy chủ thay thế trong một nỗ lực để hướng người dùng đến các đại diện gần nhất mà tốt nhất có thể phục
vụ theo yêu cầu Việc lựa chọn và phân phối nội dung được sử dụng bởi một CDN
có tác động trực tiếp vào thiết kế của hệ thống yêu cầu định tuyến của nó Nếu các phương pháp tiếp cận toàn trang web được sử dụng bởi một CDN, hệ thống yêu cầu định tuyến hỗ trợ trực tiếp các yêu cầu người dùng đến máy chủ thay thế khi họ giữ tất cả các nội dung bên ngoài Mặt khác, nếu các phương pháp tiếp cận từng phần trang web được sử dụng, hệ thống yêu cầu định tuyến được thiết kế theo cách như vậy mà khi nhận được yêu cầu của người dùng, máy chủ gốc cung cấp nội dung cơ bản trong khi các máy chủ thay thế cung cấp các đối tượng nhúng Vấn đề yêu cầu định tuyến trong một CDN có hai phần: triển khai các thuật toán yêu cầu định tuyến
Trang 33và sử dụng một cơ chế yêu cầu định tuyến Một thuật toán yêu cầu định tuyến được gọi về nhận được yêu cầu của người dùng Nó chỉ rõ làm thế nào để chọn một máy chủ lân cận đáp ứng yêu cầu người dùng nhất định Mặt khác, một cơ chế yêu cầu định tuyến là một cách để thông báo cho người dùng về việc lựa chọn Một cơ chế như vậy lúc đầu gọi một thuật toán yêu cầu định tuyến và sau đó thông báo cho người dùng về việc lựa chọn kết quả đó có được
Hình 13: Mô tả Yêu cầu định tuyến trong một môi trường CDN (1) Người dùng yêu cầu nội dung từ các nhà cung cấp nội dung bằng cách xác định URL của nó trong trình duyệt Web Yêu cầu của người dùng được gửi tới máy chủ gốc của nó; (2) Khi máy chủ gốc nhận được yêu cầu, một quyết định cung cấp duy nhất các nội dung cơ bản có thể được phục vụ từ máy chủ gốc của nó; (3)
Để phục vụ băng thông cao đòi hỏi và thường xuyên hỏi nội dung, máy chủ gốc cung cấp nội dung của định tuyến theo yêu cầu của người dùng để cung cấp CDN; (4) Bằng cách sử dụng thuật toán lựa chọn, các nhà cung cấp CDN chọn các máy chủ đại diện là 'gần' cho người dùng, nhằm phục vụ cho các đối tượng nhúng được yêu cầu; (5) Máy chủ đại diện chọn được các đối tượng nhúng từ máy chủ gốc, phục
vụ các yêu cầu của người dùng và lưu trữ nó cho việc bảo yêu cầu tiếp theo
Trang 34Bước 1: Máy chủ gốc cho phép các CDN ngang cấp phân phối nội dung của
nó và đặt nội dung vào hệ thống phân phối ngang cấp của một trong các CDN Tồn tại hai cách đặt nội dung:
o Đẩy nội dung xuống trước: Nội dung sẽ được sử dụng trong các CDN được đẩy xuống một cách tích cực
o Kéo nội dung theo yêu cầu: Nội dung được kéo theo yêu cầu từ OS khi có một bộ đệm bị lỗi tại máy chủ sao lưu tại cùng thời gian đối tượng được yêu cầu
- Bước 2, 5: Vấn đề phân phối ngang cấp truyền nội dung tới hệ thống phân phối
- Bước 3, 6: Vấn đề phân phối sẽ phân phối nội dung giữa các máy chủ sao lưu trong cùng một mạng CDN
- Bước 4: Vấn đề phân phối ngang cấp di chuyển nội dung giữa các CDN ngang cấp Nó cung cấp thông tin về các vị trí nơi mà nội dung có mặt tới hệ thống định tuyến ngang cấp Vấn đề định tuyến ngang cấp thông báo thông tin này tới các mạng CDN ngang cấp
Hệ thống định tuyến ngang cấp
Server sao lưu (Cache) lưu (Cache) Server sao Khách
hàng
Trao đổi thông tin định tuyến
Hình 14 : Phân phối nội dung trong một mạng CDN
và giữa các mạng CDN ngang hàng
Trang 35III- Vấn đề MAB
Guo và các cộng sự (Guo và các cộng sự, 2002) thiết kế và đánh giá các kĩ thuật lựa chọn máy chủ với một số lượng cố định các kênh các máy chủ video theo yêu cầu sao chép Các tác giả đã đề xuất một vài kĩ thuật heuristic (kỹ thuật dựa trên kinh nghiệm để giải quyết vấn đề, học hỏi hay khám phá nhằm đưa ra một giải pháp
mà không được đảm bảo là tối ưu) mà luôn gửi các yêu cầu tới máy chủ gần nhất Cũng với cùng mục đích này, G Pierre và các cộng sự (Pierre và Van Steen, 2006),
đã đề xuất Globule Máy chủ gần nhất tính theo cự ly của mạng thì luôn được lựa chọn Tuy nhiên, máy chủ gần nhất thì không phải luôn là máy chủ cho chất lượng tốt nhất Almeida và các cộng sự (Almeida và các cộng sự, 2004) đã cố gắng giảm thiểu chức năng khách quan của tổng các mạng và sự sử dụng của băng thông máy chủ để giải quyết vấn đề lựa chọn máy chủ
Trong Luận văn này, làm rõ một điều thiết yếu, đó là tất cả các cách tiếp cận nói trên đều chỉ xét đến tiêu chí QoS (chất lượng mạng) như các thông số mạng và máy chủ và coi chúng như là thước đo hiệu quả cần phải tối ưu hóa, nhưng lại bỏ qua tiêu chí QoE, mặc dù tiêu chí này cho biết cảm nhận của người dùng cuối cùng
Sở dĩ có quyết định này là do quan niệm cho rằng có QoS tốt chắc chắn sẽ đem lại QoE tốt Tuy nhiên, giả thiết này không phải luôn luôn đúng vì dữ liệu được truyền tới người dùng cuối cùng qua mạng trong các hoàn cảnh khác nhau Vì vậy, hoàn cảnh chủ quan của người dùng cuối cùng cần được xem xét kĩ lưỡng, hoặc ít nhất cũng không bị bỏ qua Ngoài ra, các cách tiếp cận này không tính đến sự cảm nhận của người dùng cuối cùng cũng như sự đánh đổi giữa khai thác sử dụng - khám phá học tập Để đạt được mục tiêu này, chúng ta cần sử dụng một thuật toán lựa chọn dựa trên một phương pháp học tập
Lấy ví dụ của một vấn đề học tập, một người phải chọn lặp đi lặp lại giữa n
sự lựa chọn Sau mỗi lựa chọn, người đó nhận được một reward số học mang tính phân phối xác suất tính dựa vào hành động đã chọn Đây là hình thức của vấn đề Multi - Armed Bandit mà tôi dựa vào để chính thức hóa vấn đề lựa chọn máy chủ trong CDN
Trang 36Chương này trình bày về sự chính thức hóa Multi - Armed Bandit và giải thích lý do tôi chọn phương pháp này để chính thức hóa thuật toán lựa chọn Sau đó, chúng tôi sẽ tiếp tục trình bày về thuật toán lựa chọn máy chủ được đề xuất
1- Vấn đề Multi - Armed Bandit
Vấn đề BanditMulti - Armed Bandit (MAB) (Vermorel và Mohri, 2005, Antos và các cộng sự, 2008) được đặt tên theo máy đánh bạc ngày xưa (máy nhét
xu có 1 cần gạt) Nhận thấy các ứng dụng có ích trong ngành thống kê, người ta đã
sử dụng loại máy có nhiều cần gạt Khi người ta kéo 1 cần gạt, máy sẽ cho một reward được phân phối cho chiếc cần gạt đó Mục tiêu của người đánh bạc là để kiếm được tối đa reward sau một số lần chơi thử Trong thực tế, rất nhiều phương pháp học tập và các vấn đề tối ưu hóa đã được chính thức hóa bằng cách này
Trong phần này, chúng tôi trình bày ngắn gọn khái niệm và sự hình thành chung của MAB và thảo luận một số chính sách chung cho vấn đề MAB
2- Lý do lựa chọn MAB
Chúng tôi lựa chọn MAB vì các lý do sau:
- MAB không có bất cứ giả định nào về reward Cách tiếp cận này luôn mang theo sự đánh đổi giữa việc việc khám phá, học hỏi và sự khai thác Hàm reward mà chúng tôi xem xét là điểm số MOS và giá trị QoE được đánh giá
- Không giống các cách tiếp cận khác đối với các vấn đề tối ưu hóa QoS, MAB không tạo nên bất cứu heuristic nào Trong khi các cách tiếp cận cổ điển cố gắng tối ưu hóa một heuristic cụ thể như sự trì hoãn E2E, đếm bước nhảy v.v , thì MAB giảm thiểu một cách rõ ràng giá trị nuối tiếc ρ (phương trình 2)
- Trong số các cách tiếp cận có thể giải quyết MDP, chỉ có cách tiếp cận MAB là cần chỉ 1 trạng thái Hành động tương lai được lựa chọn dựa trên reward đạt được và trạng thái độc nhất này Đặc tính này thì phù hợp với vấn đề lựa chọn máy chủ mà chúng ta đang phải giải quyết vì chúng ta chỉ biết trạng thái hiện tại của mỗi máy chủ
Trang 373- Reward thu được
Trong giải thuật MAB, reward mong đợi cho hành động được lựa chọn được gọi là giá trị của hành động MAB sẽ dễ dàng được giải quyết nếu người ta biết giá trị của mỗi hành động, người ta sẽ luôn chọn hành động đem lại giá trị cao nhất Trong thực tế, người ta chỉ có thể dự đoán chứ không thể biết giá trị của hành động Thực ra, trong số các hành động có các giá trị hành động khác nhau, luôn có ít nhất một hành động được dự đoán có giá trị lớn nhất Hành động này được gọi là hành động tham lam Lựa chọn hành động tham lam có nghĩa là khai thác, sử dụng hiểu biết sẵn có về giá trị của các hành động Còn lựa chọn một trong các hành động không tham lam nghĩa là khám phá tìm hiểu bởi điều này cho phép chúng tăng giá trị của hành động không tham lam Sự khai thác nhằm mục đích nhận được reward lớn nhất cho một lựa chọn cụ thể, sự khám phá nhằm để nhận được reward lớn hơn trong lâu dài Ví dụ, chúng ta biết chắc chắn giá trị của hành động tham lam, trong khi các hành động khác được cho là gần giá trị bằng nhưng có độ chắc chắn thấp Tuy nhiên, ở một số thời điểm, sự không chắc chắn có nghĩa là một trong các hành động khác có giá trị hơn hành động tham lam, nhưng chúng ta không biết chắc là hành động nào Rõ ràng là tốt hơn nếu chúng khám phá các hành động không tham lam và xem hành động nào có giá trị hơn hành động tham lam Có thể trong tương lai gần, ta nhận được ít reward hơn, trong giai đoạn khám phá, nhưng reward sẽ lớn hơn trong tương lai xa, sau khi bạn đã xác định các hành động giá trị hơn để khai thác chúng Bởi chúng ta không thể vừa khái thác vừa khám phá trong cùng một lần lựa chọn, nên có một sự mâu thuẫn giữa sự khai thác và khám phá
Có một số thuật toán để đánh giá giá trị của các hành động và để sử dụng các ước tính để lựa chọn hành động Một cách đơn giản là chia trung bình các reward nhận được nếu hành động được lựa chọn Bởi vậy, sau t lần quyết định, giá trị hành động của hành động a được ước tính sau na lần như sau:
( ) = + + …+ (1)
Trang 38Trong đó ( ) là giá trị ước tính sau lựa chọn Khi ∞, ( ) trở thành ∗( )
Phương pháp trên được coi là lấy trung bình số mẫu (sample - average)
là một cách để xác định giá trị các hành động, nhưng đây không phải là phương pháp tốt nhất Ví dụ, thuật toán UCB mà chúng tôi sử dụng có hàm ước lượng, được gọi là chỉ số UCB ̂ + ( ) trong đó ̂ là ước lượng của các phần thưởng được mong đợi
Trong thực tế, người ta đưa ra các quyết định để nhận được nhiều reward nhất Các hành động được lựa chọn không chỉ để đem lại nhiều reward hơn mà còn
để khám phá kiến thức mới mà có thể giúp đưa ra các quyết định tốt hơn trong tương lai Các tình huống đó đòi hỏi sự nỗ lực lựa chọn các máy chủ phù hợp để làm tăng chất lượng dịch vụ trong hệ thống CDN Mọi hệ thống đưa ra quyết định đều phải đối mặt với vấn đề cân bằng giữa đạt được nhiều reward nhất với kiến thức sẵn có
và thử nghiệm các hành động mới để tăng kiến thức Đây được gọi là sự đánh đổi giữa khai thác, sử dụng và khám phá, học hỏi trong quá trình học tập tăng cường
Mô hình BanditMulti - Armed Bandit đã được giới thiệu bởi Robbins (Robbins, 1952) để giải quyết vấn đề này Sự khác biệt với một máy đánh bạc truyền thống (one-armed Bandit) là ở chỗ BanditMulti - Armed Bandit có nhiều hơn một cần gạt Khi người chơi kéo cần gạt sẽ đạt được được một reward nhờ sự phân phối được sắp xếp cho cần gạt đó Ban đầu, người chơi bạc không có kiến thức về các cần gạt, nhưng sau một vài lần thử lặp đi lặp lại, anh ta có thể xác định các cần gạt đem lại nhiều reward nhất Trong thực tế, vấn đề BanditMulti - Armed Bandit thực ra là việc xác định chính sách tốt nhất cho người đánh bạc
Vấn đề chính thức hóa MAB là sự chính thức hóa một chuỗi các nhiệm vụ quyết định được thực hiện bởi người đưa ra quyết định và các hành động quyết định
cố định với =1…N (N ≥ 1) Mỗi lần người đưa ra quyết định lựa chọn một hành
Trang 39động ở thời gian , nó nhận được reward từ một sự phân phối nào đó dành cho hành động cụ thể đó Mục đích của người đưa ra quyết định là để nhận được nhiều reward nhất qua một chuỗi các hành động lựa chọn Như vậy, trong mỗi giai đoạn, = 1,2,…T :
Người quyết định lựa chọn , dựa trên các phần thưởng nhận được trước đó và các hành động đã chọn , , , , … , ,
Người quyết định chỉ nhận được phần thưởng
Vấn đề MAB có thể được mô hình hóa bằng một tập hợp các phân phối thật
Ψ = (Φ1 + Φ2+ + ΦN)được gọi là các cần gạt Mỗi phân phối Φ được liên hệ với các phần thưởng đem lại do hành động Giá trị trung bình của các phân phối phần thưởng này là , , … ,
Giá trị nuối tiếc ρ sau T vòng được xác định là bằng tổng phần thưởng của một chiến lược tối ưu trừ đi tổng phần thưởng thu được
= ∗− (2)
Trong đó :
∗là trung bình của tổng các phần thưởng lớn nhất ∗= max( )
là phần thưởng ở thời gian
Tất cả các chính sách hay các thuật toán được đề xuất cho vấn đề MAB có xu hướng giảm thiểu giá trị tiếc nuối ở mỗi vòng Một chiến lược được gọi là chính sách không có sự tiếc nuối nếu trung bình giá trị tiếc nuối ở mỗi vòng bằng 0 xác suất là 1 cho bất cứ vấn đề Bandit nào, khi giới hạn tiến đến vô cực
Khi chơi đủ số vòng, các chính sách không có sự tiếc nuối bảo đảm sẽ trở thành chính sách tối ưu Sự chính thức hóa này là một mô tả thông thường của một hành động riêng biệt dựa trên vấn đề học tập tăng cường (Sutton và Barto, 1998) với một trạng thái đặc biệt duy nhất
Trang 40Ngày nay, có rất nhiều ứng dụng của MAB trong nhiều lĩnh vực Phần tiếp theo sẽ xem xét một số ứng dụng
4- Các ứng dụng của MAB
Các vấn đề BanditMulti - Armed Bandit có một vai trò chủ yếu trong các vấn
đề đưa ra quyết định để duy trì sự đánh đổi “khám phá hay khai thác” Sự đánh đổi này được coi là một tình huống đánh bạc, như đã nói ở trên Sau khi người đánh bạc
đã biết một máy đánh bạc có sự chi trả khá tốt, có 2 sự lựa chọn cho người chơi: tiếp tục chơi máy này (khai thác) hoặc thử các máy khác chưa chơi hoặc ít được chơi (khám phá) Bởi sự đánh đổi này thường xuất hiện rộng rãi trong các vấn đề đưa ra quyết định trực tuyến, nên có nhiều ứng dụng của thuật toán BanditMulti - Armed Bandit Chúng tôi đưa ra ở đây một số ứng dụng như sau:
Tìm kiếm trang Web (Radlinski và các cộng sự, 2008): Với hạ tầng Internet, việc tìm kiếm trang Web đã trở thành một thành phần thiết yếu và đã thu hút sự chú ý của cộng đồng nghiên cứu máy tính Cách tiếp cận truyền thống đó là liên hệ với các vấn đề học cách đặt trình tự Trong (Radlinski và các cộng sự, 2008), các tác giả đã trình bày một hướng tiếp cận học trực tuyến để học từ sự sử dụng dữ liệu Khi các dữ liệu tập huấn đang được thu thập, nó ngay lập tức có ảnh hưởng tới các thứ tự được trình bày Vấn đề học mà họ đề cập đến là sự thu nhỏ tiếc nuối, trong đó mục đích là để giảm thiểu tổng số hạng thấp được thể hiện trong tổng thời gian Đặc biệt, trong hoàn cảnh này, có sự đánh đổi tự nhiên giữa sự khám phá và khai thác Các tác giả đề xuất một thuật toán để tính toán sự sắp xếp của các kết quả tìm kiếm từ các trình tự khác nhau Bằng cách lặp lại tất cả các tài liệu trong từng vị trí đồng thời giữ nguyên các tài liệu khác ở vị trí cố định, họ cố gắng học cách sắp xếp tốt nhất của các tài liệu qua các cú kích chuột của người dùng Các tiếp cận của
họ tự nhiên đã cho một bộ kết quả đa dạng bởi các nhận xét của người dùng sau các
cú kích chuột sẽ làm giảm giá trị của các tài liệu tương tự
Thiết kế các thử nghiệm y tế: (Hardwick và Stout, 1992): với ứng dụng này, người ta phải đánh giá cách chữa bệnh có thể cho một căn bệnh để tìm ra