2.2.1 Chất lượng dịch vụ là gì?
Chất lượng dịch vụ - Quality of service (QOS) – là một chỉ số đo lường chức năng kiểm soát và phân bổbăng thông mạng để cung cấp mức dung lượng dữ liệu trong chức năng dự kiến, dựa trên tầm quan trọng của quá trình nghiệp vụ [6].
Khi lưu lượng thông tin quá lớn, chức năng cân bằng tải có thể giúp chuyển hướng dòng thông tin sang server khác và giảm bớt tình trạng tắt nghẽn cổ chai. Một vài bộ chuyển mạch có chức năng phân biệt được dòng thông tin, ví dụ giao thức truyền tập tin FTP, giao thức siêu văn bản HTTP Web mà chúng ta vẫn thường dùng và chuyển hướng chúng theo những quy tắc đã được định trước. Hiệu quả sử dụng mạng được cải thiện rất tốt, tuy nhiên thực chất ởđâu?
QoS cho phép các nhà quản trị điều khiển dòng thông tin ở mức độ căn bản hơn, xác định phương thức để dòng thông tin của một ứng dụng nào đó đi qua các bộđịnh tuyến và chuyển mạch của mạng.
Tuy nhiên, QoS còn liên quan đến nhiều yếu tố khác chứ không chỉ là việc quyết định dòng thông tin nào sẽđi qua cổng nối trước tiên. Nó là nền tảng cho chính sách vận hành mạng, một chính sách sẽxác định cách thức sử dụng tài nguyên mạng trong những điều kiện đặc biệt với mức băng thông được phân bổ.
Nhà quản trị mạng có thể cung cấp dựa vào giá trị nghiệp vụ của dòng dữ liệu – ví dụ cấp quyền ưu tiên cho giao dịch mua bán cổ phiếu cao hơn yêu cầu thông tin.
Các chính sách cũng có thể nhận biết một vài dòng dữ liệu có thểthay đổi về dung lượng và tầm quan trọng vào những thời điểm khác nhau. Ví dụ, dòng thông tin bán hàng có thể có mức ưu tiên cao hơn của kế toán ngoại trừ những thời điểm vào cuối mỗi quý khi mà bộ phận kế toán phải tính toán và làm báo cáo.
2.2.2 Tầm quan trọng của QoS đối với dịch vụ web
Với sự phát triển nhanh phóng và phổ biến của công nghệ dịch vụ web, Chất lượng các dịch vụ web sẽ trở thành một yếu tố quan trọng trong việc đánh giá sự thành công của các nhà cung cấp dịch vụ web. QoS sẽ quyết định đến chức năng sử dụng và tính hữu ích của dịch vụ, cả hai yếu tốnày đều ảnh hưởng đến tính phổ biến của một dịch vụ web.
Trong thời đại hiện nay, với sự phát triển mạnh mẽ của thương mại điện tử, một yêu cầu đặt ra là phải làm sao có thể tích hợp liền mạch các quy trình thương mại, các ứng dụng thương mại điện tử và các dịch vụ web thông qua môi trường Internet. Việc đánh giá chất lượng một dịch vụ web là một thách thức lớn, vì môi trường Internet cùng các ứng dụng Web–Base ngày càng phát triển mạnh mẽ, cũng chính vì thế nên các yêu cầu về chất lượng dịch vụ cũng luôn thay đổi và không thể dự đoán theo cách tự nhiên được. Các ứng dụng với các đặc điểm và yêu cầu riêng biệt sẽ cạnh tranh nhau về tài nguyên mạng vốn đã rất hạn chế. Sự thay đổi lưu lượng thông tin trên mạng, tấn công từ chối dịch vụ, ảnh hưởng của cơ sở hạ tầng công nghệ thông tin yếu kém và vấn đề an ninh cho các ứng dụng Web đã tạo ra sự cần thiết của việc đưa ra các chuẩn chất lượng cho các dịch vụ trên Internet. Thông thường, khi không đáp ứng được các yêu cầu QoS là một nguyên nhân then chốt dẫn tới các giao tác có hiệu suất hoạt động thấp.
Với các chuẩn như SOAP, UDDI và WSDL đã được thống nhất sử dụng trong các lĩnh vực của dịch vụ web– bao gồm các dịch vụ tài chính, công nghệ cao, đa phương tiện và giải trí. Tất cả các dịch vụ web đang cần phải được gắn kết với nhau để trở thành chuẩn, QoS sẽ là một yếu tố then chốt để đánh giá sự thành công cũng như sự khác nhau về chất lượng phục vụ của các dịch vụ Web.
2.2.3 Các yêu cầu về chất lượng dịch vụ của dịch vụ web
Các yêu cầu về chất lượng dịch vụ của dịch vụ web phải đáp ứng được các yêu cầu dưới sau [7]:
Tính sẵn sàng: Tính sẵn sàng thể hiện một khía cạnh của chất lượng dịch vụ, tính sẵn sàng mô tả dịch vụ có sẵn để dùng tại một thời điểm cụ thể hay không. Tính sẵn sàng mô tả xác suất mà dịch vụ sẵn sàng phục vụ. Trong tính sẵn sàng, một giá trị thời gian được dùng để mô tả liệu một dịch vụ có sẵn sàng để phục vụ hay không. Nếu giá trị lơn hơn tức là dịch vụ luôn sẵn sàng để sử dụng, ngược lại nếu giá trị nhỏ hơn tức là không thể dựđoán được liệu dịch vụ có sẵn trong khoảng thời gian cụ thể hiện tại hay không. Thông thường, người ta thường sử dụng một đại luợng thời gian để kết hợp với tính sẵn sàng của một dịch vụ, đại lượng thời gian đó được gọi là Thời gian phục hồi (TTR - Time to Repair ). TTR mô tả khoảng thời gian được dùng để phục hồi một dịch vụ web nếu có lỗi xảy ra. Thời gian phục hồi lý tưởng và được mong đợi là thời gian phục hồi có giá trị nhỏ.
Tính truy cập được: Tính truy cập được thể hiện khía cạnh chất lượng dịch vụ qua mức độ, khả năng phục vụ các yêu cầu dịch vụ web. Nó diễn tả khả năng ước lượng bao gồm tốc độ thành công hoặc sựthay đổi thành công của một dịch vụ cụ thể trong một thời điểm. Tính truy cập được còn được thể hiện thông qua tính sẵn sàng của dịch vụ Web. Một dịch vụ web có tính truy cập cao khi hệ thống triển khai dịch vụ web đó có độ mềm dẻo cao. Độ mềm dẻo tham chiếu tới khả năng phục vụ các yêu cầu một cách nhất quán mặc dù có thể có nhiều yêu cầu khác nhau cùng tồn tại trong một tập hợp các yêu cầu.
Tính toàn vẹn: Tính toàn vẹn là một khía cạnh chất lượng của một dịch vụ đảm bảo sự đúng đắn trong tương tác tác về tài nguyên. Sự thực thi đúng đắn của các giao tác dịch vụ web sẽ cung cấp tính đúng đắn trong các tương tác. Một giao tác sẽ tham chiếu tới trình tự làm việc của các thao tác được xử lý như một đơn vị công việc độc lập. Tất cả các hoạt động được hoàn thành để tạo sự thành công cho một giao tác. Khi một giao tác không được thực hiện thành công, tất cả các thay đổi sẽđược phục hồi lại trạng thái ban đầu.
Tính thực thi: Tính thực thi thể hiện một khía cạnh chất lượng dịch vụ mà nó dùng đểđo lường giới hạn của thông lượng và độ trễ. Giá trị thông lượng cao hơn và độ trễ thấp thể hiện một dịch vụ web hoạt động tốt. Thông lượng mô tả sốlượng yêu cầu dịch vụ web phục vụ tại một đơn vị thời gian định kì. Đỗ trễ là thời gian xoay vòng giữa việc gửi yêu cầu và nhận các đáp ứng.
Tính tin cậy: Tính tin cậy là một khía cạnh của chất lượng dịch vụ mô tả khả năng đảm bảo dịch vụ và chất lượng dịch vụ. Tính tin cậy được tính qua số lượng lỗi trên một tháng hay một năm. Theo hướng tiếp cận khác tính tin cậy tham chiếu đến việc phân phát đúng đắn và đảm bảo các thông điệp sẽđược gửi và nhận bởi các dịch vụ yêu cầu và các dịch vụđáp ứng.
Tính linh động: Tính linh động thể hiện chất lượng dịch vụ ở khía cạnh dịch vụ có thể thích ứng với các luật, các quy tắc và khảnăng kết hợp chuẩn và thiết lập các dịch vụ mức cao hơn. Dịch vụ web sử dụng một số chuẩn như SOAP, UDDI, WSDL. Sự tuân thủ ngặt nghèo các chuẩn đểđảm bảo tính đúng đắn của các phiên bản (VD SOAP V1.2) bởi các nhà cung cấp dịch vụ web là một yếu tố cần thiết cho các yêu cầu đúng đắn của dịch vụ web từngười yêu cầu dịch vụ web.
Tính an toàn: Tính an toàn của dịch vụ web thể hiện ở cơ chế bảo mật, thẩm định quyền, mã hoá thông điệp và cung cấp quyền truy cập. Tính an toàn rất quan trọng bởi vì dịch vụ web được gọi ra trên Internet. Các nhà cung cấp dịch vụ Web có thểcó các hướng tiếp cận khác nhau đểđảm bảo độ an toàn cho các dịch vụ web.
2.2.4 Dịch vụ Web có cho phép QoS
WSDL quy định ký hiệu cú pháp nhưng không quy định ngữ nghĩa hay khía cạnh phi chức năng nào. Các dịch vụ web có cho phép QoS yêu cầu một vài ngôn ngữ QoS khác nhau để trả lời một số các câu hỏi sau [7]:
Thời gian trễ mong chờ là bao nhiêu?
Khoảng thời gian roundtrip-time chấp nhận được là bao nhiêu?
Lập trình viên cần phải có khảnăng hiểu được các đặc điểm QoS của dịch vụ web trong quá trình phát triển các ứng dụng gọi dịch vụ web.
Trên lý tưởng, thì dịch vụ web có cho phép QoS hỗ trợ nhiều kiểu ứng dụng khác nhau với các yêu cầu QoS khác nhau, các quy tắc giao tiếp khác nhau và tài nguyên máy tính khác nhau.
2.2.5 Điều chỉnh và thiết lập ràng buộc QoS
Dưới đây là các bước mà các dịch vụ web phải thực hiện trong quá trình thiết lập ràng buộc sử dụng một nền tảng các dịch vụ web có cho phép QoS [7]:
Người yêu cầu dịch vụ đưa ra yêu cầu thiết lập liên kết ràng buộc bằng cách thiết lập tham chiếu tới một giao diện dịch vụ web. Những yêu cầu này chỉ chứa các quy định về QoS.
QoS broker tìm kiếm các nhà cung cấp dịch vụ trong UDDI.
QoS broker thực thi việc thương lượng chất lượng dịch vụnhư sau:
o QoS broker dịch vụ web so sánh các QoS của các nhà cung cấp dịch vụ với các yêu cầu QoS mà nó đặt ra, và sử dụng thông tin nội bộ của nó để quyết định chấp nhận QoS. Quá trình này được gọi là thương lượng QoS.
o Nếu quá trình thương lượng chất lượng dịch vụ thành công, người yêu cầu dịch vụ và nhà cung cấp dịch vụ sẽ được thông
báo rằng quá trình thương lượng đã thành công và ràng buộc QoS giữa 2 phía đã được thiết lập. Từ lúc này trở đi, các đối tượng này có thểtương tác với nhau thông qua liên kết đó.
2.2.6 Phương pháp tiếp cận để cung cấp QoS cho dịch vụ web
Các nhà cung cấp dịch vụ trên nền web có thể có các phương pháp tiếp cận khác nhau để cung cấp QoS cho các dịch vụ web tuỳ vào nhu cầu về từng loại dịch vụ. Hiện tại hai phương pháp đảm bảo chất lượng dịch vụ đang được sử dụng rộng rãi đó là cân bằng tải và sử dụng bộ nhớ đệm. Hai phương pháp này đều có khả năng thực thi tốt tại cả mức độ đó là Web Server và các ứng dụng của Web server. Phương pháp cân bằng tải thể hiện qua mức độ ưu tiên của lưu lượng và đảm bảo mỗi yêu cầu đều được giải quyết một cách thích hợp tuỳ vào mức độtài nguyên đối với yêu cầu đó[7].
Một nhà cung cấp dịch vụ web có thể thực thi mô hình năng lực để tạo ra một mô hình thông lượng yêu cầu, sử dụng khảnăng hiện thời, kết quả của QoS theo hướng top-down. Nhà cung cấp dịch vụ cũng có thể phân loại thông lượng dịch vụ web bằng số lượng thông lượng, thông lượng hoặc sự khác nhau giữa các loại ứng dụng dịch vụ, và thông lượng từ các nguồn tài nguyên khác nhau. Điều này sẽ giúp cho việc hiểu được khả năng yêu cầu để cung cấp một chất lượng dịch vụ tốt cho các luồng traffic đồng thời có thể xây dựng được một kế hoạch cung cấp chất lượng dịch vụtrong tương lai, ví dụnhư xác định chuỗi các yêu cầu liên tiếp để phân cụm ra các server phục vụ.
Mỗi một yêu cầu nghiệp vụ khác nhau cũng sẽ có các yêu cầu về QoS khác nhau cho từng loại nghiệp vụ, việc dựa trên khảnăng mô hình hoá của QoS có thể đảm bảo tiếp cận về mức độ QoS cho các ứng dụng và các khách hàng khác nhau. Ví dụ: một dịch vụ web cung cấp các dịch vụ đa phương tiện thì thường yêu cầu QoS thiên về thông lượng tốt, tuy nhiên với các dịch vụ web cung cấp các dịch vụ ngân hàng thì yêu cầu QoS thường thiên vềđảm bảo độ an toàn cho các giao dịch.