Đồ án web conference

38
Đồ án Xây Dng ng dng phân tán Giáo viên hƣớng dn : PGS.TS. Nguyn ThHoàng Lan Đề 11b (UDPT): Xây dng ng dng htrtriển khai và điều khin Hi ngh(hp) qua mng da trên công nghWeb - Tìm hiu các các chức năng hội nghị, mô hình điều khin Hi nghvideo và vai trò MCU trong mô hình Hi ngh(hp) - Tìm hiu và kho sát ng dng trin khai Hi ngh(hp) qua mng da trên công nghWeb. - Xây dng phn mêm ng dng phân tán htrvai trò MCU điều khin và tchc trin khai hp trc tuyến qua mng da trên công nghWeb và thnghim trên gii pháp mng của đề 11. - Đánh giá so sánh với dch vhin có trong thc tế. Sinh viên : Nguyn Hng Minh SHSV: 20081743 Lp: TTM-K53

Upload: minh-nguyen

Post on 05-Aug-2015

934 views

Category:

Documents


0 download

DESCRIPTION

tìm hiểu truyền hình hội nghịtìm hiểu web conferencetriển khai hệ thống BigBlueButtonxây dựng kịch bản hội nghị onlineđánh giá vai trò MCU của hệ thống BBB

TRANSCRIPT

Page 1: Đồ án Web Conference

Đồ án Xây Dựng Ứng dụng phân tán

Giáo viên hƣớng dẫn : PGS.TS. Nguyễn Thị Hoàng Lan

Đề 11b (UDPT): Xây dựng ứng dụng hỗ trợ triển khai và điều khiển Hội nghị (họp)

qua mạng dựa trên công nghệ Web

- Tìm hiểu các các chức năng hội nghị, mô hình điều khiển Hội nghị video và vai

trò MCU trong mô hình Hội nghị (họp)

- Tìm hiểu và khảo sát ứng dụng triển khai Hội nghị (họp) qua mạng dựa trên công

nghệ Web.

- Xây dựng phần mêm ứng dụng phân tán hỗ trợ vai trò MCU điều khiển và tổ chức

triển khai họp trực tuyến qua mạng dựa trên công nghệ Web và thử nghiệm trên

giải pháp mạng của đề 11.

- Đánh giá so sánh với dịch vụ hiện có trong thực tế.

Sinh viên : Nguyễn Hồng Minh

SHSV: 20081743 Lớp: TTM-K53

Page 2: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 2

Contents

LỜI NÓI ĐẦU ................................................................................................................................ 4

CHƢƠNG 1. TÌM HIỂU VỀ HỘI NGHỊ TRUYỀN HÌNH ........................................................... 5

1. HỘI NGHỊ TRUYỀN HÌNH LÀ GÌ ?........................................................................................... 5

2. MỘT SỐ HÌNH THỨC HỘI NGHỊ TRUYỀN HÌNH : ..................................................................... 5

2.1. Hội nghị truyền hình sử dụng các máy chuyên biệt : ................................................ 5

2.2. Hội nghị truyền hình tích hợp vào máy tính cá nhân :.............................................. 5

2.3. Hội nghị truyền hình trên Web :................................................................................ 6

3. DẠNG HỘI NGHỊ VIDEO DỰA VÀO KHẢ NĂNG ĐÁP ỨNG TÀI NGUYÊN CỦA HỆ THỐNG: .......... 7

3.1. Hội nghị tức thời (Ad hoc) : ...................................................................................... 7

3.2. Hội nghị đặt trước (Sheduled Conference) : ............................................................. 7

4. CÁC MÔ HÌNH KẾT NỐI HỘI NGHỊ TRUYỀN HÌNH : ................................................................. 8

4.1. Hội nghị truyền hình điểm – điểm (Point – to - Point) : ........................................... 8

4.2. Hội nghị truyền hình điểm – đa điểm (Point – to - MultiPoint) : ............................. 8

4.3. Hội nghi truyền hình đa điểm – đa điểm (MultiPoint – to - MultiPoint) : ................ 8

5. CÁC CHỨC NĂNG CỦA HỘI NGHI TRUYỀN HÌNH : .................................................................. 8

6. CÁC MÔ HÌNH ĐIỀU KHIỂN HỘI NGHỊ : .................................................................................. 9

6.1. Mô hình điều khiển tập trung : .................................................................................. 9

6.2. Mô hình điều khiển hội nghị phân tán : .................................................................. 10

7. THÀNH PHẦN & VAI TRÒ CỦA MCU TRONG HỘI NGHỊ ĐA ĐIỂM : ....................................... 10

CHƢƠNG 2. TÌM HIỂU CÁC CÔNG CỤ CÓ HỖ TRỢ WEB CONFERENCE ....................... 12

1. TÌM HIỂU MICROSOFT OFFICE LIVE MEETING: ................................................................. 12

2. TÌM HIỂU CISCO WEBEX: .................................................................................................. 13

3. TÌM HIỂU OPENMEETINGS: ............................................................................................... 14

4. TÌM HIỂU BIGBLUEBUTTON: ............................................................................................. 15

5. ĐÁNH GIÁ CÁC CỘNG CỤ & LỰA CHỌN : ............................................................................ 16

CHƢƠNG 3. TRIỂN KHAI GIẢI PHÁP TỔ CHỨC HỘI NGHỊ TRỰC TUYẾN..................... 17

1. TÌM HIỂU HỆ THỐNG BIGBLURBUTTON: ............................................................................ 17

1.1. Kiến trúc BigBlueButton: ........................................................................................ 17

1.1.1. Kiến trúc tổng quan:............................................................................................ 17

1.1.2. Kiến trúc BBB-APPS:......................................................................................... 18

1.1.3. Kiến trúc Joining và quản lý voice conference: .................................................. 19

1.2. Các thành phần của BBB: ....................................................................................... 20

1.3. Phân tích hoạt động của hệ thống & xác định thành phần MCU :......................... 20

1.3.1. Tƣơng tác ngƣời dùng với hệ thống: .................................................................. 20

1.3.2. BBB-WEB: ......................................................................................................... 21

1.3.3. BBB-APPS:......................................................................................................... 22

2. TRIỂN KHAI HỆ THỐNG BBB: ............................................................................................ 22

Page 3: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 3

2.1. Update your server : ............................................................................................... 23

2.2. Install Ruby : ........................................................................................................... 24

2.3. Cài đặt BigBlueButton: ........................................................................................... 25

2.4. Cài đặt API Demos: ................................................................................................ 26

2.5. Cấu hình hệ thống : ................................................................................................. 28

2.5.1. File config.xml: ................................................................................................... 28

2.5.2. Nginx: ................................................................................................................. 29

2.5.3. Red5: ................................................................................................................... 29

2.5.4. Tomcat6: ............................................................................................................. 30

2.5.5. FreeSWITCH: ..................................................................................................... 30

3. TRIỂN KHAI HỘI NGHỊ TRỰC TUYẾN TRÊN HỆ THỐNG BBB: ............................................... 30

3.1. Xây dựng kịch bản hội nghị trực tuyến : ................................................................. 30

3.2. Thực hiện hội nghị “HopTongKet”: ....................................................................... 32

CHƢƠNG 4. KẾT LUẬN VÀ ĐÁNH GIÁ KẾT QUẢ .............................................................. 37

1. ĐÁNH GIÁ KẾT QUẢ TRIỂN KHAI HỘI NGHỊ TRÊN HỆ THỐNG BBB ...................................... 37

2. HƢỚNG PHÁT TRIỂN ĐỀ TÀI: .............................................................................................. 37

TÀI LIỆU THAM KHẢO ............................................................................................................ 38

Page 4: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 4

Lời nói đầu

Công nghệ ngày càng phát triển hiện đại và đáp ứng nhu cầu của con ngƣời ngày

càng khắt khe, đòi hỏi cao hơn. Từ những bƣớc tiến chậm chững của Internet đến nay, rất

nhiều các giao thức, chuẩn công nghệ chắp cánh cho ƣớc mơ của con ngƣời bay cao hơn,

xa hơn và tới gần nhau hơn. Ngày nay trong một thế giới mở, con ngƣời giao tiếp với

nhau thông qua thƣ điện tử, chat, blog, mạng xã hội nhờ có sự tiến bộ vƣợt bậc của

Internet.

Trƣớc đây để giao tiếp với bạn bè hoặc tham gia các cuộc hội thảo trên mạng,

chúng ta chỉ có thể thấy các dòng chữ hiện lên và không thể biết khung cảnh, môi trƣờng

mà đối tác tham dự. Điều đó khiến cho các cuộc nói chuyện, đối thoại thiếu thân thiện,

sinh động và khiến cho phát sinh chi phí đi lại, thời gian để có các cuộc gặp gỡ, hội thảo

offline, tốn kém mà không hiệu quả ảnh hƣởng đến chất lƣợng công việc.

Chúng ta có thể gửi đi không chỉ các dòng chữ khô khan mà còn là những hình

ảnh, đoạn video sống động, chân thực trên toàn thế giới. Đó chính là nhờ áp dụng công

nghệ video conference, hội thảo trực tuyến. Bên cạnh ứng dụng trong hội họp, hội thảo

video conference còn sử đƣợc sử dụng rất hiệu quả và tiết kiệm trong đào tạo từ xa, khám

chữa bệnh trực tuyến, hệ thống an ninh quốc phòng…

Báo cáo này nhằm mục đích gợi mở những khái niệm cơ bản về lý thuyết và thực

tiễn áp dụng của video conference trong thực tế và đời sống. Một công nghệ gần gũi và

rất cần thiết trong xã hội phát triển hiện đại nhƣ ngày nay.

Em xin gửi lời cảm ơn chân thành tới cô Nguyễn Thị Hoàng Lan đã tận tình

hƣớng dẫn và giúp đỡ em hoàn thành đồ án này

Page 5: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 5

Chương 1. Tìm hiểu về hội nghị truyền hình

1. Hội nghị truyền hình là gì ?

Video Conference (hay hội nghị truyền hình - VC) là một lĩnh vực tuy không mới

nhƣng những công nghệ đƣợc ứng dụng trong lĩnh vực này thì luôn đƣợc đổi mới theo sự

phát triển của thế giới. Các hệ thống Hội nghị truyền hình đã xuất hiện từ những năm 50

của thế kỉ trƣớc , tuy chất lƣợng là vấn đề cần phải bàn tới nhƣng nó cũng đánh dấu một

bƣớc phát triển mới của xã hội.

Hội nghị truyền hình là hệ thống thông tin đa phƣơng tiên thời gian thực (real time).

Hệ thống này cho phép nhiều ngƣời sử dùng ở những nơi khác nhau trao đổi thông tin,

hình ảnh , âm thanh, dữ liệu, tổ chức họp hành, hội thapr, hội nghị từ xa, đào tạo từ xa, tƣ

vấn từ xa…

Việc truyền thông hình ảnh đã thực hiện đƣợc về mặt cơ sở hạ tầng và thiết bị (nhƣng

chỉ là tƣơng tác một chiều – với các hệ thống truyền hình và các hệ thống lớn) còn với hệ

thống Hội nghị truyền hình thì tƣơng tác phải là hai chiều và thực hiện trong môi trƣờng

thời gian thực.

2. Một số hình thức hội nghị truyền hình :

Từ khi hệ thống hội nghị truyền hình đầu tiên đƣợc nghiên cứu và thử nghiệm thành

công đến nay, có 3 loại mô hình hội nghị đã và đang đƣợc sử dụng trên toàn thế giới . Đó

là hệ thống hội nghị truyền hình sử dụng các máy chuyên biệt (Dedicated System) , hệ

thống hội nghị truyền hình tích hợp vào máy tính cá nhân (Desktop Based

VideoConference), và mới đây vào năm 2003, tổ chức IETF đã thiết lập một chuẩn mới

phục vụ hội nghị truyền hình trên nền Web (Web Conference) đó là chuẩn XCON.

2.1. Hội nghị truyền hình sử dụng các máy chuyên biệt :

Hệ thống hội nghị truyền hình sử dụng các máy chuyên biệt , hay còn gọi là hệ

thống phụ thuộc phần cứng , là hệ thống đƣợc xây dựng đầu tiên, từ những năm 80 của

thế kỉ 20. Hệ thống đầu tiên đƣợc xây dựng thành công là hệ thống của công ty

PictureTel với băng thông 1MHz và tốc độ truyền 6Mbps. Hiện nay, đã có rất nhiều hệ

thống phụ thuộc phần cứng đã đƣợc xây dựng & thƣơng mại hóa trên toàn cầu. Có thể kể

tên 1 số hãng cung cấp thiết bị phần cứng phục vụ VC lớn nhƣ Polycom (USA), Cisco

(USA), Sony (Japan)…Các hệ thống này rất đa dạng & phức tạp , nhƣng có 1 điểm chung

là đều phụ thuộc rất nhiều vào phần cứng , là các thiết bị hỗ trợ âm thanh, hình ảnh đƣợc

thiết kế chuyên dụng , đƣợc tích hợp chặt chẽ vào hệ thống điều khiển chính , do đó rất

tiện lợi khi sử dụng nhƣng chi phí triển khai, lắp đặt là rất đắt đỏ.

2.2. Hội nghị truyền hình tích hợp vào máy tính cá nhân :

Page 6: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 6

Đầu những năm 90 , công nghệ IP phát triển mạnh, kèm theo đó là các giải thuật

nén, mã hóa video có hiệu năng cao đã cho phép các máy tính cá nhân có khả năng thực

hiện các cuộc gọi hội nghị truyền hình. Hệ thống này, thực chất là sử dụng những phần

cứng đơn giản, có sẵn hoặc dễ kiếm nhƣ loa máy tính, headphone, webcam kết hợp với

một phần mềm hội nghị truyền hình. Các phần mềm đƣợc sử dụng nhiều hiện nay có thể

liệt kê nhƣ: Skype, Yahoo chat voice, Asterisk Voice Conference , MS Exchange Video

Conferencing, Lotus,…Tuy nhiên , do phần cứng đơn giản và hầu hết không phải để phục

vụ mục đích chính là hội nghị truyền hình , nên khả năng điều khiển, chất lƣợng âm

thanh, hình ảnh lúc thu và phát đều kém hơn các hệ thống sử dụng máy chuyên dụng.

Chính vì vậy các hội nghị kiểu này thƣờng đƣợc sử dụng với quy mô nhỏ hơn và không

yêu cầu cao quá về chất lƣợng.

2.3. Hội nghị truyền hình trên Web :

Hội nghị truyền hình trên web đƣợc dùng để thực hiện các cuộc gặp trực tuyến,

đào tạo từ xa hoặc thuyết trình thông qua mạng Internet. Trong một hội nghị web, các

thành viên ngồi ở máy của mình và kết nối với các thành viên khác thông qua Internet .

Mỗi ngƣời có thể download một phần mềm hội nghị truyền hình nào đó, hoặc sử dụng

ứng dụng hội nghị truyền hình tích hợp sẵn vào website để kết nối.

Một hội nghị truyền hình trên web đƣợc sử dụng nhiều nhất với mục đích nhƣ là 1

khóa học trực tuyến – Web Training Seminar (gọi tắt Webinar). Thƣờng thì loại hội nghị

này chỉ diễn ra theo 1 chiều, từ ngƣời nói đến ngƣời nghe , từ giảng viên đến học viên, về

cơ bản , giống nhƣ là một webcast (web quảng bá). Khi đó giảng viên sẽ trình bày bài

giảng của mình thông qua một micro , bài giảng sẽ đƣợc trình chiếu trên trình duyệt Web,

học viên có nhu cầu hỏi có thể sử dụng ngay chính microphone của mình để đạt đƣợc sự

thuận tiên tối đa.

Hình 1. Ví dụ dịch vụ Web Conference của Cisco

Do hệ thống đƣợc xây dựng trên nền web và chạy trên máy tính cá nhân ,nên rất

dễ dàng xấy dựng , hoặc sử dụng những phần mềm có sẵn trong hội nghị , cũng dễ dàng

điều khiển đƣợc khả năng tƣơng tác của mỗi thành viên vào hệ thống. Ví dụ , giảng viên

có thể sử dụng ngay MS Power Point hay Keynote để trình bày bài giảng của mình đến

Page 7: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 7

các học viên. Học viên có thể sử dụng phần mềm WhiteBoard để đánh dấu, hoặc ghi chú

những lƣu ý trên slide của mình.

Trở lại với khả năng tƣơng tác, trong khi các hệ thống hội nghị truyền hình dựa trên

phần cứng hoặc dựa trên phần mềm rất cứng nhắc trong khẳ năng tƣơng tác giữa các

điểm. Thì hệ thống hội nghị truyền hình trên Web có ƣu thế hơn rất nhiều về mặt này.

Thực tế chỉ có giảng viên cần phải tƣơng tác nhiều nhất vào hệ thống, các học viên có

một số ngƣời muốn tham gia vào bài giảng, một số khác chỉ muốn xem và không có nhu

cầu tƣơng tác. Sử dụng VC trên Web sẽ khắc phục đƣợc hạn chế này và tiết kiệm đƣợc

rất nhiều băng thông.

3. Dạng hội nghị video dựa vào khả năng đáp ứng tài nguyên của hệ thống:

3.1. Hội nghị tức thời (Ad hoc) :

Hội nghị Ad hoc là mô hình cơ bản và ít tính năng nhất. Tuy nhiên, nó là mô hình

dễ thực hiện và thực hiện nhanh nhất cho bất kỳ một ngƣời dùng cuối nào.

Hội nghị Ad hoc không đặt trƣớc tài nguyên , nên khuyết điểm lớn nhất của nó là

có thể sẽ không đủ tài nguyên để tiến hành tổ chức cuộc họp.

Hội nghị Ad hoc hầu hết chỉ là cuộc họp “Dial-out”. Các thành viên ở ngoài không

thể gọi vào cuộc họp đƣợc (dial into the meeting), bởi vì hội nghị kiểu này không có số

điện thoại cụ thể nào để gọi vào.

Hơn nữa, khi các thành viên có thể tham gia vào cuộc họp , họ sẽ không nhận

đƣợc thông báo là đã tham gia thành công, cũng nhƣ các thành viên khác không đƣợc

thông báo có ngƣời mới tham gia vào cuộc họp. Nghĩa là các thành phần điều khiển hội

nghị không đƣợc hỗ trợ.

3.2. Hội nghị đặt trước (Sheduled Conference) :

Hội nghị đặt trƣớc (Sheduled Conference) cho phép ngƣời tổ chức cuộc họp quyết

định một số thông số cụ thể liên quan đến cấp phát tài nguyên ví dụ nhƣ số lƣợng thành

viên , độ dài của cuộc họp…thông qua giao diện ngƣời dùng đƣợc cung cấp bởi hệ thống.

Sau đó đặt thời gian cuộc họp và gửi thƣ mời đến các thành viên.

Hội nghị đặt trƣớc có thể đƣợc tích hợp vào trình duyệt web để tiện cho các thành

viên tìm kiếm và tham gia vào hội nghị . Ngoài ra, một số hội nghị còn cung cấp một giao

diện điện thoại (TUI – Telephone User Interface) cho phép thành viên tham gia hội nghị

thông qua chính điện thoại của họ.

Một tính năng quan trọng khác của dạng hội nghị này là nó đƣợc tích hợp với các hệ

thống lịch (Calendar), ví dụ nhƣ Microsoft Outlook. Sự tích hợp này cung cấp cho ngƣời

dùng tổ chức nhiều tiện ích trong việc tạo hội nghị, mời các thành viên và đặt trƣớc tài

nguyên cho hội nghị.

Page 8: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 8

4. Các mô hình kết nối hội nghị truyền hình :

Có 3 loại phổ biến nhất hiên nay.

4.1. Hội nghị truyền hình điểm – điểm (Point – to - Point) :

Là dạng hội nghị truyền hình tƣơng đối phổ biến.

Chỉ có 2 điểm trực tiếp tham gia.

Có thể tổ chức với mọi quy mô khác nhau.

Quá trình kết nối do một đầu chủ động quay số.

Các thông số kết nối đƣợc quy định trƣớc tại 2 đầu hoặc một đầu đặt chế độ Auto

Accept.

Hội nghị truyền hình dạng này thƣờng sử dụng dƣới dạng các phần mềm (Vd:

Skype, Yahoo Chat Voice, Asterisk…) chạy trên máy tính các nhân với ƣu điểm

nhỏ, gọn, dễ cấu hình , giá thành thấp. Tuy nhiên ở một số công ty lớn, khi kết nối

cuộc họp giữa hai phòng họp với nhau, cần có yêu cầu cao hơn về chất lƣợng cũng

nhƣ các tính năng đặc biệt, vẫn sử dụng hệ thống máy riêng biệt.

4.2. Hội nghị truyền hình điểm – đa điểm (Point – to - MultiPoint) :

Có nhiều điểm trực tiếp tham gia.

Có một điểm đóng vai trò trung tâm giữ quyền chủ tọa.

Các điểm khác tham gia vào mạng dƣới sự kiểm soát của điểm chủ tọa.

Loại hội nghị này thƣờng thấy nhất là Webinar, với một giảng viên nói và các học

viên ở tại nhà mình kết nối vào để học tập. Để nghiên cứu sâu về loại hội nghị này,

ta có thể lấy WebEx của Cisco là ví dụ.

4.3. Hội nghi truyền hình đa điểm – đa điểm (MultiPoint – to - MultiPoint) :

Là dạng hội nghị truyền hình có quy mô tổ chức phức tạp nhất.

Có ít nhất 3 điểm cùng tham gia.

Trung tâm xử lý cho hội nghị truyền hình đa điểm thƣờng bao gồm MCU,

Gateway, Gatekeeper, hoặc các server điều khiển…

Có thể kiên lạc bằng Voice hoặc Video , mục đích là tiết kiệm chi phí.

Sản phẩm thƣờng đƣợc sử dụng nhất tại các hội nghị này có thể kể đến các dòng

sản phẩm PCS-G50 hay PCS-G70 của Sony, hay dòng sản phẩm RPX HD 400 của

Polycom…

5. Các chức năng của hội nghi truyền hình :

Hội nghị truyền hình bao gồm các chức năng sau :

Thiết lập kết nối đa điểm (Multipoint Connection Set up) : cho phép nhiều bên có

thể cùng tham gia hội nghị, nghĩa là có kết nối đa điểm, thông qua hạ tầng mạng

hiện có. Các kết nối này đƣợc đảm bảo thiết lập thông suốt trong quá trình diễn ra

hội nghị truyền hình.

Page 9: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 9

Điều khiển phiên làm việc động (Dynamic Session Control): khởi tạo phiên làm

việc khi kết nối đa điểm đƣợc thiết lập, điều khiển phiên trong quá trình hoạt động.

Cấp phát tài nguyên , quản lý hội nghị và lên lịch họp, định tuyến cuộc gọi. Cung

cấp cơ chế kiểm soát, khắc phục khi có lỗi xảy ra trong phiên làm việc. Đảm bảo

chất lƣợng hoạt động của hội nghị , các vấn đề xử lý thời gian thực, tốc độ truyền,

băng thông, xử lý dữ liệu đa phƣơng tiên…

Điều độ hội nghị tự động (Automatic Conference Scheduling): Kiểm soát quá

trình tham gia , thoát khỏi hội nghị của ngƣời dùng, cũng nhƣ khả năng kiểm soát

tại trung tâm điều hành, nhƣ hạn chế quyền tham gia, quyền hoạt động của từng cá

nhân tham gia hội nghị…tƣớc quyền tham gia vào hội nghị khi có vấn đề…

Cung cấp dịch vụ thƣ mục hội nghị : cung cấp các tính năng cho ngƣời sử dụng

cuối, tƣơng tác trực tiếp với nhau. Tăng tính trực quan cho hội nghị truyền hình.

Kết thúc hội nghị (Conference Close) : kết thúc phiên làm việc, đóng kết nối, giải

phóng tài nguyên sử dụng.

6. Các mô hình điều khiển hội nghị :

Một hội nghị truyền hình có thể theo mô hình điều khiển tập trung hoặc phân tán.

6.1. Mô hình điều khiển tập trung :

Trong mô hình này, tất cả các thành phần của hôi nghị video đƣợc tích hợp trong

một máy chủ độc lập. Có thể thấy, một mô hình tập trung bao gồm rất nhiều module phần

mềm. Những module phần mềm này sẽ tƣơng tác lẫn nhau thông qua những phƣơng thức

truyền thông giữa các quá trình (Interprocess communication method) đƣợc cung cấp bởi

hệ điều hành chạy trên máy tính đó.

Hình 5. Mô hình hội nghị video điều khiển tập trung

Page 10: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 10

Lớp điều khiển hội nghị (Conference Control) hay còn gọi là điều khiển gọi (Call

Control) có chứa năng xử lý các tín hiệu đƣợc gửi đến từ ngƣời dùng thông quan VUI và

Scheduler , quyết định xem cuộc gọi tới có đƣợc phép tham gia vào hội nghị hay không .

Giao diện điều khiển dữ liệu (Media Control Interface) cung cấp API cho module điều

khiển hội nghị để truy cập vào những dịch vụ xử lý dữ liệu nhƣ các bộ Audio Mixer và

Video Processing.

6.2. Mô hình điều khiển hội nghị phân tán :

Trong mô hình này, mỗi chức năng lại đƣợc cung cấp bởi một thiết bị riêng biệt.

Một hội nghị video theo mô hình điều khiển phân tán phải bao gồm rất nhiều các thành

phần khác nhau, mỗi cái là một máy khác nhau và có thể đặt rời nhau. Để thực hiện đƣợc

đúng chức năng của một hội nghị, các thành phần này phải đƣợc liên kết với nhau để hoạt

động cùng với nhau nhƣ một thể thống nhất.

Tuy nhiên, trên thực tế, ta vẫn thƣờng gặp các hệ phân tán có cấu tạo nhƣ một thiết bị

duy nhất. Thực ra , đó là một hệ thống các thiết bị và các liên kết giữa chúng đƣợc đặt

trong cùng 1 vỏ mà thôi.

7. Thành phần & vai trò của MCU trong hội nghị đa điểm :

MCU là 1 thành phần không thể thiếu trong trong hội nghị tƣơng tác đa điểm. Thành

phần MCU có nhiệm vụ quản lý quá trình thiết lập cuộc gọi , tài nguyên cũng nhƣ cho

phép nhiều thành viên tham gia vào trong hội nghị. Với khả năng hoạch định, quản lý,

giám sát và phân quyền đối với tất cả các điểm hội nghị- thiết bị MCU sẽ làm cho khả

năng tƣơng tác cũng nhƣ khả năng quản lý trở nên mềm dẻo hơn rất nhiều.

Tùy thuộc vào hình thức hội nghị truyền hình mà thành phần MCU có khác nhau.

Tuy nhiên, hiện nay có 2 loại chính, một là thành phần MCU đƣợc tích hợp trên các thiết

bị phần cứng chuyên dụng, đƣợc sử dụng kèm trong hội nghị. Các thiết bị chuyên dụng

này đều có đặc điểm chung là tiên lợi, dễ sử dụng, nhƣng lại rất đắt tiền, không phù hợp

với quy mô hội nghị vừa & nhỏ. Loại thứ 2 là thành phần MCU đƣợc thiết kế dƣới dạng

các phần mềm hỗ trợ hội nghị truyền hình & độc lập với phần cứng. Loại này thƣờng có

ƣu điểm là giá thành rẻ, dễ dàng cài đặt, nhƣng lại yêu cầu có ngƣời giám sát và triển

khai, hiểu rõ về hệ thống. Hơn thế nữa, các chức năng của phần mềm có vai trò MCU

cũng bị hạn chế so với thiết bị phần cứng MCU.

Dù ở dƣới dạng nào, thì MCU luôn bao gồm 2 thành phần chính :

Bộ điều khiển đa điểm (MC – Multipoint Control) : MC là bộ phận không thể

thiếu trong MCU , có thể điều khiển hội nghị điểm – điểm , hoặc hội nghị đa điểm.

MC thiết lập các giao thức chung cho tất cả các đầu cuối muốn tham gia vào hội

nghị và quyết định hội nghị theo kiểu truyền đa hƣớng (Multicast) hay đơn hƣớng

(Unicast)…MC không trực tiếp xử lý các chuỗi âm thanh , hình ảnh hoặc dữ liệu

trong hội nghị đa điểm.

Page 11: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 11

Bộ xử lý đa điểm (MP - Multipoint Processor) : MP là phần tử tùy chọn trong

MCU. Nó thực hiện xử lý trộn, đồng bộ, chuyển các tín hiệu âm thanh, hình ảnh

hoặc dữ liệu cho MCU điều khiển. Tùy thuộc vào loại hội nghị mà MP có thể xử

lý một hay nhiều chuỗi tín hiệu.

Page 12: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 12

Chương 2. Tìm hiểu các công cụ có hỗ trợ Web Conference

1. Tìm hiểu Microsoft Office Live Meeting:

Microsoft Office Live Meeeting là một dịch vụ hội thảo đƣợc đăng tải trên Web là

kết nối và giúp khán giả tham gia vào các buổi họp, đào tạo và các sự kiện trực tuyến qua

một dịch vụ tin cậy, hạng daonh nghiệp đƣợc lƣu trữ. Với những ngƣời họp tham gia từ

chiếc máy tính của họ , bạn có thể chuyển bài thuyết trình, khởi động một dự án , thảo

luận các ý tƣởng, soạn thảo các tệp tài liệu, cộng tác trên các bẳng trắng và thƣơng thảo

các vụ làm ăn với một phần nhỏ chi phí mà không gặp vấn đề rắc rối về đi lại.

Dịch vụ có thể đƣợc truy cập qua một trình duyệt để có một kinh nghiệm họp nhẹ

nhàng hơn, hoặc với một ứng dụng máy khách Live Meeting (họp trực tuyến) đƣợc lƣu

trên máy tính của ngƣời dùng cuối để đạt đƣợc tính chính xác đầy đủ hơn. Một khác, các

đơn hàng của khách hàng đã đƣợc xử lý , Microsoft sẽ trực tiếp cung cấp, và quản lý dịch

vụ hội thảo của khách hàng. Điều này đảm bảo hiệu quả, thời gian hoạt động, sự hỗ trợ

đạt cấp thế giới và một kinh nghiệm khách hàng tổng quan hơn, trong khi giải phóng cho

khách hàng khỏi trách nhiệm và chi phí quản lý và duy trì các dịch vụ hội thảo.

Page 13: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 13

2. Tìm hiểu Cisco WebEx:

Cisco WebEx có thể hoạt động trên những đƣờng truyền băng thông hạn chế với hình

ảnh video độ nét cao, tiết kiệm chi phí, bảo mật thông tin chặt chẽ. Đây là dịch vụ khá lý

tƣởng trong việc chia sẻ, trình diễn tài liệu hoặc xem trực tiếp màn hình của các thành

viên tham gia hoặc ghi lại toàn bộ hình ảnh và nội dung cuộc họp, các dữ liệu trong cuộc

họp đƣợc kiểm soát một cách nghiêm ngặt và an toàn.

Cisco WebEx cũng cung cấp hình ảnh trực tuyến, chủ cuộc họp có thể theo dõi màn

hình ngƣời tham dự cuộc họp, liệt kê các công việc cần thực hiện và phân việc ngay trên

cuộc họp trực tuyến, ghi chép và lƣu lại mọi tài liệu chia sẻ qua lại trong buổi họp để theo

dõi và hoàn thành. Bên cạnh đó Cisco WebEx Meeting tích hợp tính năng nhắc nhở cuộc

họp thông qua Microsoft Outlook Calendar.

Cisco WebEx đáp ứng nhiều nhu cầu truyền thông đa phƣơng tiện nền web khi cho ra

đời nhiều dịch vụ khác nhƣ đào tạo trực tuyến, hỗ trợ khách hàng, quản lý bán hàng hiệu

quả. Ngoài ra, Cisco WebEx còn nhiều ứng dụng phong phú với những trải nghiệm tuyệt

vời cho khách hàng: Cisco WebEx Telepresence,Cisco WebEx Connect IM, Cisco

WebEx Social.

Page 14: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 14

3. Tìm hiểu OpenMeetings:

OpenMeeting là một open source cung cấp dịch vụ web conference, với tập hợp các

tính năng hữu ích cho ngƣời sử dụng. Các tính năng có thể kể đến nhƣ : Ứng dụng hội

nghị truyền web mã nguồn mở. Xem các máy tính để bàn của ngƣời tham gia bất kỳ.

Video và âm thanh tích hợp. Một trong những tốt nhất các công cụ mã nguồn mở hội

nghị web. Gửi lời mời và liên kết trực tiếp đến phòng hội nghị. Hỗ trợ đa ngôn ngữ . Tích

hợp với các dịch vụ LDAP. Mã nguồn tự do có sẵn. Tin text chat. Tải nội dung trƣớc khi

các cuộc họp. Hỗ trợ lên đến 4 ngƣời dùng tƣơng tác, chƣơng trình phát sóng cho ngƣời

sử dụng không giới hạn. Hoàn toàn miễn phí. Hỗ trợ Windows, Mac và Linux

Page 15: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 15

4. Tìm hiểu BigBlueButton:

Đây là một open source có cung cấp dịch vụ web conference, với mục đích ban đầu là

hỗ trợ E-Learning, nhƣng càng ngày càng đƣợc ứng dụng với nhiều mục đích khác nhau.

Có thể kể đến một số tính năng hệ thống cung cấp cho ngƣời dùng cuối nhƣ : cho phép

họp online qua giao diện web, có thể trình bày slide với các định dạng đƣợc upload lên hệ

thống. Cho phép ngƣời dùng có thể trao đổi qua chat, voice , share webcam, desktop.

Page 16: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 16

5. Đánh giá các cộng cụ & lựa chọn :

Các cộng cụ của các nhà cung cấp dịch vụ lớn trên thế giới có đặc điểm chung là đều

cung cấp các dịch vụ một cách hoàn chỉnh, dể dàng hỗ trợ cho ngƣời sử dụng, nhiều tính

năng, dễ triển khai, sử dụng, bảo trì. Tuy nhiên, chúng cũng gặp phải một số nhƣợc điểm

nhƣ : giá thành đắt đỏ, chi phí triển khai, bảo trì tốn kém, hơn thế nữa, đây là hệ thống

đóng, việc can thiệp vào hệ thống để thay đổi các chức năng là không thể. Các vấn đề về

bản quyền.

Trong khi các công cụ mã nguồn mở thì có ƣu điểm là chi phí triển khai, bảo trì là rẻ,

có thể can thiệp sâu vào hệ thống, tuy nhiên nó lại là một sản phẩm chƣa hoàn chỉnh,

chƣa cung cấp đầy đủ các tính năng, cũng nhƣ khó khăn cho ngƣời sử dụng ở một mức

độ nào đó.

Phân tích tùy thuộc vào hiện trạng hiện có, về chi phí , cũng nhƣ các yêu cầu ngƣời sử

dụng của tổ chức, hay cá nhân , mà ta sẽ lựa chọn giải pháp thích hợp. Ở đây, với yêu cầu

triển khai trên phạm vi hẹp, tính phực tạp của bài toán không cao, cũng nhƣ số lƣợng

ngƣời sử dụng thấp, không yêu cầu quá cao về mặt chức năng hoạt động , ta sẽ lựa chọn

giải pháp mã nguồn mở. Mà cụ thể là lựa chọn giải pháp sử dụng công cụ BigBlueButton.

Page 17: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 17

Chương 3. Triển khai giải pháp tổ chức hội nghị trực tuyến

1. Tìm hiểu hệ thống BigBlurButton:

1.1. Kiến trúc BigBlueButton:

1.1.1. Kiến trúc tổng quan:

Sơ đồ dƣới đây cho thấy các thành phần chính của kiến trúc BBB cũng nhƣ sự tƣơng tác

qua lại giữa chúng:

Giải thích :

1) Nginx đóng vai trò máy chủ proxy cho bbb-web và bbb-apps để cung cấp

RTMPT Server ra bbb-client.

2) Ứng dụng Grails xử lý việc tạo ra hội nghị, lập lịch cho hội nghị và xử lý

Login/logout khi có sự kiên tham gia hội nghị.

3) Chịu trách nhiệm chuyển đổi slide trình bày từ dạng PDF sang dạng Flash.

4) Chịu trách nhiệm chuyển đổi slide trình bày từ dạng PDF sang dạng Flash trong

trƣờng hợp SWFTools không thể chuyển đổi, và thêm nhiệm vụ thu nhỏ bài trình

bày.

5) Message trao đổi qua lại giữa 2 module chính bbb-web và bbb-apps.

Page 18: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 18

6) Ứng dụng Red5 chịu trách nhiệm đồng bộ tất cả bên tham gia vào hội nghị.

7) Lắng nghe các sự kiện của ngƣời sử dụng (joined/left mute/ unmute/talk) và ra

các lệnh(mute/unmute/kick user) đến FreeSWITCH.

8) Voice conference server (máy chủ xử lý dữ liệu voice)

9) Một ứng dụng voice kết nối đến asterisk.

10) Ứng dụng cho việc chia sẻ desktop

11) Ứng dụng cho voice conference.

1.1.2. Kiến trúc BBB-APPS:

Hệ thống sử dụng Red5 nhƣ 1 máy chủ lõi để xử lý tất cả các tƣơng tác thời gian thực với

client. Hình bên dƣới cho thấy kiến trúc BBB-APPS

Giải thích :

1) Điểm truy cập chính vào BBB apps

2) Các ứng dụng khác nhau trong BBB

3) Xử lý joined/leaving cho client, cài đặt ứng dụng , recoders và notifiers.

Page 19: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 19

4) Xử lý các phƣơng thức gọi từ xa từ client.

5) Đồng bộ tất cả các client bằng cách sử dụng SharedObject.

6) Các ứng dụng voice sử dụng AMI để lắng nghe các sự kiện và ra lệnh đến

FreeSWITCH.

7) Ƣng dụng presentation lắng nghe các thông điệp cập nhật chuyển đổi của

presentation từ phía bbb-web

8) Ứng dụng video conferencing.

9) Ứng dụng Voice conferencing

10) ứng dụng Desktop sharing conferencing.

1.1.3. Kiến trúc Joining và quản lý voice conference:

Giải thích :

1) Ngƣời sử dụng gọi cuộc gọi sử dụng điện thoại thông thƣờng hoặc softphone.

1a) Ngƣời sử dụng gọi cuộc gọi sử dụng điện thoại voice nhúng trên client.

2) Đặt ngƣời gọi vào hội nghị thoại. Gửi sự kiện tham gia ra ngoài. Gửi cả sự kiện

ngƣời dùng thay đổi trạng thái (mute/talk/left)

Page 20: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 20

3) Hiện thị trên client ngƣời dùng đã tham gia vào voice conference.

4) Ví dụ , ngƣời điều hành mutes 1 ngƣời tham gia hội nghị.

5) Nói cho FreeSWITCH mutes ngƣời dùng. FreeSWITCH gửi sự kiện ngƣời dùng

đã bị mute.

1.2. Các thành phần của BBB:

BigBlueButton bao gồm các thành phần sau :

Flex SDK: Là 1 open source framework cho việc xây dựng và bảo trì các ứng

dụng web, cái mà triển khai nhất quán trên tất cả các trình duyệt chính, desktop và

OS

Ghostscript : Là 1 trình thông dịch cho ngôn ngữ Post Script và PDF.

Grails: Grails là 1 framework application web mã nguồn mở thúc đẩy ngôn ngữ

Groovy và bổ sung phát triển Java Web.

ActiveMQ : Là mã nguồn mở của nhà cung cấp dịch vụ nhắn tin và hội nhập.

Image Magick: Image magick là một bộ sƣu tập các công cụ đƣợc thiết kế để xem,

chỉnh sửa và thao tác hình ảnh cho gần 70 định dạng hình ảnh khác nhau. Nó cho

phép bạn tạo ra hình ảnh động, nó thích hợp cho các ứng dụng web.

MySQL: hệ quản trị CSDL mã nguồn mở.

Nginx: Là một máy chủ HTTP và máy chủ mail prox.

Red5: Red5 là một mã nguồn mở Flash Server viết bằng Java.

SwfTools: Là một bộ sƣu tập các tool làm việc với tập tin Adobe Flash (SWF file)

Tomcat: Apache Tomcat là 1 thể hiện của công nghệ Java Servlet và JavaServer

Pages.

Open Office: Là một phần mềm văn phòng mã nguồn mở xử lý văn bản, bảng tính,

thuyết trình, cơ sở dữ liệu …

FreeSWITCH: Một platform telephony mã nguồn mở đƣợc thiết kế để tạo điều

kiện thuận lợi cho việc tạo sản phẩm tiếng nói và chò truyện theo định hƣớng.

Redis: Nó thƣờng đƣợc coi nhƣ một máy chủ cấu trúc dữ liệu từ keys. Có thể chứa

các chuỗi , hashs, lists, bộ & bộ sắp xếp.

1.3. Phân tích hoạt động của hệ thống & xác định thành phần MCU :

1.3.1. Tương tác người dùng với hệ thống:

BigBlueButton là 1 hệ thống phức tạp, bao gồm nhiều thành phần khác nhau, đƣợc

làm việc cùng nhau nhƣ một mạng lớn. Chúng ta sẽ bắt đầu tìm hiểu từ những tƣơng tác

với hệ thống.

Page 21: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 21

Ngƣời dùng tƣơng tác với hệ thống thông qua trình duyệt với Flash Player (cần cài

đặt trƣớc khi cài đặt BBB). Flash đƣợc chọn bởi nó là một trong những ngôn ngữ cho dễ

dàng cho phép gửi và nhận streams audio và video.

Khi ngƣời dùng giao tiếp với hệ thống, hệ thống sẽ gửi yêu cầu đến máy chủ web,

bằng cách sử dụng giao thức RTMP hoặc HTTP. HTTP là giao thức rất phổ biến, và đƣợc

hỗ trợ trên tất cả các trình duyệt, sử dụng để tƣơng tác giữa browser và server. Còn giao

thức RTMP viết tắt của “ Real Time Messageing Protocol ”. Trong BBB, RTMP đƣợc sử

dụng để chuyển các đoạn video, audio và data bằng cách sử dụng Flash Player từ ngƣời

dùng đến các máy chủ web. Nó rất quan trọng vì sự tƣơng tác giữ user-server đƣợc thực

hiện thông qua Flash, và chủ yếu là bao gồm các dữ liệu nhị phân (nhƣ upload slide trình

bày), requests video, audio. HTTP đóng gói dữ liệu trong RTMP và tunnel của nó đến

máy chủ web qua cổng 80. Ở đầu bên kia của tƣơng tác này là môt máy chủ web

“Nginx”.

Nginx có vai trò rất quan trọng, nó sẽ gửi thông tin nhận đƣợc từ ngƣời sử dụng

đến 1 trong 2 proxy là : bbb-web hoặc bbb-aps. Nói cách khác , nhiệm vụ chính của

Nginx là để hƣớng các request RTMP tới bbb-aps và HTTP đến bbb-web.

Nhìn vào biểu đồ kiến trúc tổng quan của BBB đƣợc hiện thị ở trên, bạn có thể

thấy rằng ngƣời sử dụng có thể tƣơng tác với hệ thống không chỉ thông qua trình duyệt

/flash player, mà có thể thông qua softphone bằng cách sử dụng VoIP hoặc đƣờng dây

điện thoại thƣờng thông qua PSTN. Sau khi tín hiệu thoại đƣợc gửi đi, nó đƣợc nhận bởi

FreeSWITCH, là một free opent-source communication server, cho phép xử lý dữ liệu

voice và hoạt động trên các dữ liệu đó. Nhƣ trong BBB, Voice đƣợc truyền đến

freeswitch-esl (bbb-web), nó sẽ lắng nghe các sự kiện ngƣời dùng và chuyển tiếp đến

bbb-web và bbb-apps, sau đó gửi nó vào trình duyệt để ngƣời dùng khác có thể nghe

thấy.

1.3.2. BBB-WEB:

BBB-WEB đƣợc sử dụng cho các hoạt động không liên quan đến audio hoặc video

trong BBB. Ví dụ nhƣ , nó đƣợc sử dụng cho việc lập lịch hội nghị , login/logout, lấy/lƣu

dữ liệu vào database, chỉ làm việc với dữ liệu đƣợc tải lên. Nó là ứng dụng Grails.Grails

là một web-app framework cơ sở của Java. “bbb-web” đứng ở đầu tiên của container

servlet Tomcat. bbb-web chỉ sử dụng cơ sở dữ liệu MySQL để lƣu giữ thông tin về tất cả

dữ liệu đƣợc sử dụng trong BBB. (ví dụ nhƣ thời gian diễn ra hội nghị, thông tin ngƣời sử

dụng…)

BBB-web sử dụng 2 bộ chuyển đổi là “SWFtools”. Swf tool đƣợc sử dụng để

chuyển đổi file thuyết trình định dạng PDF hoặc PNG sang định dạng SWF, nếu không

thì ngƣời tham gia không thể xem đƣợc bài trình bày. Các bản thuyết trình đƣợc show

trên trang web đƣợc thực hiện bởi bbb-web chính là các file Flash SWF, sau khi chuyển

đổi định dạng từ file PDF or PNG.

Page 22: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 22

Các công cụ đƣợc sử dụng để tạo ra các hình thu nhỏ của bài trình bày là

Imagemagic và GhostScript. Ngoài ra , Imagemagic còn có chức năng thứ 2 là làm việc

nhƣ SwiftTools trong trƣờng hợp hệ thống không chuyển đổi đƣợc bản trình bày upload

lên.

Công cụ Redis là một máy chủ cấu trúc dữ liệu từ keys, sẽ gửi thông tin về tình

trạng chuyển đổi bbb-web và bbb-aps. Nó là cần thiết để theo dõi các lỗi và làm cho các

thông tin liên lạc giữa 2 thành phần thiết yếu trên của BBB.

1.3.3. BBB-APPS:

Bbb-apps chứa các ứng dụng , nhiệm vụ chính của nó là để load các ứng dụng theo

yêu cầu của khách hàng, để thông báo cho khách hàng về những thay đổi đang xảy ra bên

trong các yêu cầu của ứng dụng, và cũng có thể để xử lý các kết nối giữa khách hàng và

các ứng dụng.

Có 4 ứng dụng làm việc trong BBB. Đó là Chat, Voice, Participants , Presentation.

Các ứng dụng này sẽ tùy thuộc vào tùy chọn mà có hiện thị bên phía client hay không.

Dựa vào biểu đồ kiến trúc ta thấy các ứng dụng Voice đƣợc kết nối đến máy chủ

FreeSWITCH, máy chủ này nhận dữ liệu thoại từ phía client gửi đến.

Ứng dụng Presentation nhận thông tin từ Redis về sự thành công hay thất bại của

việc chuyển đổi các slide dạng PDF, PNG sang SWF.

Ngoài ra nó còn 1 kho lƣu trữ, nó ghi lại bất kỳ sự kiện nào bên trong ứng dụng.

Có thể kết luận bbb-apps là tập các module cho các ứng dụng của BBB, có chức

năng điều khiển kết nối, hiển thị kết quả cho trình duyệt, thông báo về lỗi, nhận và gửi

các yêu cầu, lƣu trữ lại các sự kiện trong các ứng dụng. BBB-APPS chính là đóng vai trò

MC trong hệ thống BBB.

Thành phần FreeSWITCH đóng vai trò MP trong hệ thống BBB.

2. Triển khai hệ thống BBB:

Cài đặt BigBlueButton v0.8 trên Ubuntu server 10.04 LTS

Cần chắc chắn là cấu hình máy chạy server của bạn đáp ứng đƣợc yêu cầu cấu hình thiết

bị khi chạy hệ thống.

Đầu tiên , trƣớc khi tiến hành cài đặt hệ thống, ta có 1 bƣớc kiểm tra các thông số server

của bạn để chắc chắn rằng các gói cài đặt của bạn là mới nhất, và đƣợc hỗ trỡ , cũng nhƣ

tƣơng thích nhất với hệ thống.

Trƣớc hết kiểm tra phiên bản OS chạy server :

Page 23: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 23

Tiếp theo, kiểm tra phông chữ & chắc chắn không có soft nào chiếm dụng cổng 80:

Cuối cùng là chắc chắn các gói phần mềm chạy trên server của bạn đã đƣợc update &

upgrade:

2.1. Update your server :

You first need to give your server access to the BigBlueButton package repository for 0.8

# Add the BigBlueButton key

wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | sudo apt-key add -

# Add the BigBlueButton repository URL and ensure the multiverse is enabled

echo "deb http://ubuntu.bigbluebutton.org/lucid_dev_08/ bigbluebutton-lucid main" |

sudo tee /etc/apt/sources.list.d/bigbluebutton.list

echo "deb http://us.archive.ubuntu.com/ubuntu/ lucid multiverse" | sudo tee -a

/etc/apt/sources.list

Sau đó , để chắc chắn lại , ta chạy lại lệnh

sudo apt-get update

sudo apt-get dist-upgrade

Page 24: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 24

Sau đó , bạn nên resart lại server trƣớc khi cài đặt các bƣớc tiếp theo.

2.2. Install Ruby :

Trƣớc hết bạn cần cài đặt các thành phần cần thiết để biên dịch ruby :

sudo apt-get install zlib1g-dev libssl-dev libreadline5-dev libyaml-dev build-essential

bison checkinstall libffi5 gcc checkinstall libreadline5 libyaml-0-2

tiếp theo, tạo 1 file “install-ruby.sh” và copy đoạn script sau vào file đó:

#!/bin/bash

cd /tmp

wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview1.tar.gz

tar xvzf ruby-2.0.0-preview1.tar.gz

cd ruby-2.0.0-preview1

./configure --prefix=/usr\

--program-suffix=2.0.0\

--with-ruby-version=2.0.0\

--disable-install-doc

make

sudo checkinstall -D -y\

--fstrans=no\

--nodoc\

--pkgname='ruby2.0.0'\

--pkgversion='2.0.0'\

--provides='ruby'\

--requires='libc6,libffi5,libgdbm3,libncurses5,libreadline5,openssl,libyaml-0-

2,zlib1g'\

[email protected]

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.2 500 \

--slave /usr/bin/ri ri /usr/bin/ri1.9.2 \

--slave /usr/bin/irb irb /usr/bin/irb1.9.2 \

--slave /usr/bin/erb erb /usr/bin/erb1.9.2 \

--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.2

sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.9.2 500

Tiếp theo, gõ lệnh run script :

chmod +x install-ruby.sh

./install-ruby.sh

Sau khi quá trình cài đặt kết thúc, gõ lệnh sau để xem phiên bản ruby đã cài đặt:

Page 25: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 25

Tƣơng tự với gem:

Cuối cùng, để chắc chắn bạn đã cài đặt gem, thực hiện câu lênh sau :

Quá trình chuẩn bị trƣớc khi cài đặt hệ thống BBB đến đây là hoàn thành, bạn cần chắc

chắn rằng không có lỗi nào sảy ra trƣớc khi cài đặt hệ thống BBB, nếu không, hệ thống sẽ

báo lỗi trong quá trình cài đặt.

2.3. Cài đặt BigBlueButton:

Trên hệ điều hành Ubuntu ta chỉ cần gõ lệnh sau là hệ thống sẽ tiến hành cài đặt tự động

các module của hệ thống BBB:

Chọn “y” và quá trình cài đặt sẽ diễn ra tự động.

Page 26: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 26

2.4. Cài đặt API Demos:

Để tiến hành test BBB server của bạn vừa cài đặt, bạn cần cài đặt API demos. Sử dụng

lênh sau :

Quá trình cài đặt thành công, bạn có thể join vào một phòng họp từ trang welcome trên

giao diện web của mình.

Sau khi cài đặt xong, bạn có thể khởi động server của mình. Để chắc chắn khởi động

cleany, gõ lệnh sau:

Quá trình cài đặt hoàn tất, ta sẽ có kết quả nhƣ bên dƣới.

Page 27: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 27

Sau khi join vào 1 hội nghị:

Page 28: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 28

2.5. Cấu hình hệ thống :

Có 1 số file cấu hình quan trọng trong hệ thống, cung cấp các chức năng cho phép

quản lý cuộc họp. Ta có thể cấu hình lại các thông số theo mong muốn, cũng nhƣ yêu cầu

của từng cuộc họp cụ thể.

2.5.1. File config.xml (file cấu hình thực thi client):

Theo mặc định thì nó nằm trong thƣ mục : “/var/bigbluebutton/client/conf/config.xml”

Một số trƣờng quan trọng :

Chat module :

privateEnabled : thiết lập là true cho phép chò truyện private.

Viewers Module :

allowKickUser : xác định xem ngƣời điều hành (Moderators) có thể kick một user đang

tham gia hội nghị hay không. Nếu thiết lập là true thì ngƣời điều hành sẽ thêm tùy chọn

kick ngƣời sử dụng đƣợc lựa chọn từ hội nghị bằng cách nhấn vào tên của họ và nhấn nút

kick bên trong cửa sổ ngƣời xem

Page 29: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 29

windowVisible : cửa sổ ngƣời xem có đƣợc hiện thị hay không.

Desktop Module :

autoStart : thiết lập = true để tự động start các module chia sẻ desktop.

Phone Module :

AutoJoin : thiết lập = true để ngƣời dùng tự động join vào voice conference.

enabledEchoCancel: thiết lập = true cho phép hủy bỏ âm vang.

Videoconf Module:

presenterShareOnly: nếu thiết lập = true, chỉ có ngƣời trình bày hiện tại sẽ có tùy chọn

chia sẻ webcam của họ. Nó rất hữu ích cho cuộc họp 1-n, nơi có 1 ngƣời trình bày mà tất

cả mọi ngƣời cần tập trung vào, chẳng hạn nhƣ 1 webcast.

publishWindowVisible: hiện thị các cửa sổ public Webcam. Nếu bạn thiết lập = false thì

autoStart phải thiết lập = true, Nếu không bạn sẽ không thể start camera.

camKeyFrameInterval, camModeFps, camQualityBandwidth, camQualityPicture : cấu

hình chất lƣợng và tốc độ khung hình của webcam

Present Module:

showWindowControls: thiết lập để hiện thị các điều khiển cửa sổ trình bày.

2.5.2. Nginx:

Nằm trong thƣ mục : /etc/nginx/sites-enabled/bigbluebutton

Log file :

/var/log/nginx/bigbluebutton.access.log : web log của các truy cập vào trang BBB

HTML

/var/log/nginx/error.log : web log của các đăng nhập lỗi đƣợc tạo ra bởi nginx dựa

trên các cấu hình trình duyệt.

2.5.3. Red5:

/ Usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties :

properties cho bbb-apps , module lõi cho BBB red5

/ Usr/share/red5/webapps/sip/WEB-INF/bigbluebutton-sip.properties : properties

cho bbb-apps-sip, xác định phạm vi của các cổng để kết nối với Asterisk hoặc máy

chủ FreeSWITCH. Đƣơc sử dụng với bbb-sip.conf.

Page 30: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 30

2.5.4. Tomcat6:

/var/lib/tomcat/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties

: đây là 1 trong những fle cấu hình chính cho các ứng dụng BBB.

/var/log/bigbluebutton/bbb-web.log :chứa Bigbluebutton Grails app

2.5.5. FreeSWITCH:

Trên 1 máy chủ sản xuất, tập tin này mặc định nằm trong:

/opt/freeswitch/conf.VAR.xml

Conference.conf.xml : để thay đổi các thuộc tính hội nghị

Public.xml : để thay đổi định dạng số hội nghị , thay đổi bbb-conferences

3. Triển khai hội nghị trực tuyến trên hệ thống BBB:

3.1. Xây dựng kịch bản hội nghị trực tuyến :

Mô hình tương tác :Đa điểm.

Mô hình điều khiển : Tập trung.

Chức năng :

Tƣơng tác thời gian thực , trực tuyến đa điểm, có tổ chức qua hạ tầng mạng IP.

Bao gồm các chức năng cụ thể sau :

a) Thiết lập kết nối đa điểm :

Chủ tọa thiết lập phòng họp mới, với meeting name: HopTongKet. Lấy địa

chỉ URL của phòng họp.

Gửi email mời họp cho các thành viên: bao gồm thông báo địa chỉ URL

phòng họp, thời gian họp, lịch trình cuộc họp. Ghi chú cho từng thành

viên…

Đến thời gian họp , thuê Lease line từ ISP : time 1h30’ , quy mô cuộc họp

từ 5-10 người tham gia.

b) Điều khiển phiên họp động :

Cho phép ngƣời dùng tham gia vào phiên họp với vai trò thành viên view.

Truyền video , audio.

Làm việc theo lịch trình cuộc họp đã thông báo : vai chủ tọa (center) cho

phép đến lượt báo cáo phát biểu. Tại 1 thời điểm chỉ có 1 thành viên phát

biểu.

Page 31: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 31

Center cấp quyền cho ngƣời dùng phát biểu có thể chia sẻ tài liệu (với định

dạng file có hỗ trợ trên hệ thống) lên hệ thống cho tất cả mọi ngƣời xem

hoặc chỉ chủ tọa xem (ban giám đốc). Share file or share Desktop !

Các thành viên có thể trao đổi với nhau thông qua chức năng : chat

Message (chế độ public or private tùy thuộc vào người sử dụng).

c) Điều độ thời gian thực :

Một thành viên đến phiên mình phát biểu chỉ đƣợc sử dụng 1 khoảng thời

gian định sẵn trong thời gian cuộc họp diễn ra. Hết thời gian đó, chủ tọa sẽ

nhắc nhở hoặc cắt vai trò phát biểu của thành viên.

Khi có 1 thành viên muốn phát biểu : có thể sử dụng chat public hoặc xin

phép chủ tọa (qua chat private). Chủ tọa sẽ xem xét & quyết định (cắt

quyền phát biểu hiện tại & cấp quyền phát biểu mới)

Chủ tọa có quyền thiết lập & kết thúc cuộc họp.

Chủ tọa có thể theo dõi tất cả các trao đổi (public & private) có thể nhắc

nhở các thành viên làm việc riêng (qua chat message) hoặc có thể thu quyền

tham gia hội nghị của thành viên vi phạm.

Khi có thành viên xin thoát khỏi hội nghị chủ tọa thu hồi tài nguyên cấp

phát cho ngƣời dùng đó.

Thành viên trình bày xong trƣớc thời gian cho phép chủ tọa thu quyền

phát biểu và cấp cho ngƣời mới.

d) Kết thúc hội nghị :

Thu hồi tài nguyên cấp phát.

Ghi lại biên bản hội nghị vai trò của thƣ ký hội nghị (báo cáo giấy !!!)

Cấu trúc hệ thống :

Trung tâm :

Đặt tại site 1.

Đặt hệ thống BBB, MCU.

Vai trò chủ tọa (Ban kỹ thuật)

Các thành viên tham gia:

o Kỹ thuật. (1 ngƣời )

o Giám đốc. (1 ngƣời)

o Kế toán (1 ngƣời)

Thành viên Site 2:

Ban Thiết kế : 3 ngƣời

Ban Marketing : 2 ngƣời

Lịch trình cuộc họp : (có thể thay đổi ):

Time họp : 9h – 10h30’ . Đầu tuần (thứ 2)

Page 32: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 32

Time Công việc

Ghi chú

Trước 9h Mời thành viên tham gia cuộc họp

Kỹ thuật : điều tiết cuộc họp

& hỗ trợ kỹ thuật trong quá

trình họp. 9h – 9h5 Điểm danh (List các thành viên)

9h5 – 9h15 Chủ tọa Giám đốc phát biểu phổ biến

cuộc họp

9h15 – 9h45 Ban Marketing : lên báo cáo dự án mới

Có thể phát biểu , thảo

luận trong khi nhóm báo

cáo(1 thành viên nhóm

trưởng trình báy trước,

các thành viên nhóm sẽ

tham gia sau khi có ý

kiến)

Có thể share file or share

desktop lên hệ thống

trong quá trình trình bày.

9h45 – 10h15 Ban Thiết kế báo cáo tiến độ làm dự án

cũ & đề xuất dự án mới

10h15 – 10h30 Kế toán giải trình báo cáo tài chính của

công ty cho giám đốc.

Chia sẻ file với Giám đốc.

10h30 – 10h35 Kết thúc cuộc họp

Viết biên bản cuộc họp

3.2. Thực hiện hội nghị “HopTongKet”:

Bƣớc đầu tiên, chủ tọa tạo phòng họp trên hệ thống, lấy địa chỉ URL của phòng họp và

gửi mail thông báo cho các thành viên tham gia.

Page 33: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 33

Page 34: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 34

Lấy URL của phòng họp :

http://192.168.68.149/demo/create.jsp?action=invite&meetingID=HopTongKet%27s+me

eting

Chủ tọa gửi mail mời họp cho các thành viên. Các thành viên tham gia phòng họp từ link

trên :

Page 35: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 35

Quá trình họp bắt đầu theo kịch bản đã đƣợc xây dựng :

Page 36: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 36

Page 37: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 37

Chương 4. Kết luận và đánh giá kết quả

1. Đánh giá kết quả triển khai hội nghị trên hệ thống BBB

Trƣớc hết việc triển khai tổ chức hội nghị họp trực tuyến đã tuân thủ đúng quy trình tổ

chức, triển khai, hội nghị diễn ra thành công. Tuy nhiên, qua quá trình diễn ra có những

điểm rút ra , số lƣợng thành viên tham gia đồng thời không đƣợc quá lớn so với hạ tầng

mạng có thể cung cấp, hiệu năng hoạt động của hệ thống chƣa đáp ứng tốt, có xuất hiện

độ trễ nhất định trong quá trình hoạt động.

Trong quá trình diễn ra cuộc họp, các thành viên không nên đồng thời chia sẻ

webcome, sẽ ảnh hƣởng hiệu năng hoạt động của hệ thống. Khi có ngƣời phát biểu nên

mute các thành viên khác để tránh tình trạng lỗi âm thanh nghe đƣợc.

Với hệ thống , việc tổ chức quản lý cuộc họp còn khá thủ công, chất lƣợng dịch vụ

còn chƣa đƣợc đảm bảo.

Với mục tiêu tìm hiểu quá trình triển khai một hệ thống cung cấp dịch vụ đến ngƣời

dùng cuối, cùng tìm hiểu về hội nghị trực tuyến trên nền công nghệ web, với sự hƣớng

dẫn tận tình của cô Nguyễn Thị Hoàng Lan, nhƣng do kiến thức có hạn, nên không tránh

khỏi sai sót, em mong cô sẽ có những nhận xét góp ý cho đề tài của em. Em xin chân

thành cảm ơn cô.

2. Hướng phát triển đề tài:

Có thể tham gia vào cộng đồng phát triển dự án BBB, viết thêm các module mới,

cung cấp cho cộng đồng phát triển. Cung cấp thêm các chức năng mới, hữu dụng cho hệ

thống, theo hƣớng thân thiện hơn với ngƣời dùng.

Page 38: Đồ án Web Conference

Đồ án Xây dựng ứng dụng phân tán-Web Conference

Nguyễn Hồng Minh Page 38

Tài liệu tham khảo

1. Slide Truyền thông đa phƣơng tiện & ứng dụng .PGS.TS.Nguyễn Thị Hoàng Lan

2. http://www.bigbluebutton.org/

3. http://code.google.com/p/bigbluebutton/

4. http://en.wikipedia.org/wiki/BigBlueButton

5. https://github.com/bigbluebutton/bigbluebutton

6. http://www.webex.com/

7. http://www.microsoft.com/en-us/office365/lync-online.aspx

8. http://code.google.com/p/openmeetings/