Sao chép nội dung giống nhau hoặc chiến lược nhân đôi dịch vụ trên một số máy chủ Web được đặt tại các địa điểm khác nhau là một phương pháp thường được sử dụng bởi các nhà cung cấp
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Trang phụ bìa NGUYỄN VIỆT ANH
XÂY DỰNG THUẬT TOÁN LỰA CHỌN MÁY CHỦ CHO HỆ THỐNG MẠNG PHÂN TÁN DỮ LIỆU
Chuyên ngành : CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Trần Hải Anh
Hà Nội – Năm 2015
Trang 22
MỤC LỤC
Trang phụ bìa 1
Lời cam đoan 4
Danh mục các ký hiệu, các chữ viết tắt 5
Danh mục các hình vẽ, đồ thị 6
MỞ ĐẦU 7
1 Cơ sở khoa học và thực tiễn của luận văn 7
2 Mục đích của đề tài (các kết quả cần đạt được) 7
3 Đối tượng, phạm vi nghiên cứu 7
4 Phương pháp nghiên cứu 8
5 Bố cục luận văn 8
CHƯƠNG 1: HỆ THỐNG MẠNG PHÂN TÁN DỮ LIỆU 9
1.1 Giới thiệu chung 10
1.1.1 Định nghĩa CDN 10
1.1.2 Mục tiêu CDN 11
1.1.3 Các thành phần CDN 16
1.1.4 Kiến trúc lớp 16
1.1.5 Quá trình phát triển CDN 19
1.2 Cấu trúc CDN 21
1.2.1 Tổ chức CDN 22
1.2.2 Máy chủ 22
1.2.3 Quan hệ 24
1.2.4 Nội dung/loại dịch vụ 25
1.3 Phân phối nội dung 27
1.3.1 Môi trường ứng dụng của mạng phân phối nội dung 27
1.3.2 Các thành phần của mạng phân phối nội dung 27
Trang 33
CHƯƠNG 2: THUẬT TOÁN LỰA CHỌN MÁY CHỦ CHO HỆ THỐNG
MẠNG PHÂN TÁN DỮ LIỆU 32
2.1 Giới thiệu chương 32
2.2 Các thuật toán lựa chọn máy chủ trong hệ thống mạng phân tán dữ liệu 32
2.3 Giải thuật Multi-Armed Bandit 35
2.3.1 Mô hình MAB 36
2.3.2 Ứng dụng của MAB 40
2.3.3 Thuật toán cho MAB 42
CHƯƠNG 3: XÂY DỰNG GIẢI THUẬT MULTI-ARMED BANDIT 48
3.1 Môi trường thử nghiệm 48
3.2 Công thức tính phần thưởng dự kiến 50
3.3 Epsilon – Greedy 52
3.3.1 Mô tả bài toán 52
3.3.2 Implementing 53
3.4 Softmax 58
3.4.1 Mô tả bài toán 58
3.4.2 Implementing 59
3.5 UCB 63
3.5.1 Mô tả bài toán 63
3.5.2 Implementing 64
3.6 Đánh giá kết quả 68
KẾT LUẬN 71
TÀI LIỆU THAM KHẢO 72
Trang 44
Lời cam đoan
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, 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
Tác giả
NGUYỄN VIỆT ANH
Trang 55
Danh mục các ký hiệu, các chữ viết tắt
CDN Content Delivery Networks
UCB Upper Confidence Bounds
QoS Quality of Service
QoE Quality of Experience
HTML Hyper Text Markup Language
ISP Internet Service Provider
ICP Internet Cache Protocol
URI Uniform Resource Identifier
URL Uniform Resource Locator
SLA Service Level Agreement
MIME Multipurpose Internet Mail Extensions
IETF Internet Engineering Task Force
NECP Network Element Control Protocol
TCP Transmission Control Protocol
WCCP Web Cache Coordination Protocol
CARP Cache Array Routing Protocol
Trang 66
Danh mục các hình vẽ, đồ thị
Hình 1 Mô hình mạng CDN 11
Hình 2 Nội dung/dịch vụ được cung cấp bởi CDN 13
Hình 3 Kiến trúc phân lớp của một CDN 17
Hình 4 Phân loại thành phần CDN 22
Hình 5 Các giao thức tương tác được sử dụng trong một CDN 23
Hình 6 Các giao thức tương tác khác nhau 25
Hình 7 Cấu trúc hệ thống định tuyến yêu cầu 28
Hình 8 Quá trình phân phối nội dụng 29
Hình 9 Quá trình phân phát nội dung 30
Hình 10 Phân phối nội dung trong một mạng CDN và giữa các mạng CDN ngang cấp 30
Hình 11 Cơ chế thuật toán epsilon-greedy 42
Hình 12 Sơ đồ hàm chọn máy chủ của thuật toán Epsilon-Greedy 55
Hình 13 Sơ đồ hàm chọn máy chủ của thuật toán Softmax 59
Hình 14 Sơ đồ hàm chọn máy chủ của thuật toán UCB 64
Trang 77
MỞ ĐẦU
1 Cơ sở khoa học và thực tiễn của luận văn
Internet phát triển và hoạt động rộng khắp mà không hề có sự quản lý tập trung, đây là một nguyên nhân cực kỳ quan trọng làm cho internet phát triển và thay đổi nhanh như vậy Tuy nhiên, thiếu quản lý làm cho việc đảm bảo hiệu năng cũng như việc xử lý một cách có hệ thống với những vấn đề về hiệu năng là rất khó Trong khi đó, băng thông mạng liên tục bị quá tải bởi sự tăng vọt của việc sử dụng Internet
và các nội dung chiếm băng thông Hệ thống mạng phân tán dữ liệu là một giải pháp hữu hiệu để cải tiến chất lượng dịch vụ Internet
Hệ thống mạng phân tán dữ liệu tái tạo lại nội dung gốc đến các máy chủ bản sao nằm ở các nơi khác nhau và đáp ứng yêu cầu từ máy chủ bản sao gần nhất với nơi phát ra yêu cầu đó
Lựa chọn máy chủ để đáp ứng các yêu cầu là một trong những vấn đề quan trọng cần giải quyết trong hệ thống mạng phân tán để đáp ứng người dùng tốt nhất, cải thiện chất lượng dịch vụ
Đề tài được chọn với mong muốn tìm hiểu về thuật toán lựa chọn máy chủ trong hệ thống mạng phân tán dữ liệu nhằm tăng hiệu năng và cải thiện chất lượng dịch vụ
2 Mục đích của đề tài (các kết quả cần đạt được)
Luận văn nghiên cứu về các thuật toán lựa chọn máy chủ cho mạng phân tán
dữ liệu Trên cơ sở đó xây dựng thuật toán để lựa chọn máy chủ cho mạng phân tán
dữ liệu và khảo sát đánh giá thuật toán đó
3 Đối tượng, 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 tán dữ liệu mà cụ thể là các thuật toán MAB
Trang 88
- 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
4 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết:
o Tìm hiểu về mạng phân tán qua các sách khảo và các bài báo mạng
o Tìm hiểu giải thuật chọn lựa máy chủ qua sách tham khảo và các bài báo mạng
o Vẽ ra định hướng luận văn cần thực hiện
- Phương pháp nghiên cứu thực nghiệm:
o Tham khảo các ý kiến của chuyên gia: Gặp gỡ, trao đổi, tiếp thu ý kiến của các thầy cô giáo, những người có kinh nghiệm trong lĩnh vực mạng phân tán
o Dựng một môi trường mô phỏng mạng phân tán
o Tham khảo code của một số bài báo cũng như sách vở, áp dụng vào môi trường đã dựng
5 Bố cục luận văn
Luận văn được bố cục gồm ba phần: phần mở đầu, phần nội dung và phần kết luận Trong phần nội dung gồm có ba chương:
- Chương 1: Hệ thống mạng phân tán dữ liệu
- Chương 2: Thuật toán lựa chọn máy chủ cho hệ thống mạng phân tán dữ
liệu
- Chương 3: Xây dựng giải thuật Multi-Armed Bandit
Trang 99
CHƯƠNG 1: HỆ THỐNG MẠNG PHÂN TÁN DỮ LIỆU
Với sự phát triển của Internet, 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 Nó có thể gây ra tình trạng không thể quản lý luồng lưu lượng, dẫn đến nhiều yêu cầu bị mất Sao chép nội dung giống nhau hoặc chiến lược nhân đôi dịch vụ trên một số máy chủ Web được đặt tại các địa điểm khác nhau là một phương pháp thường được sử dụng bởi các nhà cung cấp dịch vụ để cải thiện hiệu suất và khả năng mở rộng Người sử dụng được chuyển hướng đến các máy chủ gần nhất và phương pháp này giúp giảm thiểu tác động trên mạng vào thời gian đáp ứng các yêu cầu của người dùng
Content Delivery Networks (CDN) cung cấp dịch vụ để cải thiện hiệu suất mạng bằng cách tối ưu hóa băng thông, nâng cao khả năng tiếp cận và duy trì tính đúng đắn thông qua bản sao nội dung CDN có một số sự kết hợp của giải phóng nội dung, yêu cầu định tuyến, phân phối và cơ sở hạ tầng Các cơ sở hạ tầng phân phối nội dung bao gồm một tập hợp các máy chủ lân cận (còn gọi là máy chủ đại diện) cung cấp bản sao nội dung tới người dùng cuối cùng Các cơ sở hạ tầng theo yêu cầu định tuyến có trách nhiệm chỉ đạo yêu cầu khách hàng đến các máy chủ lân cận thích hợp Nó cũng tương tác với các cơ sở hạ tầng phân phối để cập nhật các nội dung được lưu trữ trong bộ nhớ đệm CDN Các cơ sở hạ tầng phân phối di chuyển nội dung
từ máy chủ gốc đến các máy chủ lân cận và đả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 kế toán duy trì các bản ghi của khách hàng truy cập và ghi lại việc sử dụng các máy chủ CDN Thông tin này được sử dụng cho các báo cáo lưu lượng và thanh toán cước sử dụng Trong thực tế, CDN thường lưu trữ nội dung tĩnh bao gồm cả hình ảnh, video, clip, file nhạc, quảng cáo, và các đối tượng nhúng khác cho nội dung web động Khách hàng tiêu biểu của CDN 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, các nhà bán lẻ âm nhạc trực tuyến, các nhà khai thác di động, nhà sản xuất thiết bị điện tử tiêu dùng, và các công ty cung cấp dịch vụ khác Mỗi một khách hàng
Trang 10Các chức năng tiêu biểu của một CDN bao gồm:
- Yêu cầu chuyển hướng và phân phối nội dung để chỉ đạo một yêu cầu đến
máy chủ thay thế thích hợp nhất bằng cách sử dụng các cơ chế để vượt qua tình trạng tắc nghẽn
- Dịch vụ phân phối nội dung để nhân rộng và thay thế nội dung bộ nhớ đệm
các máy chủ phân phối đại diện cho máy chủ gốc
- Các dịch vụ đàm phán nội dung để đáp ứng nhu cầu cụ thể của từng người
dùng cá nhân (hoặc nhóm người dùng)
- Quản lý dịch vụ để quản lý các thành phần mạng, giải quyết hoạch toán,
giám sát và báo cáo về việc sử dụng nội dung
CDN cung cấp hiệu suất tốt hơn thông qua bộ nhớ đệm hoặc sao chép nội dung trên một số máy chủ thay thế được đặt tại các địa điểm khác nhau để đối phó với sự tăng vọt bất ngờ trong các yêu cầu nội dung web Trong mạng CDN, nội dung đề cập đến bất kỳ nguồn dữ liệu kỹ thuật số và nó bao gồm hai phần chính: các dữ liệu đa phương tiện được mã hóa và siêu dữ liệu Các dữ liệu đa phương tiện bao gồm mã hóa tĩnh, động và dữ liệu đa phương tiện liên tục (ví dụ như âm thanh, video, tài liệu, hình ảnh và các trang web) Siêu dữ liệu là mô tả nội dung cho phép nhận dạng, phát hiện và quản lý các dữ liệu đa phương tiện, và cũng tạo điều kiện cho việc giải thích các dữ liệu đa phương tiện
Trang 1111
1.1.2 Mục tiêu CDN
Internet đã chứng minh trong quá trình triển khai và hoạt động là nó chỉ phù hợp cho việc phân phối, truy cập những trang web tĩnh và thư điện tử đơn giản Tuy nhiên, Internet ngày nay và các kiến trúc Intranet kết hợp không có khả năng xử lý lượng truyền thống đa phương tiện và các dịch vụ nội dung đòi hỏi lưu lượng lớn mà các khách hàng trực tuyến tìm kiếm ở tốc độ mà họ mong muốn Các nút cổ chai mạng thường xuyên xảy ra giữa các nguồn tài nguyên nội dung và người sử dụng cuối Kể cả việc bổ sung các đường mạng nhanh hơn, các máy chủ mạnh hơn vẫn không giải quyết được vấn đề Kết quả là rất nhiều nhà cung cấp dịch vụ nội dung, các nhà kinh doanh điện tử thương mại, các tổ chức và các doanh nghiệp phải chịu đựng các máy chủ quá tải và truy nhập mạng với tốc độ chậm làm nản lòng khách hàng, nhân viên
Giải pháp mạng phân phối nội dung nhằm nâng cao năng lực của mạng Mục tiêu chính của CDN là để tránh các vùng tắc nghẽn trong mạng Nếu lưu lượng giữa người dùng và máy chủ không đi qua phần mạng bị nghẽn thì có nhiều khả năng là tốc độ truyền dữ liệu sẽ cao hơn
Hình 1 Mô hình mạng CDN
Trang 12- Cải thiện chất lượng mạng và chất lượng dịch vụ thậm chí ngay cả khi lưu
lượng tổng tăng lên
- Sử dụng dữ liệu đa phương tiện dung lượng cao như video để tăng cường
năng lực phục vụ người dùng cuối mà không bị tắc nghẽn ở các mạng
- Đảm bảo cung cấp nội dung dữ liệu mới nhất cho người dùng cuối trong
các môi trường phát triển nhanh
- Nâng cao năng lực của cơ sở hạ tầng sẵn có, điều khiển mạng tương lai,
giảm chi phí băng thông
- Giảm phí tổn băng thông tổng mà không làm ảnh hưởng đến chất lượng
dịch vụ tới người dùng cuối
- Đo đạc các phân bố nội dung giúp căn chỉnh chi phí mạng tốt hơn với các
mục tiêu kinh doanh
- Phân phối các ứng dụng phân tán trên mạng sẵn có mà không phải chịu chi
phí tiền vốn lớn
- Bắt kịp các dạng dữ liệu Internet hiện tại và tương lai
Trang 1313
Giải pháp mạng phân phối nội dung nhằm nâng cao năng lực của mạng Mục tiêu chính của CDN là để tránh các vùng tắc nghẽn trong mạng Nếu lưu lượng giữa máy khách và máy chủ không đi quan phần mạng bị nghẽn thì có nhiều khả năng là tốc độ truyền sẽ cao hơn Tuy nhiên, nếu tuyến kết nối phải đi qua phần mạng bị nghẽn thì máy khách có thể kết nối với một máy chủ thay thế với đường truyền không
vụ thông qua đ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 mô tả các nội dung/dịch vụ khác nhau được phục vụ bởi một nhà cung cấp CDN cho người dùng
Hình 2 Nội dung/dịch vụ được cung cấp bởi CDN
Nhà cung cấp CDN tính phí khách hàng của họ theo các nội dung được cung cấp (tức là lưu lượng) đến người dùng cuối cùng của các máy chủ thay thế Mạng
Trang 1414
CDN hỗ trợ một cơ chế kế toán để thu thập và theo dõi thông tin sử dụng của khách hàng liên quan đến yêu cầu định tuyến, phân phối và chuyển giao Cơ chế này tập hợp thông tin trong thời gian thực và thu thập nó cho mỗi thành phần CDN Thông tin này có thể được sử dụng trong CDN cho mục đích kế toán, thanh toán và bảo trì Chi phí trung bình của tính phí dịch vụ CDN là khá cao, thường ra khỏi tầm với của nhiều doanh nghiệp vừa và nhỏ hay không cho lợi nhuận tổ chức Các yếu tố ảnh hưởng nhất ảnh hưởng đến giá của các dịch vụ CDN bao gồm:
- Chi phí băng thông
- Các tác động của phân phối lưu lượng truy cập
- Kích thước của nội dung nhân rộng trên các máy chủ thay thế
- Số lượng máy chủ thay thế
- Các vấn đề độ tin cậy và ổn định của toàn hệ thống và an ninh của phân
phối nội dung
Mạng CDN nhằm vào các nhà cung cấp nội dung hoặc những khách hàng muốn đảm bảo chất lượng dịch vụ QoS cho các người dùng cuối trong khi truy cập nội dung web của họ Ngày nay, việc phân tích mạng CDN cho thấy rằng, ở mức tối thiểu, một mạng CDN tập trung vào các mục tiêu kinh doanh sau đây: khả năng mở rộng, bảo mật, độ tin cậy, đáp ứng và hiệu suất
- Khả năng mở rộng: Mục tiêu kinh doanh chính của CDN là để đạt được
khả năng mở rộng Khả năng mở rộng đề cập đến khả năng của hệ thống
để mở rộng và xử lý một lượng dữ liệu mới và lớn, người sử dụng và các giao dịch mà không có bất kỳ sự suy giảm đáng kể nào trong hoạt động
Để mở rộng trong phạm vi toàn cầu, mạng CDN cần phải đầu tư thời gian
và chi phí trích lập dự phòng trong các kết nối mạng bổ sung và các cơ sở
hạ tầng Nó bao gồm việc trích lập dự phòng tài nguyên động để giải quyết tắc nghẽn và biến đổi lưu lượng truy cập Mạng CDN hoạt động như bộ giảm sốc cho lưu lượng truy nhập bằng cách tự động cung cấp dung lượng
Trang 1515
theo yêu cầu để đáp ứng các yêu cầu, tránh tắc nghẽn Khả năng này cho phép CDN tránh được tốn kém tài nguyên vượt quá dự phòng và cung cấp hiệu suất cao cho mọi người dùng
- An ninh: Một trong những mối quan tâm chính của CDN là cung cấp các
giải pháp an ninh tiềm năng cho bảo mật và giá trị nội dung cao An ninh
là bảo vệ nội dung chống truy cập và bị sửa đổi trái phép Nếu không kiểm soát an ninh thích hợp, nền tảng CDN sẽ bị đối tượng lừa đảo trên mạng, tấn công từ chối dịch vụ (DDoS), virus, và sự xâm nhập không mong muốn khác có thể phá hỏng doanh nghiêp CDN nhằm đáp ứng các yêu cầu nghiêm ngặt về vật lý, mạng, phần mềm, dữ liệu và thủ tục an ninh Một khi các yêu cầu bảo mật được đáp ứng, CDN có thể loại bỏ sự tốn kém cần thiết đối với phần cứng và thành phần chuyên dụng bảo vệ nội dung và giao dịch
- Độ tin cậy, khả năng đáp ứng và hiệu suất: Một nhà cung cấp CDN có
thể cải thiện truy nhập của máy khách để cung cấp các nội dung chuyên ngành thông qua nó từ nhiều nơi Một mạng có khả năng sửa lỗi với cơ chế cân bằng tải phù hợp sẽ được thực hiện Khả năng đáp ứng, trước khi việc ngừng trệ có thể sau bao lâu một dịch vụ sẽ bắt đầu thực hiện hoạt động bình thường Hiệu suất của một CDN thường được đặc trưng bởi thời gian đáp ứng (tức là độ trễ) cảm nhận của người dùng cuối Thời gian đáp ứng chậm là nguyên nhân chính cho việc từ bỏ các trang web và các quá trình của khách hàng Độ tin cậy và hiệu suất của một CDN bị ảnh hưởng bởi vị trí phân phối nội dung và cơ chế định tuyến, cũng như sao chép dữ liệu và chiến lược bộ nhớ đệm Do đó, CDN sử dụng bộ nhớ đệm để nâng cao hiệu suất đặc biệt là để cung cấp các nội dung đa phương tiện CDN lưu trữ một trang web cũng tập trung vào việc cung cấp dịch vụ nhanh chóng và đáng tin cậy vì nó nhấn mạnh thông điệp rằng công ty là đáng tin cậy và lấy khách hàng làm trọng
Trang 1616
1.1.3 Các thành phần CDN
Ba thành phần chính của một mạng CDN là: nhà cung cấp nội dung, nhà cung cấp CDN và người dùng cuối Một nhà cung cấp nội dung hoặc khách hàng là một trong những đại diện không gian tên URI của các đối tượng web được phân phối Các máy chủ gốc của các nhà cung cấp nội dung giữa các đối tượng Một nhà cung cấp CDN là một tổ chức hoặc công ty cung cấp các cơ sở hạ tầng để cung cấp nội dung độc quyền một cách kịp thời và đáng tin cậy Người dùng cuối cùng hoặc khách hàng
là các chủ thể truy cập nội dung từ trang web của các nhà cung cấp nội dung
Các nhà cung cấp CDN sử dụng bộ nhớ đệm và/hoặc bản sao các máy chủ đặt tại các vị trí địa lý khác nhau để sao chép nội dung Máy chủ đệm CDN cũng được gọi là máy chủ hoặc máy chủ đại diện gần nhất Những máy chủ đại diện của một CDN nói chung được gọi là cụm web CDN phân phối nội dung cho những máy chủ đại diện theo cách như vậy mà tất cả các máy chủ đệm chia sẻ cùng một nội dung và URL Các yêu cầu của khách hàng được chuyển đến cho máy chủ thay thế gần đó, và một máy chủ thay thế được lựa chọn phân phối những yêu cầu nội dung cho người dùng cuối Như vậy, người dùng có thể có được sự minh bạch Ngoài ra, những máy chủ đại diện gửi thông tin kế toán và các nội dung giao tiếp cho các hệ thống kế toán của các nhà cung cấp CDN
1.1.4 Kiến trúc lớp
Kiến trúc của mạng lưới phân phối nội dung có thể được trình bày theo cách tiếp cận lớp Trong hình 3 là trình bày các kiến trúc lớp của CDN, trong đó bao gồm các lớp sau: Kết cấu cơ bản, truyền thông và kết nối, lớp CDN và người sử dụng đầu cuối
Trang 1717
Hình 3 Kiến trúc phân lớp của một CDN
Các lớp được định nghĩa như sau:
- Tổ chức cơ bản: Là lớp thấp nhất của một CDN Nó cung cấp các tài
nguyên cơ sở hạ tầng cho sự hình thành của CDN Lớp này bao gồm các tài nguyên tính toán phân tán như, cụm máy chủ, máy chủ file, máy chủ chỉ mục, và cơ sở hạ tầng mạng cơ bản kết nối bằng mạng băng thông cao Mỗi nguồn tài nguyên này chạy phần mềm hệ thống như hệ thống điều
Trang 1818
hành, phân phối hệ thống quản lý tập tin, và lập chỉ mục và quản lý hệ thống nội dung
- Truyền thông & Khả năng kết nối: Là lớp cung cấp các giao thức internet
lõi (ví dụ TCP/UDP, FTP) cũng như các giao thức internet CDN cụ thể (ví
dụ như Internet Cache Protocol (ICP), Hypertext Caching Protocol (HTCP), và Cache Array Routing Protocols (CARP), và các giao thức xác thực như PKI (Public Key Infrastructures), hoặc SSL (Secure Sockets Layer) cho truyền thông, bộ nhớ đệm và phân phối nội dung và/hoặc dịch
vụ một cách xác thực Ứng dụng cấu trúc lớp phủ cụ thể cung cấp khả năng tìm kiếm và phục hồi hiệu quả cho nội dung được nhân rộng bởi duy trì các chỉ số phân phối
- Lớp CDN: Bao gồm các chức năng cốt lõi của CDN Nó có thể được chia
thành ba lớp con: dịch vụ CDN, loại CDN và các loại nội dung CDN cung cấp các dịch vụ cốt lõi như là lựa chọn thay thế, yêu cầu định tuyến, bộ nhớ đệm và vị trí cân bằng tải, và các dịch vụ cụ thể cho người sử dụng quản
lý SLA, chia sẻ tài nguyên và môi giới CDN Mạng CDN có thể hoạt động trong một lĩnh vực doanh nghiệp, nó có thể được cho mục đích học tập và/hoặc công cộng hoặc chỉ đơn giản là nó có thể được sử dụng như máy chủ rìa của nội dung và dịch vụ Mạng CDN cũng có thể được dành riêng
để chia sẻ tập tin dựa trên một kiến trúc peer-to-peer (P2P) CDN cung cấp tất cả các loại nội dung MIME (ví dụ như văn bản, âm thanh, video, vv) cho người sử dụng
- Người dùng cuối: Ở trên cùng của lớp kiến trúc CDN Trong lớp này,
chúng ta có những người sử dụng web người kết nối với các CDN bằng cách xác định các URL của trang web cung cấp nội dung, trong trình duyệt web của họ
Trang 19họ để gửi yêu cầu web của họ thông qua các bộ nhớ đệm thay vì gửi trực tiếp đến máy chủ gốc Khi cấu hình này được thực hiện đúng cách, toàn bộ phiên duyệt web của người dùng đi qua một bộ nhớ đệm cụ thể Như vậy, các bộ nhớ đệm chứa nội dung phổ biến nhất xem bởi tất cả những người sử dụng các bộ nhớ đệm Một nhà cung cấp cũng có thể triển khai các mức độ khác nhau tại địa phương, khu vực, quốc tế, bộ nhớ đệm tại các vị trí phân phối Điều này có thể cung cấp các cải tiến hiệu suất bổ sung và tiết kiệm băng thông
Một giải pháp mở rộng hơn là việc thành lập các máy chủ tập trung Nó là một loại mạng nội dung đó đã được sử dụng rộng rãi trong nhiều năm Một trang trại máy chủ bao gồm nhiều máy chủ web, mỗi người chia sẻ gánh nặng của việc trả lời các yêu cầu đối với các trang web tương tự Nó cũng sử dụng một thiết bị chuyển mạch để chuyển đổi nội dung kiểm tra theo yêu cầu nội dung và giải quyết nhanh gọn chúng nó trong các nhóm máy chủ Một máy chủ tập trung cũng có thể được xây dựng với những máy chủ đại diện thay vì một thiết bị chuyển mạch Cách tiếp cận này là linh hoạt hơn và cho thấy khả năng mở rộng tốt hơn Hơn nữa, nó cung cấp các lợi ích vốn có khả năng chịu lỗi
Mặc dù máy chủ tập trung và bộ nhớ đệm là những kỹ thuật hữu ích để giải quyết các vấn đề hiệu suất mạng trên các hệ thống web, nhưng còn những hạn chế Trong trường hợp đầu tiên, kể từ khi máy chủ được triển khai gần máy chủ gốc, họ không làm
Trang 20để hợp tác rõ ràng cho việc cung cấp nội dung cho người dùng
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 CDN Ngay sau đó họ nhận ra tính hữu dụng của nó thông qua việc nhận tăng độ 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 Do đó, một số sáng kiến khởi công cho phát triển cơ sở hạ tầng cho CDN như: Akamai Technologies đã phát triển ra một nỗ lực nghiên cứu tại MIT nhằm giải quyết các vấn đề tắc nghẽn Trong vòng một vài năm, một số công ty đã trở thành chuyên gia trong việc cung cấp nhanh chóng và đáng tin cậy cung cấp các nội dung, và CDN đã trở thành một thị trường khổng lồ để tạo ra doanh thu lớn Các sự kiện tắc nghẽn như vụ việc tại Mỹ 9/11 dẫn đến các vấn đề về bộ nhớ đệm nghiêm trọng cho một số trang web Điều này ảnh hưởng đến các nhà cung cấp CDN để đầu tư nhiều hơn vào cơ sở hạ tầng phát triển CDN, kể từ khi CDN cung cấp mức độ mong muốn về bảo vệ để chống lại các tấn công mạng CDN thế hệ đầu tiên chủ yếu tập trung vào dữ liệu web tĩnh hay động Mặt khác, đối với thế hệ thứ hai của CDN, trọng tâm đã chuyển sang Video-on-Demand (VoD),
âm thanh và video Nhưng họ vẫn còn đang trong giai đoạn nghiên cứu và chưa đạt đến thị trường nào
Với sự bùng nổ của các doanh nghiệp CDN, một số tiêu chuẩn hóa cũng xuất hiện
từ các nhà cung cấp Internet Engineering Task Force (IETF) là một cơ quan chính thức
đề xuất một số sáng kiến thông qua phát hành RFC (Request For Comments) Khác với IETF, một số tổ chức khác như diễn đàn dịch vụ băng thông rộng, ICAP forum, Internet Streaming Media Alliance đã sáng kiến để phát triển các tiêu chuẩn cho việc cung cấp nội dung băng thông rộng, truyền nội dung đa phương tiện: video, audio, và dữ liệu liên
Trang 211.2 Cấu trúc CDN
Một CDN thường kết hợp thông tin động về điều kiện mạng và tải máy chủ đệm,
để hướng yêu cầu và cân bằng tải giữa những máy chủ đại diện
Hình 4 cho thấy các 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 quyết định các thành phần của một CDN và hướng đến
tổ chức, loại máy chủ sử dụng, các mối quan hệ và 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
Trang 22cơ bản, quản lý được đơn giản hóa trong cách tiếp cận lớp phủ và nó sẽ mở ra cơ hội cho các dịch vụ mới Trong cách tiếp cận mạng, các thành phần mạng bao gồm các 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 các chính sách được xác định trước Trong trường hợp này, một phần tử mạng có thể hoạt động ở phía trước của một máy chủ tập trung và chuyển hướng yêu cầu nội dung để thay thế một máy chủ ứng dụng cụ thể gần đó
1.2.2 Máy chủ
Các máy chủ được sử dụng bởi một CDN gồm hai loại: máy chủ gốc và máy chủ bản sao Máy chủ chứa các phiên bản mới nhất của nơi dự trữ tài nguyên được gọi là
Trang 2323
máy chủ gốc, được cập nhật bởi các nhà cung cấp nội dung Một máy chủ được gọi là một máy chủ bản sao khi nó đang nắm giữ một bản sao của một tài nguyên nhưng có thẩm quyền cung cấp nội dung để hồi đáp cho khách hàng Các máy chủ gốc giao tiếp với các máy chủ phân phối bản sao để cập nhật các nội dung được lưu trữ trong đó Một máy chủ bản sao trong một CDN có thể phục vụ như là một máy chủ phương tiện truyền thông, máy chủ web hoặc như một máy chủ đệm Một máy chủ phương tiện truyền thông phục vụ bất kỳ nội dung kỹ thuật số và nội dung mã hóa Nó bao gồm các phần mềm máy chủ phương tiện truyền thông Một máy chủ web có chứa các liên kết đến các phương tiện truyền thông cũng như các nội dung trên web khác mà CDN muốn để xử lý Một máy chủ đệm làm cho các bản sao của nội dung ở rìa của mạng để tránh sự cần truy cập vào máy chủ gốc để đáp ứng mọi yêu cầu nội dung
Hình 5 Các giao thức tương tác được sử dụng trong một CDN
(a) Client đến thay thế cho máy chủ gốc; (b) Phần tử mạng đến bộ nhớ đệm; (c) Các mảng bộ nhớ đệm; (d) Các mắt lưới bộ nhớ đệm
Trang 2424
1.2.3 Quan hệ
Các kiến trúc phân tán phức tạp của một mối quan hệ khác nhau trong CDN thể hiện giữa các thành phần cấu thành của nó Các đại diện đồ họa của các mối quan hệ được thể hiện trong hình 5 Những mối quan hệ liên quan đến các thành phần như các máy khách, máy chủ thay thế, máy chủ gốc, bộ nhớ đệm và các phần tử mạng khác Các thành phần truyền để nhân rộng và dự trữ nội dung trong CDN Nhân bản liên quan đến việc tạo ra và duy trì bản sao của một số nội dung trên hệ thống máy tính khác nhau Nó thường liên quan đến việc 'đẩy' nội dung từ máy chủ gốc đến các máy chủ bản sao Mặt khác, bộ nhớ đệm lưu trữ liên quan đến đáp ứng để giảm thời gian phản ứng và tiêu thụ băng thông mạng trong tương lai, hoặc các yêu cầu tương đương
Một máy khách có thể giao tiếp với máy chủ thay thế cho các yêu cầu dành cho một hoặc nhiều máy chủ gốc Trường hợp thay thế không được sử dụng, máy khách liên lạc trực tiếp với các máy chủ gốc Việc máy chủ thay thế phục vụ máy khách yêu cầu từ bộ nhớ đệm của địa phương hoặc hoạt động như cổng vào đến máy chủ gốc Các mối quan hệ giữa các khách hàng, thay thế và các máy chủ gốc được thể hiện trong hình 5 (a)
Như đã biết, CDN có thể được hình thành bằng cách sử dụng một phương pháp tiếp cận mạng, được triển khai logic trong các yếu tố mạng (ví dụ như router, switch) để chuyển tiếp lưu lượng truy cập đến các máy chủ/proxy mà có khả năng phục vụ yêu cầu khách hàng Các mối quan hệ trong trường hợp này là một trong số các máy khách, phần
tử mạng và máy chủ đệm, được thể hiện trong hình 5 (b) Bộ nhớ đệm trong CDN có thể giao tiếp với nhau Một bộ nhớ đệm là một dịch vụ mạng lớp ứng dụng cho bộ nhớ đệm đối tượng web Bộ nhớ đệm có thể đồng thời truy cập và chia sẻ bởi nhiều người sử dụng
Dựa vào thông tin liên kết, bộ đệm có thể được sắp xếp theo các mảng (Hình 5 (c)), mạng lưới (Hình 5 (d)) được hình thành Một mảng bộ nhớ đệm là một sự sắp xếp chặt chẽ các bộ nhớ proxy Trong một mảng bộ nhớ đệm, bộ nhớ đệm có thẩm quyền đóng vai trò như một tổng thể để giao tiếp với bộ nhớ đệm khác Một lưới bộ nhớ đệm
là một sự sắp xếp ghép nối lỏng lẻo của các bộ nhớ đệm Không giống như các mảng bộ
Trang 2525
nhớ đệm, lưới bộ nhớ đệm được tạo ra khi các bộ nhớ đệm chỉ có một quan hệ với các bộ nhớ đệm khác Một máy chủ đệm hoạt động với một ngõ vào như một lưới bộ nhớ đệm và chuyển tiếp yêu cầu máy khách đến máy chủ đệm địa phương
Hình 6 Các giao thức tương tác khác nhau
1.2.4 Nội dung/loại dịch vụ
Nhà cung cấp CDN lưu trữ nội dung của bên thứ ba đối với giao nhanh bất kỳ nội dung kỹ thuật số, bao gồm - nội dung tĩnh, streaming media (ví dụ như âm thanh, video thời gian thực) và thay đổi các dịch vụ nội dung (ví dụ như dịch vụ thư mục, dịch
vụ thương mại điện tử, và dịch vụ chuyển file) Các nguồn của 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 đài truyền hình tin tức Sự khác nhau về nội dung và dịch vụ cung cấp đòi hỏi các CDN thông qua đặc điểm ứng dụng, kiến trúc và công nghệ cụ thể Vì lý do này, một số các CDN được dành riêng cho việc cung cấp nội dung và/hoặc dịch vụ cụ thể
- Nội dung tĩnh: 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 và/hoặc các file video rơi vào thể loại này Tần số của sự thay đổi về nội dung tĩnh là thấp Tất cả các nhà cung cấp CDN hỗ trợ kiểu phối nội dung Loại nội dung có thể được lưu trữ một cách dễ dàng và độ tươi của họ có thể được duy trì bằng cách sử dụng công nghệ bộ nhớ đệm truyền thống
Trang 2626
- Streaming media: streaming media là một thách thức cho CDN Streaming
media có thể trực tiếp hoặc theo yêu cầu Truyền thông trực tiếp được sử dụng cho các sự kiện sống như thể thao, các buổi hòa nhạc, kênh, và/hoặc phát sóng tin tức Trong trường hợp này, nội dung được gửi 'ngay lập tức'
từ các bộ mã hóa với máy chủ phương tiện truyền thông, và sau đó lên các phương tiện thông tin khách hàng Trong trường hợp truyền theo yêu cầu, nội dung được mã hóa và sau đó được lưu trữ dưới dạng tập tin media streaming trong các máy chủ media Các nội dung có sẵn theo yêu cầu từ các khách hàng media Theo yêu cầu nội dung media có thể bao gồm audio và/hoặc video theo yêu cầu, các tập phim và clip nhạc Các máy chủ streaming được thông qua với các giao thức chuyên ngành cho chuyển tải nội dung qua mạng IP
- Services: CDN có thể cung cấp tài nguyên mạng của nó để sử dụng như
một kênh phân phối dịch vụ và do đó cho phép các nhà cung cấp dịch vụ giá trị gia tăng làm ứng dụng của họ như là một dịch vụ cơ sở hạ tầng mạng Khi các máy chủ lưu trữ các phần mềm cạnh các dịch vụ giá trị gia tăng đối với phân phối nội dung, họ có thể hành xử như các máy chủ chuyển
mã, máy chủ gọi ra từ xa, hoặc các máy chủ thay thế Những máy chủ này cũng chứng minh khả năng xử lý và lưu trữ đặc biệt của các dịch vụ cơ sở
hạ tầng Internet giá trị gia tăng Dịch vụ cung cấp bởi CDN có thể là thư mục, lưu trữ web, chuyển tập tin, và các dịch vụ Người dùng truy vấn dữ liệu nhất định là hướng đến các máy chủ cơ sở dữ liệu và các 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ụ truyền tập tin thuận lợi cho việc phân phối trên toàn thế giới của phần mềm, các định nghĩa virus, phim theo yêu cầu, hình ảnh y khoa có nhiều chi tiết vv Công nghệ dịch vụ web được thông qua bởi một CDN cho duy trì và phân phối của chúng
Trang 2727
1.3 Phân phối nội dung
1.3.1 Môi trường ứng dụng của mạng phân phối nội dung
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ý
1.3.2 Các thành phần của mạng phân phối nội dung
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 Như vậy thành phần đầu tiên của mạng CDN là thiết kế nút CDN có khả năng mở rộng Thành phần tiếp theo của CDN là kỹ thuật định tuyến yêu cầu của người sử dụng đến một nút thay thế
Nhằm đạt hiệu suất hoạt động tốt nhất, yêu cầu phải được chuyển tới nút thay thế gần nhất Để làm được điều này mỗi mạng CDN phải duy trì và cập nhật một bảng định tuyến gồm danh sách các nút mạng và danh sách các máy khách cho từng nút mạng Nội dung của bảng định tuyến phải được cập nhật sửa đổi cho phù hợp với mức độ tải hiện thời của mạng và của các nút mạng CDN Do vậy thành phần thứ ba của giải pháp CDN
là việc đánh giá hoạt động mạng
1.3.2.1 Nút CDN
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
1.3.2.2 Định tuyến yêu cầu của người sử dụng
Cấu trúc của hệ thống định tuyến yêu cầu được chỉ ra trong Hình 7 Hình 7 thể hiện khái niệm tổng quan về hệ thống định tuyến yêu cầu, nó bao gồm các thành phần: Trao đổi cấu hình nội dung CTE (Content Topology Exchange), cơ sở dữ liệu cấu hình
Trang 2828
nội dung CTD (Content Topology Database) và tính toán định tuyến (route computation)
Hình 7 Cấu trúc hệ thống định tuyến yêu cầu
- Bước 1 Tính toán định tuyến: Tính toán để lựa chọn máy chủ sao lưu tốt
nhất cho các máy khách dựa trên các thông tin được lưu trữ trong cơ sở dữ liệu cấu hình nội dung, thuật toán tính toán định tuyến và các cách được định sẵn
- Bước 2 Cơ sở dữ liệu cấu hình nội dung: Dữ liệu cấu hình bao gồm thông
tin thông báo chi tiết nhận được từ các CDN lân cận và các thông số liên quan
- Bước 3 Trao đổi thông báo: Khối chức năng này chịu trách nhiệm về việc
thực thi giao thức trao đổi thông tin định tuyến yêu cầu
- Bước 4 Giao thức trao đổi thông tin định tuyến yêu cầu: Được sử dụng để
trao đổi các thông báo nội dung và thông báo vùng nội dung
Ta đi xem xét về các kỹ thuật định tuyến yêu cầu sử dụng để định hướng yêu cầu của máy khách tới các máy chủ sao lưu dựa trên một số phương pháp và một tập các tham số Thông thường, các kỹ thuật định tuyến yêu cầu có thể có các loại sau: định tuyến yêu cầu dựa vào vào hệ thống tên miền (DNS), định tuyến yêu cầu lớp truyền tải
và định tuyến yêu cầu lớp ứng dụng Quá trình định hướng các yêu cầu của máy khách tới các máy chủ sao lưu được gọi là định tuyến yêu cầu, định tuyến nội dung, hay đổi hướng nội dung
1.3.2.3 Sao lưu và nhớ đệm
Hai thành phần cơ sở hạ tầng nòng cốt được sử dụng trong mạng CDN là sao lưu
và nhớ đệm Trong rất nhiều trường hợp, cần có các bộ nhớ đệm và các dịch vụ sao lưu
Trang 2929
cùng tồn tại Máy khách có thể thông tin với một hoặc nhiều bản sao máy chủ gốc, cũng như là với chính các máy chủ gốc đó (Trong trường hợp vắng mặt các máy chủ sao lưu thì máy khách tương tác một cách trực tiếp với máy chủ gốc như trường hợp bình thường)
1.3.2.4 Hệ thống phân phối nội dung
Hệ thống 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
Hình 8 Quá trình phân phối nội dụng
Trang 3030
Hình 9 Quá trình phân phát nội dung
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ú ý rằng quá trình phân phối nội dung khác với phân phát nội dung 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 như trong Hình
Trang 3131
- Bướ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 4: Hệ thống 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 Hệ thống đị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
- Bước 2, 5: Hệ thống 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: Hệ thống 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
Có hai phương pháp để phân phối nội dung tới các máy chủ sao lưu đó là: Sử dụng mạng dành riêng hoặc sử dụng mạng internet công cộng
1.3.2.5 Hệ thống tính cước
Hệ thống tính cước đóng vai trò như thước đo và thực hiện ghi chép lại các thông tin về phân phối nội dung cũng như các hoạt động vận chuyển nội dung Các thông tin này là nền tảng cho việc chuyển lợi nhuận, nội dung cũng như các quyền lợi qua lại giữa hai bên là nhà cung cấp dịch vụ mạng và nhà cung cấp nội dung và cũng được sử dụng
để làm hóa đơn cho khách hàng Hệ thống tính cước chia ra làm nhiều hệ thống con phân phối trên toàn thế giới
Trang 3232
CHƯƠNG 2: THUẬT TOÁN LỰA CHỌN MÁY CHỦ CHO HỆ THỐNG MẠNG PHÂN TÁN DỮ LIỆU
2.1 Giới thiệu chương
Chương này sẽ trình bày về các phương pháp chọn lựa máy chủ cho lớp siễu
dữ liệu định tuyến dữ liệu của kiến trúc mạng phân phối nội dung được đề xuất lấy cảm hứng từ vấn đề multi-armed bandit
2.2 Các thuật toán lựa chọn máy chủ trong hệ thống mạng phân tán dữ liệu
Mô hình quản lý chất lượng trải nghiệm rất hiệu quả và không thể thiếu trong mỗi hệ thống mạng ngày nay Nó mang lại trải nghiệm người dùng để đảm bảo sự thỏa mãn của người dùng cuối thay vì chỉ tập trung vào các thông số kỹ thuật như các
hệ thống chất lượng dịch vụ hiện tại Trong thực tế, như đã được chứng minh trước đây, thỏa mãn người dùng cuối là xu hướng phát triển mới cho Internet cũng như các ứng dụng chất lượng cao đang dần xuất hiện Tuy nhiên, mô hình quản lý chất lượng trải nghiệm sẽ là trừu tượng nếu nó không được áp dụng cho bất cứ kiến trúc mạng nào Trong giới hạn của luận văn, tôi sẽ triển khai giải thuật chọn lựa máy chủ cho hệ thống mạng phân phối dữ liệu, một trong những thể hiện của mô hình quản lý chất lượng trải nghiệm
CDN được coi là giải pháp lấy người dùng làm trung tâm bằng việc chuyển
dữ liệu từ máy chủ gốc đến các máy chủ gần với người dùng Cách tiếp cận này được
sử dụng để cải thiện khả năng mở rộng của dịch vụ mạng do thực tế là nó có thể cung cấp dịch vụ cho một lượng lớn khách hàng với chất lượng dịch vụ hợp lý Trên thực
tế, các yêu cầu của người dùng được chuyển đến các máy chủ đại diện thay vì được gửi tới máy chủ gốc Điều đó giúp cho các hệ thống tránh tắc nghẽn cũng như những
sự cố quá tải tại mạng trung tâm và phía máy chủ Ngoài ra, phương pháp liên quan đến cache giảm thiểu thời gian trễ Về mặt lý thuyết, một kiến trúc CDN có hai lớp
Trang 3333
chính: lớp định tuyến và lớp siêu dữ liệu định tuyến Lớp thứ hai bao gồm một số phân hệ chứa thông tin vị trí máy chủ, tổ chức bộ nhớ cache và chọn lựa máy chủ Hai phân hệ đầu tiên thuộc về giai đoạn liên quan tới chuẩn bị Chính xác hơn, các phân hệ máy chủ cố gắng đặt máy chủ đại diện một cách tối ưu hóa để giảm thiểu sự phân phối chậm trễ và sự tiêu thụ băng thông Các nhà cung cấp sử dụng các phân hệ quản lý bộ nhớ cache để tổ chức các nội dụng được lưu trữ trong các máy chủ đại diện để đảm bảo tính sẵn sàng, tính mới mẻ và độ tin cậy của nội dung Bên cạnh hai phân hệ liên quan đến chuẩn bị, luận văn tập trung vào phân hệ lựa chọn máy chủ, phân hệ đóng vai trò vô cùng quan trọng trong giai đoạn hoạt động của hệ thống mạng phân phối dữ liệu Mục tiêu cơ bản của lựa chọn máy chủ rõ ràng là để cung cấp hiệu suất tốt hơn so với máy chủ gốc Một giá trị nữa của quá trình chọn lựa máy chủ là giúp cho giảm chi phí tài nguyên mạng Không phải là dễ dàng để chọn một máy chủ thích hợp để cung cấp dịch vụ cho người sử dụng Máy chủ phù hợp có thể không phải là máy chủ gần người dùng nhất hay máy chủ tải ít nhất Máy chủ tốt nhất là máy chủ làm cho người sử dụng cuối hài lòng khi sử dụng dịch vụ được cung cấp Vì vậy, quá trình lựa chọn máy chủ đóng một vai trò quan trọng trong việc quyết định
sự thành công của một CDN Bây giờ, chúng ta sẽ phân tích một số nghiên cứu liên quan về các phương pháp lựa chọn máy chủ trong bối cảnh của CDN Sau đó là phần nội dung giải thích động lực của luận văn để phát triển một chương trình lựa chọn máy chủ dựa trên bài toán MAB
Zhou và cộng sự đưa ra một phương pháp lựa chọn máy chủ sử dụng thông tin tải của máy chủ đại diện để lựa chọn máy chủ phù hợp Phương pháp này sử dụng một khung tổng hợp các máy chủ đáng tin cậy có tên RserPool Thật không may, phương pháp này không phải lúc nào cũng khả thi vì khả năng truy cập của các máy chủ CDN không phải là luôn sẵn sàng Ngoài ra, máy chủ tiến hành thăm dò hay kiểm tra với một tần suất cao cũng làm tăng tải của máy chủ
Han và cộng sự đưa ra một phương pháp lựa chọn máy chủ sử dụng RTTs (Round Trip Times) giữa máy trạm và các máy chủ để lựa chọn máy chủ có RTT nhỏ
Trang 34Wendell và cộng sự đề xuất một hệ thống phân phối được gọi là DONAR có
sử dụng thuật toán mà có tính toán tới cả hiệu suất của phía khách hàng (ví dụ, do những thay đổi đột ngột trong tỷ lệ yêu cầu từ phía khách hàng) và tải máy chủ Hệ thống này triển khai các nút ánh xạ để phục vụ việc lựa chọn máy chủ Thuật toán này có thể duy trì một trọng số phân chia các yêu cầu tới một bản sao máy trạm Phương pháp tiếp cận này sử dụng một chức năng đánh trọng số để phục vụ việc ra quyết định lựa chọn Vì vậy, lựa chọn vector trọng số phù hợp là một vấn đề của phương pháp này bởi vì ta không thể có được một giải pháp tối ưu
Trong một số dự án như dự án RingServer tại Nhật Bản, cơ chế Round Robin (cơ chế điều phối xoay vòng) đã được sử dụng trong một chính sách lựa chọn máy chủ Tuy nhiên, vì mỗi máy chủ được lựa chọn bởi một lớp thuật toán Round Robin, các tiêu chuẩn mạng và tải máy chủ đều bị bỏ qua Chính sách đơn giản này không thể áp dụng được cho một hệ thống mạng lưới năng động như CDN
Guo và cộng sự thiết kế và đánh giá các kỹ thuật lựa chọn máy chủ với một số
cố định các kênh để nhân rộng các máy chủ VoD (Video on Demand) Các tác giả đề xuất một vài kỹ thuật heuristic (tự tìm tòi - một phương pháp giải quyết vấn đề bằng cách đúc rút kinh nghiệm thực tế) để tìm ra một chính sách tốt hơn chính sách cơ bản (luôn luôn hướng các yêu cầu tới các máy chủ gần nhất) Tương tự như vậy, G Pierre
và các cộng sự đề xuất Globule trong đó các máy chủ gần nhất luôn luôn được lựa chọn Tuy nhiên, các máy chủ gần nhất không phải lúc nào cũng là máy chủ có chất lượng tốt nhất
Trang 3535
Tất cả các phương pháp giới thiệu trên đều chỉ xem xét các tiêu chí QoS, như các thông số mạng lưới và máy chủ, như các thước đo về hiệu suất để tối ưu hóa, nhưng không phải là QoE, cái đại diện cho cảm nhận của người dùng cuối thực sự Các giả định được thực hiện đằng sau quyết định này là một thước đo QoS tốt tạo nên một hiệu suất QoE tốt Tuy nhiên, giả thuyết này không phải lúc nào cũng đúng bởi
vì dữ liệu được chuyển cho người dùng cuối thông qua mạng trong các bối cảnh khác nhau Vì vậy, bối cảnh người dùng cuối mang tính chủ quan cần được xem xét một cách cẩn thận, hoặc ít nhất không bị bỏ quên Ngoài ra, các phương pháp trên không tính đến sự cân bằng giữa “thăm dò” và “khai thác” ( tìm ra cân bằng giữa kiến thức chưa được thăm dò và kiến thức hiện tại), cái phải được tính trong bất kỳ công việc đưa ra quyết định trực tuyến nào như trong một môi trường CDN Kết quả là thúc đẩy một đề xuất một thuật toán lựa chọn máy chủ mới, trong đó có xem xét cảm nhận của người dùng cuối cũng như việc cân bằng giữa việc khai thác – thăm dò Với mục đích này, ta phải dùng một thuật toán lựa chọn dựa trên phương pháp học tập
Lấy ví dụ về vấn đề học tập, chúng ta phải lặp đi lặp lại lựa chọn giữa rất nhiều
tùy chọn khác nhau (hành động) Sau mỗi sự lựa chọn, chúng ta nhận được một phần
thưởng kiểu số của một phân bố xác suất cố định phụ thuộc vào hành động được lựa chọn Mục đích là để tối đa hóa tổng phần thưởng mong đợi trong một khoảng thời gian Đây là hình thức của vấn đề MAB trong luận văn để áp dụng vào vấn đề chọn lựa máy chủ trong CDN
Sau đây sẽ là nội dung trình bày về MAB và giải thích tại sao lại chọn MAB
để thể hiện giải thuật chọn lựa Tiếp đó, luận văn sẽ tập trung vào giải thuật chọn lựa máy chủ được đề xuất
2.3 Giải thuật Multi-Armed Bandit
Vấn đề MAB lấy thuật ngữ từ sòng bạc Thuật toán có thể xem như một con bạc phải đối mặt với 1 dãy các máy, mỗi máy có một cần gạt và khi được gạt, mỗi máy sẽ cung cấp một phần thưởng ngẫu nhiên phụ thuộc vào xác suất thưởng của riêng mình Nhiệm vụ của các con bạc là học được máy nào là tốt nhất và kiếm được
Trang 3636
nhiều đồng tiền nhất với số lần gạt là ít nhất Trên thực tế, rất nhiều các phương pháp học tập cũng như các vấn đề tối ưu hóa được chính thức hóa bằng cách phương pháp này
Trong giai đoạn đầu của vấn đề MAB, các con bạc không có kiến thức ban đầu
về các máy Sự chọn lựa quan trọng các con bạc phải đối mặt mỗi lần gạt là “khai thác” máy có tiền thưởng dự kiến cao nhất và thăm dò để lấy thêm thông tin về các phần thưởng dự kiến của các máy khác Sự cân bằng giữa “khai thác” và “thăm dò”
cũng phải đối mặt với việc tăng cường học tập
Multi-Armed Bandits được ứng dụng trong nhiều lĩnh vực:
- Trong thử nghiệm lâm sàng, cố gắng tìm ra cách điều trị hiệu quả nhất mà
mất thời gian ít nhất cũng như mất ít bệnh nhân nhất
- Quản lý tổ chức lớn với nhiều dự án cạnh tranh trong cùng một ngân sách
- Đề xuất các tin tức trực tuyến
- Tối ưu hóa thứ hạng tìm kiếm trong các bộ máy tìm kiếm
Thông thường, MABs được sử dụng trong các tình huống mà bạn không thể
sử dụng các thuật toán học máy cổ điển bởi vì vấn đề cần giải quyết chỉ có trong các ngữ cảnh mà bạn không thể lấy mẫu với mỗi hành động khả thi Điều đó có nghĩa là tại mỗi bước bạn phải ra quyết định và chọn cần gạt mà không bao giờ biết được điều
gì sẽ xảy ra nếu bạn chọn một cần gạt khác
Phần này sẽ trình bày ngắn gọn về các khái niệm và các công thức chung của MAB và cũng thảo luận về một số chính sách chung của vấn đề MAB