BỘ 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
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
2
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
3
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
4
Danh mục các ký hiệu, các chữ viết tắt
Ý nghĩa
Từ viết tắt
CDN
Content Delivery Networks
MAB
Multi-Armed Bandit
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
5
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
6
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
7
-
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.
8
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
9
muốn xuất bản và chuyển tải nội dung đến người dùng cuối trên Internet một cách
đáng tin cậy và kịp thời.
1.1. Giới thiệu chung
1.1.1. Định nghĩa CDN
Mạng CDN là một tập hợp các phần tử mạng được sắp xếp để phân phối nội
dung hiệu quả hơn cho người dùng. Việc phối hợp giữa các thành phần mạng CDN
phân tán có thể xảy ra trên các nút trong cả hai môi trường đồng nhất và không đồng
nhất. Mạng CDN có thể có nhiều hình thức và cấu trúc khác nhau
Cá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.
10
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
11
Trong mạng CDN có nhiều các máy chủ thay thế được đặt ở các vị trí khác
nhau. Các máy chủ thay thế thường có nội dung như nhau, tuy nhiên khách hàng chỉ
có thể kết nối một số máy chủ thay thế phù hợp theo chính sách của nhà cung cấp
CDN.
CDN là một mạng nội dung thông minh, nó cung cấp một lớp thông minh ở
trên cơ sở hạ tầng mạng, chuyển đổi mô hình web tập trung truyền thống thành mạng
hướng nội dung và phân bố nội dung một cách có hiệu quả. Trong kỷ nguyên thông
tin, một giải pháp mạng CDN cho phép các doanh nghiệp, các nhà cung cấp dịch vụ
nội dung điều khiển nội dung của họ và quản lý nó. Các mạng CDN cho phép các
doanh nghiệp:
-
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.
12
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
bị nghẽn.
Nhà cung cấp mạng CDN đảm bảo phân phối nội dung kỹ thuật số bất kỳ một
cách nhanh chóng. Họ lưu trữ nội dung của bên thứ ba bao gồm các nội dung tĩnh (ví
dụ 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), dữ liệu đa
phương tiện (ví dụ như âm thanh, video thời gian thực), video người dùng tạo, và các
dịch vụ nội dung (ví dụ như dịch vụ thư mục khác nhau, thương mại điện tử dịch vụ,
dịch vụ chuyển file). Các nguồn của nội dung bao gồm các doanh nghiệp lớn, các nhà
cung cấp dịch vụ web, các công ty truyền thông và các đài truyền tin tức. Người dùng
cuối có thể tương tác với mạng CDN bằng cách xác định các yêu cầu nội dung/dịch
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
13
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
14
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.
15
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.
16
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
17
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ọ.
18
1.1.5. Quá trình phát triển CDN
Một số các mạng nội dung nỗ lực giải quyết các vấn đề hiệu suất thông qua sử
dụng các cơ chế khác nhau để cải thiện chất lượng dịch vụ (QoS). Một cách tiếp cận là
để sửa đổi các kiến trúc web truyền thống bằng cách cải thiện các phần cứng máy chủ
web, thêm bộ xử lý tốc độ cao, bộ nhớ và không gian đĩa, hoặc thậm chí có một hệ thống
đa xử lý. Bộ nhớ đệm bằng cách triển khai một ISP có thể mang lại lợi ích cho người sử
dụng băng thông truy cập Internet hẹp. Để cải thiện hiệu suất và giảm việc sử dụng băng
thông, bộ nhớ đệm proxy được triển khai gần người sử dụng. Bộ nhớ đệm cũng có thể
được trang bị với công nghệ phát hiện lỗi của máy chủ và tối đa hóa hiệu quả sử dụng
các nguồn tài nguyên bộ nhớ đệm proxy. Người dùng thường cấu hình trình duyệt của
họ để 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
19
gì để cải thiện hiệu suất mạng do tắc nghẽn mạng. Bộ nhớ đệm có thể có ích trong trường
hợp này. Nhưng chúng lưu trữ các đối tượng dựa trên nhu cầu của khách hàng. Điều này
có thể buộc các nhà cung cấp nội dung với một nguồn nội dung phổ biến để đầu tư vào
máy chủ tập trung quy mô lớn, cân bằng tải, và các kết nối băng thông cao để theo kịp
với nhu cầu. Để giải quyết những hạn chế này, một dạng khác của mạng nội dung đã
được triển khai vào cuối năm 1990. Đây được gọi là mạng nội dung phân phối hoặc
mạng phân phối nội dung, mà là một hệ thống máy tính nối mạng với nhau qua Internet
để 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
20
- Xem thêm -