Kiến trúc middleware đảm bảo QoS

Một phần của tài liệu Xây dựng hệ các điều kiện giới hạn phục vụ phân bố lưu lượng dịch vụ IP internet (Trang 71)

Kiến trúc Middleware tổng quát cho phép thực hiện tương thích QoS theo các

ứng dụng trong các hệ thống đa phương tiện phân tán được đề xuất trong [97] gồm hai lớp, như mô tả trong hình 3-2.

Lớp thứ nhất (lớp ứng dụng chung) có bộ điều khiển tương thích ứng dụng

chung và bộ đánh giá tài nguyên hỗ trợ tương thích tài nguyên lớp thấp bằng cách

phản ứng với những thay đổi về độ sẵn sàng của tài nguyên.

Hình 3-2. Kiến trúc middleware tương thích QoS theo ứng dụng

Lớp thứ hai (lớp ứng dụng cụ thể) có bộ thao tác ứng dụng, các profiler của ứng dụng và bộ đàm phán chịu trách nhiệm thực hiện tương thích chức năng ở mức cao đối với mỗi ứng dụng, kể cả ra quyết định (khi nào và chức năng ứng dụng nào

Ứng dụng (VideoStream, …)

Bộ thao tác (ứng dụng cụ thể) Cơ chế điều khiển

Profiler Bộ đàm phán Lớp ứng dụng Hệ thống đầu cuối khác Lớpứng dụng cụ thể Lớp ứng dụng chung

Tài nguyên mạng/hệ thống đầu cuối

Bộ điều khiển tương thích Bộ đánh giá

tài nguyên

Thông tin tài nguyên hệ thống

Lớp phân bố/Lớp cơ sở hạ tầng

(CORBA, COM) Kernel/OS

Lớp Middleware tương thích nhận biết ứng dụng

được tham gia vào cung cấp dịch vụ) dựa trên các yêu cầu của ứng dụng cụ thể

đang chạy được lưu giữ trong profiler của ứng dụng đó. Tương tác giữa các thành

phần của middleware và ứng dụng được thực hiện thông qua một platform cho phép

thực hiện các dịch vụ truyền thông, ví dụ như CORBA.

Với kiến trúc hai lớp như trên (điều khiển tương thích chung và thao tác ứng dụng cụ thể), các hoạt động do các thành phần này tạo ra sẽ thực hiện điều khiển tương thích chất lượng dịch vụ đối với tất cả các ứng dụng chia sẻ cùng một nguồn

tài nguyên ở hệ thống đầu cuối, đồng thời điều khiển tương thích chất lượng dịch vụ

đối với từng dịch vụ cụ thể dựa trên những tham số cấu hình được thiết lập trong

file cấu hình. Các thành phần của kiến trúc Middleware như trên phù hợp với các

thành phần trong mô hình chung cho tương thích QoS đã được đề xuất [97]. Một ứng dụng triển khai trên hệ thống middleware đảm bảo chất lượng được phát triển theo hai giai đoạn. Đó là giai đoạn xây dựng và giai đoạn chạy ứng dụng.

a.) Giai đoạn xây dng ng dng

Người phát triển ứng dụng chỉ ra các tham số QoS, các cấu hình và môi trường có khả năng áp dụng ứng dụng. Các đặc điểm này được biên dịch bởi bộ biên dịch QoS (một công cụ đã phát triển kèm theo middleware), thành các biểu diễn bên

trong để chèn vào middleware và được sử dụng khi chạy ứng dụng.

b.) Giai đoạn chạy ứng dụng

QoS Middleware thực hiện thiết lập QoS và tương thích cho ứng dụng. Thiết

lập QoS thực hiện trước khi thực hiện ứng dụng, trong khi tương thích QoS được

kích hoạt do sự thay đổi tài nguyên, di chuyển của người sử dụng hay thay đổi đặc

điểm của người sử dụng trong quá trình chạy ứng dụng.

3.3.2. Các cơ chế điều kiện tương thích trong hệ thống QoS Middleware

a). Xác định các đặc điểm QoS của ứng dụng

Trong giai đoạn phát triển ứng dụng, đặc điểm QoS của ứng dụng được cung

cấp. Định dạng đặc điểm QoS thay đổi trong các hệ thống QoS Middleware khác

[77]; trong Agilos, QoS được định nghĩa qua các quy tắc và các chức năng tương

ứng [22]; trong khi ở trong Q-RAM, QoS được trình bày bởi các chức năng sử dụng

tài nguyên [83]. Tuy nhiên các đặc điểm QoS của ứng dụng có chung các đặc tính

về đặc điểm QoS của một ứng dụng cụ thể, định dạng QoS của ứng dụng thì được

thay đổi theo từng nhóm ứng dụng và đặc điểm QoS mức ứng dụng được biên dịch

thành tham số QoS mức hệ thống.

Đối với các ứng dụng chạy trong môi trường có kích thước lớn, đặc điểm QoS của chúng được biểu diễn bao gồm Mô tả ứng dụng (chi tiết hóa một tập thành phần hệ thống tham gia, các tham số QoS chuyển đổi từ mức QoS người sử dụng cảm nhận được), Các chính sách tương thích ứng dụng (chỉ ra điều kiện ứng dụng phải tương thích) và Mẫu trạng thái của ứng dụng (các thông tin trạng thái cần thiết khi ứng dụng có thể tạm dừng hoặc khôi phục).

Hệ thống Middleware hỗ trợ môi trường lập trình QoS, giúp người phát triển

ứng dụng xác định định dạng đặc điểm QoS của ứng dụng.

b.) Biên dch QoS

Sau khi nhận các đặc tính QoS của ứng dụng, bộ biên dịch QoS chuyển các đặc tính này thành một cơ sở dữ liệu QoS. Cơ sở dữ liệu QoS bao gồm các cấu hình ứng dụng có thể, ấn định tài nguyên, chính sách tương thích ứng dụng, mẫu trạng

thái ứng dụng và được thực hiện bởi hệ thống middleware (giống biên dịch chương

trình, mã nguồn) để thiết lập, phân phối và tương thích ứng dụng QoS. Với đặc tính

QoS như mã nguồn, bộ biên dịch QoS tiếp tục các bước sau:

+ Bước 1: Dịch các đặc tính QoS thành một tập các biểu đồ chức năng của ứng dụng.

+ Bước 2: Kết hợp biểu đồ chức năng ứng dụng với các thành phần dịch vụ thích hợp của hệ thống bao gồm các thành phần thực hiện chức năng đặc điểm theo miền, nhưng độc lập với ứng dụng (các bộ giám sát CPU, buffer hay thu phát RTP).

+ Bước 3: Ấn định tài nguyên “đầu cuối-đầu cuối” cho các thành phần ứng dụng trong mỗi biểu đồ chức năng ứng dụng với cấu hình ứng dụng (tính tài nguyên

hay thăm dò tài nguyên). Bộ biên dịch QoS chỉ xác định việc ấn định các tài nguyên “đầu cuối-đầu cuối” tối thiểu cho mỗi cấu hình của ứng dụng.

c.) Thiết lp QoS

Sau khi biên dịch QoS, các thành phần của ứng dụng được cài đặt trên server

hoặc client của ứng dụng. Middleware sẽ chạy trên các host, cơ sở dữ liệu QoS ban đầu được lưu trữ trong QoSProxy của Server ứng dụng. Khi chạy ứng dụng, các phần của cấu hình QoS được tải về QoSProxy của mỗi client. Quá trình thiết lập

QoS bắt đầu khi người sử dụng bắt đầu một ứng dụng có yêu cầu QoS và kết thúc

khi ứng dụng bắt đầu chạy. Các thực thể tham gia vào quá trình này được chỉ ra trong hình 3-3. Trong giai đoạn thiết lập QoS, Middleware lựa chọn một trong số các cấu hình đã xác định từ trước, phụ thuộc vào yêu cầu QoS của người sử dụng và điều kiện tài nguyên hiện có.

Hình 3-3. Các thành phần mạng tham gia quá trình thiết lập QoS

Các bước chính trong giai đoạn thiết lập QoS gồm: Phát hiện dịch vụ; Lựa chọn cấu hình ứng dụng và ấn định tài nguyên.Mô tả cụ thể các bước như sau:

+ Bước 1 (phát hiện dịch vụ): Khi người sử dụng có yêu cầu cung cấp dịch vụ kèm theo yêu cầu về chất lượng, yêu cầu dịch vụ này được gửi tới hệ thống phát

Middleware Middleware Middleware Middleware Server ứng dụng phụ Server ứng dụng Dữ liệu ứng dụng Dữ liệu ứng dụng đã tương thích

Điều khiển dịch vụ Kết quả/hàng đợi DA hoặc mạng các DA Điều khiển dịch vụ Kết quả/hàng đợi

Dữ liệu ứng dụng

Client ứng dụng

Client ứng dụng

C: Thành phần ứng dụng RB: Tương thích tài nguyên

Hệ thống phát hiện dịch vụ:

SA: tác tử dịch vụ

UA: Tác tử người sử dụng

DA: Tác tử thư viện

QoSProxy

QoSProxy

QoSProxy

hiện dịch vụ. Hệ thống phát hiện dịch vụ sẽ nhận yêu cầu dịch vụ và gửi lại tập các server điều khiển dịch vụ. Hệ thống phát hiện dịch vụ bao gồm ba thành phần chính: tác tử người sử dụng (UA), tác tử thư viện (DA) và tác tử dịch vụ (SA). Tác tử UA

và SA là một phần của QoSProxy chạy tương ứng trên client và trên server.

+ Bước 2 (lựa chọn cấu hình ứng dụng): Sau khi Server ứng dụng được phát hiện, middleware tại client thực hiện cấu hình ứng dụng theo yêu cầu của khách

hàng dựa trên trên các yêu cầu QoS của người sử dụng và cơ sở dữ liệu QoS. Một

cấu hình được lựa chọn có thể gồm các thành phần ứng dụng chạy trên server phụ

để thực hiện yêu cầu QoS của khách hàng theo điều kiện tài nguyên mà cấu hình này hướng tới, kể cả việc xác định vị trí của server ứng dụng phụ.

+ Bước 3 (ấn định tài nguyên): Sau khi lựa chọn cấu hình ứng dụng và xác định các thành phần dịch vụ, Middleware thực hiện ấn định tài nguyên gồm việc tạo lập kế hoạch ấn định tài nguyên “đầu cuối-đầu cuối” theo chiến lược ấn định xác định trong cơ sở dữ liệu QoS rồi gửi kế hoạch ấn định tài nguyên “đầu cuối-đầu cuối” tới server, client và các server phụ khác, được QoSProxy đang chạy trên host gửi đến RB tại chỗ và RB thực hiện việc ấn định thực sự.

+ Bước 4 (tải cơ sở dữ liệu QoS): QoSProxy phía Client tải hai phần sau của

cơ sở dữ liệu QoS từ QoSProxy phía Server về chính sách tương thích dịch vụ và

mẫu trạng thái ứng dụng. Chính sách tương thích dịch vụ dùng để tương thích QoS,

trong khi mẫu trạng thái ứng dụng để hỗ trợ di chuyển ở mức ứng dụng.

Khi bốn bước trên được thực hiện xong, QoSProxy trên mỗi host bắt đầu khởi

động các thành phần quy định trong cấu hình đã chọn. Ứng dụng bắt đầu chạy.

d.) Các cơ chế điều kin tương thích QoS

Sau khi thiết lập dịch vụ, Middleware có thể thực hiện tương thích QoS trong

quá trình chạy ứng dụng và QoS của ứng dụng có thể thay đổi theo độ sẵn sàng thực tế của tài nguyên. Trong trường hợp xấu nhất môi trường có thể không hỗ trợ được việc duy trì tài nguyên, việc tương thích QoS của ứng dụng đang chạy là cần thiết. Tương thích QoS được thực hiện ở cả mức quản lý tài nguyên và quản lý dịch vụ.

- Cơ chế tương thích QoS theo tài nguyên (độc lập đối với từngứng dụng, mỗi kiểu tài nguyên; chỉ dữ liệu ứng dụng được tương thích, không thay đổi cấu hình ứng dụng): Được thực hiện bởi một bộ tương thích tài nguyên điều khiển tất cả các ứng dụng hiện hành chia sẻ tài nguyên chung ở đầu cuối host.

- Cơ chế tương thích QoS theo cấu hình thành phần (một phần QoSProxy thực hiện tương thích QoS ở mức cao hơn): Kiểu tương thích QoS này bao gồm thay thế, xóa hay bổ sung thành phần ứng dụng trong cấu hình ứng dụng. Cấu hình thành

phần được xác định trong chính sách tương thích ứng dụng có sẵn trong cơ sở dữ

liệu QoS.

- Cơ chế tương thích QoS theo cấu hình dịch vụ (một phần của QoSProxy thực hiện tương thích QoS theo kiểu “đầu cuối-đầu cuối”): Bộ cấu hình dịch vụ duy trì bảng trạng thái cho mỗi Client, Server và biểu đồ chức năng ứng dụng biểu diễn cấu hình ứng dụng hiện hành nên có thể thay đổi cấu hình ứng dụng đã chọn trong giai đoạn thiết lập QoS. Module xử lý trung tâm thực hiện quyết định tương thích.

Để thiết kế bộ điều khiển tương thích, trong phần này trình bày việc áp dụng

mô hình luồng tác vụ đề xuất trong [83] cho một hệ thống phân bố, xem xét chuyển

đổi mô hình điều khiển cổ điển trong [48] và áp dụng vào mô hình luồng tác vụ của một hệ thống phân bố để đưa ra thuật toán điều khiển tương thích và áp dụng chúng trong middleware tương thích theo ứng dụng.

3.3.3. Áp dụng mô hình điều khiển truyền thống

a.) Mô hình tác v

Mỗi ứng dụng được xem là một tập của các thành phần chức năng, mỗi thành phần chức năng được coi như một tác vụ. Các tác vụ là một khối chức năng sử dụng tài nguyên của hệ thống và thực hiện nhiệm vụ cụ thể để tạo ra kết quả cho một tác vụ tiếp theo hoặc cho đầu cuối người sử dụng [83]. Hình 3-4.a mô tả thành phần chức năng của ứng dụng videostream. Coi ứng dụng videostream trong hệ thống phân bố là một tập của các thành phần chức năng (mã hóa khung, truyền dẫn tín hiệu hay giải mã). Các thành phần chức năng này yêu cầu tài nguyên mạng và hệ

thống để thực hiện chức năng xử lý, tạo giá trị điều khiển chức năng tiếp theo. Hình

3-4.b biểu diễn mô hình luồng tác vụ cho hệ thống videostream, mỗi tác vụ là một

thành phần chức năng của ứng dụng, mỗi ứng dụng được chuyển đổi thành một biểu

đồ luồng tác vụ có hướng không khép kín của nhiều tác vụ. Liên kết hướng từ tác vụ Ti sang tác vụ Tj chỉ ra rằng tác vụ Tj sử dụng kết quả của tác vụ Ti. Để thực hiện

một tác vụ Ti thì hệ thống phải cung cấp một lượng tài nguyên nào đó.

Hình 3-4. Mô hình luồng tác vụ

b.) Tmô hình điều khiển truyền thống đến mô hình điều khiển tác vụ

Mô hình điều khiển truyền thông [48] được mô tả như hình 3-5.a. Trong đó, một đối tượng được điều khiển bởi một “bộ điều khiển”, trạng thái bên trong của

đối tượng này được xác định bởi bộ điều khiển theo một thuật toán điều khiển xác

định. Thuật toán điều khiển tạo ra tín hiệu điều khiển bằng cách so sánh trạng thái

bên trong của đối tượng mà nó quan sát được với giá trị tham chiếu ở đầu vào sao

cho đối tượng không bị ảnh hưởng bởi “nhiễu”. Áp dụng mô hình điều khiển truyền thống cho một tác vụ ứng dụng cụ thể, mô hình điển hình về điều khiển tác vụ bao gồm những thành phần như sau:

+ Tác vụ ứng dụng: Thực hiện một chức năng cụ thể của ứng dụng và được

điểu khiển tương thích.

+ Tác vụ tương thích: Có chức năng giống bộ điều khiển trong mô hình điều

khiển truyền thống và thực hiện thuật toán điều khiển. Đầu ra của tác vụ điều khiển

Video Server Frame Coder Mạng truyền dẫn Video Frame Decode r Video Player a)Hệ thống VideoStream Nguồn Người sử dụng T2 T3 T4 Tài nguyên

là báo hiệu điều khiển ứng dụng và có thể điều khiển từng ứng dụng cụ thể và thực hiện tương thích chất lượng.

Hình 3-5. Mô hình điều khiển tác vụ

+ Tác vụ quan sát: Thực hiện quan sát, đánh giá trạng thái của tác vụ ứng dụng và báo hiệu cho tác vụ tương thích.

Trạng thái tác vụ của một tác vụ ứng dụng được xác định bởi các tham số đặc

trưng cho tính động bên trong của tác vụ ứng dụng đó. Trạng thái tác vụ quan trọng nhất trong bất kỳ tác vụ ứng dụng nào là tham số liên quan đến yêu cầu tài nguyên. Hình 3-5.b mô tả mô hình điều khiển tác vụ theo lý thuyết điều khiển.

Biến đổi động về yêu cầu tài nguyên trong mô hình điều khiển tác vụ được mô tả bằng phương trình có dạng sau [3]:        , ,  , dx t x t f x t u t w t t dt     (3.1)      , , z t  h x t t t (3.2)

Với mô hình trên, các yêu cầu tài nguyên khi thực hiện một ứng dụng được coi là cân bằng khi [3]: x t  0 f x t u t    , ,w t t ,  (3.3) Nhiễu Tín hiệu điều khiển Đầu vào

tham chiếu

Lỗi Đầu ra

Thiết bị

Bộ điều khiển Đường phản hồi

a) Sơ đồ khối của hệ thống điều khiển cổ điển

Tác vụ ứng dụng Tác vụ tương thích Tác vụ quan sát Đầu vào tham chiếu

Giá trị điều khiển Trạng thái tác vụ Lớp ứng dụng Lớp Middleware Giá trị quan sát

Ở đây, x ký hiệu cho vector trạng thái của tác vụ, u là vector các tham số đầu vào có thể điều khiển được, z là vector các tham số đầu ra quan sát được của tác vụ, w là các biến không điều khiển được của tác vụ và v là vector lỗi quan sát.

Mô hình tổng quát trên(có thể phi tuyến và biến đổi theo thời gian) là quá phức tạp để xem xét một thuật toán điều khiển phù hợp.Vì vậy để đơn giản,hàm biến đổi

động về yêu cầu tài nguyên của tác vụ ứng dụng được đơn giản hóa bằng các hàm

tuyến tính rời rạc và yêu cầu tài nguyên của ứng dụng có thể được mô tả [3]:

   1  1  1 x kx k u k w k (3.4)    

Một phần của tài liệu Xây dựng hệ các điều kiện giới hạn phục vụ phân bố lưu lượng dịch vụ IP internet (Trang 71)