Thiết kế dịch vụ

Một phần của tài liệu thiết kế và triển khai dịch vụ iptv trên kiến trúc mạng ims (Trang 112 - 126)

6 CHƯƠNG V I: THIẾT KẾ DỊCH VỤ IPTV

6.2 Thiết kế dịch vụ

6.2.1 Yêu cầu

Thiết kế dịch vụ truyền hình nền ip sử dụng kiến trúc mạng IMS. Dịch vụ cần có các chức năng:

o Phục vụ nội dung số tới người sử dụng trong mạng IMS sử dụng thiết bị đầu cuối có cài đăt IMS client có chức năng IPTV.

o Có khả năng phân loại người dùng

o Phân loại nội dung số

o Danh sách chương trình nâng cao

o Quản lý quyền truy cập theo người dùng, thời gian và phân loại nội dung.

o Có khả năng nhắn tin truy vấn quyền sử dụng. Dịch vụ cần đáp ứng các yêu cầu:

o Có khả năng truyển tải các nội dung số đa dạng về mã hóa.

o Gửi các thông điệp thân thiện tới khách hang.

o Đảm bảo về bảo mật thông tin của kho nội dung số.

o Đảm bảo chất lượng nội dung số - thời gian phục vụ.

6.2.2 Kiến trúc hệ thống

Dịch vụ IMS based IPTV trong phạm vi đồ án được chia làm 2 modul lớn, IPTV và Parental Control

Trong đó dịch vụ IPTV được xây dựng hướng đến người dùng phổ thông có nhu cầu xem các chương trình truyền hình (Linear tv) và truyền hình

theo yêu cầu (Video on demand) cả trên di động lẫn trên tivi qua bộ thu setop box.

Dịch vụ Parental Control hướng tới người dùng là vị thành niên hoặc trẻ nhỏ chưa đủ 18 tuổi có nhu cầu tiếp cận với kho nội dung số, có chức năng lọc nội dung truyền hình và Video on demand, phát theo giờ hoặc theo sự chỉ định của cha mẹ (người dùng tham vấn – reference user)

Mô hình tổng quát:

HÌnh 6-43: Mô hình tổng quát dịch vụ IMS based IPTV

Chú thích:

HSS: server lưu trữ hồ sơ người dùng

Media server: server lưu trữ, điều khiển và truyền tải nội dung số

Application server: server xử lý các logic dịch vụ IPTv – cung cấp dịch vụ IPTv

Sip: giao thức báo hiệu trong mạng IMS

RTP/RTSP: giao thức báo hiệu – truyền nội dung số

Diameter: giao thức chứng thực, cấp quyền và tính toán trong mang IMS. • Việc nhận thực người dùng trong mạng do CSCFs thực hiện và quản lý

dựa trên hồ sơ người dùng lưu trữ tại HSS.

• Việc cung cấp nội dung số cho người sử dụng sẽ được Application Server quản lý dựa trên hồ sơ dịch vụ mà người dùng đã đăng ký lưu trữ tại HSS.

• Media server đóng vai trò là nguồn nội dung số mà Application server lấy ra cho người sử dụng.

Server cung cấp dịch vụ (AS) được chọn là Sailfin v2.0 dùng công nghệ Java EE làm nền tảng. Bao gồm các module:

• Các sip servlets phục vụ điều khiển phiên làm việc • Các class hỗ trợ 1 số logic dịch vụ

• Database lưu trữ thông tin về các kênh như phân loại, đánh giá, mô tả nội dung 1 kênh và giới hạn độ tuổi cho phép truy cập vào kênh đó. • Web interface để quản lý và thiết lập cấu hình dịch vụ cũng như thông

tin về dịch vụ tới người dùng cuối.

Diameter client để tương tác với HSS trên giao diện Sh truy vấn các thông tin về người dùng.

Server cung cấp nội dung số (MRF) được chọn là Darwin Streaming Server v5.5.5 truyền tải nội dung truyền hình cơ bản và HUT – Media Resource Function truyền tải nội dung truyền hình theo yêu cầu dựa trên giao thức RTP/RTSP. Bao gồm các module:

• Web interface để quản lý thiết lập các kênh linear tv

• Module stream manager

• Module báo hiệu điều khiển dựa trên giao thức SIP

User endpoint hay user agent hay terminal hay thiết bị đầu cuối có thể là di động, setop box, hay máy tính để bàn, laptop…với điều kiện có IMS client platform cài sẵn và hỗ trợ xem truyền hình dựa trên giao thức RTP/RTSP.

6.2.3 Thiết kế các lớp cho dịch vụ

6.2.3.1 Sơ đồ lớp

Dành cho gói user.profile

Đối với user profile, mỗi user có profile cho dịch vụ IPTV được định nghĩa gồm có các kiểu dịch vụ đăng ký, các ràng buộc đối với 1 user trong đó có reference user, các ràng buộc về thời gian và phân loại kênh. Lớp

RepDataHandler có nhiệm vụ lấy các thông tin trên của user từ profile người dùng tải về từ HSS. Sau đó các user được đưa vào 1 danh sách phục vụ là QueueLoggedUsers. Lớp TimeService dùng để thực hiện các thao tác kiểm tra về thời gian

HÌnh 6-44: sơ đồ lớp cho gói user profile

Dành cho gói servlets

HÌnh 6-45: Sơ đồ lớp gói servlets

Gồm có 5 servlet chính.

• Main servlet làm nhiệm vụ khởi tạo ban đầu các giá trị tham số cũng như các dụng cụ sử dụng cho logic dịch vụ trong thời gian chạy ứng dụng.

• IPTVdoSERVICE servlet làm nhiệm vụ nhận bản tin INVITE và xử lý..

• IPTVdoLOGIN servlet làm nhiệm vụ nhận bản tin SUBSCRIBE và xử lý

• MediaContentProvider servlet chuyên làm nhiệm vụ thực hiện những yêu cầu INVITE đã qua xử lý và đã được chấp thuận.

• IPTVdoMESSAGE servlet làm nhiệm vụ gửi nhận bản tin trong quá trình quản lý truy cập.

Dành cho gói tools

Gói này có các lớp công cụ để xử lý các thành phần logic hoặc các công cụ xử lý dữ liệu trong quá trình thực thi dịch vụ

HÌnh 6-46: Các lớp trong gói tools

Lớp Database tạo ra kết nối tới máy chủ dữ liệu.

Lớp Xmlhandler xử lý các yêu cầu liên quan tới Xml document. Lớp StringManipulate xử lý các yêu cầu liên quan tới xâu chuỗi.

Lớp QueueAuthRequests lưu giữ các yêu cầu cần sự cho phép của người dùng tham vấn.

Lớp MediaContent đại diện cho 1 kênh, bao gồm thể loại, mô tả, rating,...của kênh đó

Dành cho gói diameter

Lớp ClientShSession quản lý luồng bản tin và tạo ra các bản tin diameter. Lớp ShSessionEventListenerImpl nghe các trả lời từ HSS

6.2.3.2 Các khâu xử lý trong quá trình chạy dịch vụ

6.2.3.2.1 Cơ sở dữ liệu các kênh

Các thông tin về kênh – nội dung truyền hình và các user đã đang ký sẽ được lưu trong máy chủ cơ sở dữ liệu bao gồm 2 bảng. Bảng iptv_subscription chứa thông tin về các người dùng đã đăng ký dịch vụ. Bảng iptv_media_source chứa thông tin về danh sách các kênh xem hiện tại đang phục vụ. Nội dung các bảng như sau:

6.2.3.2.2 Khởi tạo dịch vụ

HÌnh 6-48: Lưu đồ thuật toán khởi tạo dịch vụ

Khi dịch vụ được triển khai lên server ứng dụng, hàm init() trong servlet Main.java sẽ được kích hoạt, khởi tạo module diameter và các biến, tham số dùng cho dịch vụ.

6.2.3.2.3 Đăng nhập vào dịch vụ

Lớp IPTvdoLOGIN.java mô tả cách thức đăng nhập người dùng bằng bản tin SUBSCRIBE, nhận thực người dùng thông qua giao diện Sh giữa AS và HSS và sau đó cấu trúc lên nội dung chương trình cho từng đối tượng cụ thể rồi gửi về cho người dùng trong bản tin 200 Ok.

Chi tiết mã nguồn được để trong đĩa CD đính kèm tài liệu.

6.2.3.2.4 Thực hiện và xử lý yêu cầu đối với 1 kênh cụ thể

HÌnh 6-50: Lưu đồ thuật toán xử lý yêu cầu kênh

Lớp IPTvdoSERVICE.java mô tả cách thức xử lý mỗi yêu cầu truy cập vào 1 kênh cụ thể bằng bản tin INVITE. Kiểm tra xem người dùng đã đăng nhập chưa, kênh yêu cầu có tồn tại hay không và là yêu cầu truyền hình cơ bản hay là Video on demand, người dùng có phải thuộc diện quản

Chi tiết mã nguồn được để trong đĩa CD đính kèm tài liệu.

6.2.4 Kịch bản thực thi ứng dụng

Sip.xml là file định nghĩa các lớp SIP servlet và chỉ ra các ánh xạ của chúng. Các ánh xạ cho Sip Servlet sử dụng các toán tử “and”, “equal”, và “not” để định nghĩa ra các điều kiện trong đó servlet được kích hoạt.

6.3 Cài đặt và sử dụng dịch vụ

6.3.1 Yêu cầu hệ thống

Yêu cầu về phần cứng:

• Máy tính để bàn có cài đặt hệ điều hành Unix (tốt nhất dùng Ubuntu phiên bản 8.04 trở lên).

• Đường truyền ADSL hoặc các thiết bị trong mạng LAN. Yêu cầu về phần mềm:

• Linux có kernel 2.6.

• Máy tính có cài đặt Sailfin với đầy đủ thư viện.

• Hut - Communicator

6.3.2 Hướng dẫn cài đặt

Xem phụ lục kèm theo.

Một phần của tài liệu thiết kế và triển khai dịch vụ iptv trên kiến trúc mạng ims (Trang 112 - 126)