Vào năm 1994 viện nghiên cứu ORL đã xây dựng hệ videotile để thử nghiệm cho công nghệ ultra-thin-client. Hệ videotile là một thiết bị hiển thị như màn ảnh LCD, một cây bút điện tử và được kết nối qua mạng ATM . Nó được thiết kế để hiển thị video với chất lượng tốt, nhưng cái mà người ta mong muốn khi xây dựng hệ này là nó có thể tương tác với nhiều ứng dụng khác. Từ thí nghiệm đầu tiên cho đến cuối cùng, người ta mong muốn hiển thị màn hình của máy tính từ xa, và phải có ý nghĩa trên mạng có băng thông thấp.
Một điều có thể nói là rất thông minh về mặt ứng dụng đó là hình ảnh truyền đi của giao diện người dùng như là hình ảnh của video nhưng chỉ những phần hình ảnh thay đổi thì mới được tryền đi đó là ý tưởng để phát triển giao thức VNC.
84 trang |
Chia sẻ: huong.duong | Lượt xem: 1831 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu công nghệ thin client và hệ Virtual Network Computing, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
máy tính. Công nghệ mới này không làm cản trở tương tác tự nhiên người-máy và nó được dựa trên công nghệ tính tính toán mạng ảo VNC. Nó cũng là mô hình tính toán ultra-thin-client/server mà được phân tách thành giao diện hiển thị từ những hệ thống cửa sổ ứng dụng logic. Server thực hiện tất cả các ứng dụng trong khi đó client đơn giản là hiển thị cập nhật từ framebuffer và chấp nhận các đầu vào (bàn phím, chuột, bút điện tử..).
Việc tìm ra công nghệ này là một quá trình nghiên cứu lâu dài và còn là sự đúc kết từ những kinh nghiệm trước đó của các nhà nghiên cứu viện AT&T Laboratories Cambridge. Sự thu nhận (capturing) các hoạt động cung cấp các mẫu nguồn (source of record) được xem là các tài nguyên cần thiết rất nhiều cho nghiên cứu này. Trong khi đó việc đánh chỉ số (indexing) các mẫu nguồn này cho phép các thông tin truy cập ngẫu nhiên và nhanh hơn nhiều. Một số công cụ tính toán phân tích và tập hợp âm thanh, hình ảnh và ghi nhận tương tác người máy để hỗ trợ việc thu nhận theo thời gian thực của hàng chuỗi truy cập hoạt động của người dùng. Mặc dù những tương tác người máy có thể cung cấp rất nhiều các tập chỉ số mà chúng ta có thể lấy ra từ các ghi nhận của nó. Thí dụ, mỗi người dùng tạo một sự kiện như là bấm phím trên một phiên làm việc của một máy trạm nào đó, sự kiện được ghi nhận trên mỗi phiên làm việc đó.
Hoạt động trên máy tính (COMPUTER-BASED ACTIVITIES)
Hoạt động tính toán là một trong những hoạt động quan trọng trong hệ thống VNC. Mô hình client/server mà chúng ta rất quen thuộc được chuyển sang mô hình client/proxy/server, việc đặt giữa client và server một proxy chính là để ngăn chặn và xử lí luồng thông điệp trong phiên kết nối của client-server. Mô hình này sẽ được trình bày kĩ hơn trong phần sau. Proxy server sẽ nhận thông điệp trước và lưu giữ chúng thường xuyên. Đồng thời nó cũng đồng bộ hóa các điểm giữa các thông điệp liên tiếp. Các thông điệp cập nhật framebuffer được lưu trữ trên một file log. Chỉ cần file log này thôi là có đủ khả năng quay trở lại các hoạt động trước đó trong các phiên làm việc của VNC. Sự bất đồng bộ hóa của VNC client (tức là VNC reviewer) thì có thể đọc và hiển thị các thông điệp cập nhật từ file log và cũng một cách tương tự như việc đồng bộ hóa của VNC client đọc và hiển thị các thông điệp cập nhật từ VNC server. Kết quả đạt được với các đoạn video cho phép người dùng theo dõi các chuyển động này tương tự như việc xem và điều khiển trên bàn điều khiển của đầu máy video (VCR). Tuy nhiên các kết quả thu được khi xem các đoạn phim hay movie thường là xuất hiện hiện tượng đen hay bị mờ.Việc cung cấp các khả năng duyệt và tìm kiếm, các thông điệp này hay còn gọi là các sự kiện chính được tổ hợp từ các điểm (check point) được đánh chỉ số. Các thông điệp này được lưu trữ và có thể được ánh xạ đồng bộ hóa với các điểm cập nhật khung trong file log để có thể truy cập ngẫu nhiên.
Một thông điệp framebuffer thường có tầm ảnh hưởng tới một vùng nhỏ của toàn bộ framebuffer, và nó có thể truy cập những thông điệp được thu nhận một cách rất tuần tự. Để có thể truy cập một cách ngẫu nhiên, ngoài việc lưu trữ các thông điệp framebuffer, thì cần phải tạo ra các điểm checkpoint vào trong file log. Mỗi một điểm checkpoint là một thông điệp cập nhật các dữ liệu pixel framebuffer ở những thời điểm xác định. Trong khi tìm kiếm các chỉ số của mỗi một thông điệp cập nhật, VNC sẽ đọc điểm checkpoint được đánh dấu gần nhất và hiển thị ảnh lên màn hình. Nếu sau đó nó phát hiện một số điểm checkpoint chưa được hiển thị, nó sẽ truy cập vào file log để tìm các điểm checkpoint trước đó.
a/Các sự kiện và các chỉ số (Events to Indices)
Người ta đã nghiên cứu thấy sự đa dạng của việc tăng các chỉ số trong việc ghi nhận dữ liệu đa phương tiện. Việc xác định thông điệp các sự kiện cũng như việc đánh chỉ số các điểm từ thông điệp framebuffer và để làm rõ làm thế nào chuyển đổi các sự kiện này vào trong việc đánh chỉ số sử dụng kiểu khai báo theo giáo sư Minneman:
Đầu tiên, các ghi chú đặc biệt được đánh chỉ số trong suốt quá trình của phiên làm việc, nó phục vụ cho việc đánh dấu các thời điểm hay các khoảng hoạt động đặc biệt hay các là các điểm mà chúng ta quan tâm. VNC client cho phép người dùng ghi chú một đoạn văn bản ngắn gọn lên các hoạt động trên máy tính như là tiến trình của họ (tức là thông điệp client cut text - sao chép một đoạn văn bản trên client trong giao thức RFB) và sự kiện này sẽ đánh chỉ số. Một ví dụ khác về các ghi chú đặc biệt là nó có thể sử dụng việc đánh dấu một đoạn văn bản mà chúng ta muốn trên vị trí màn hình nào đó và tất nhiên có thể sao chép nó lại như là thông điệp server cut text - sao chép một đoạn văn bản trên server trong giao thức RFB.
Thứ hai là, với một số các họat động nào đó chưa được đánh chỉ số, thì chúng sẽ được cung cấp chỉ số, bởi vì VNC cung cấp cơ chế tự động ngay ở thời điểm bắt đầu hoặc kết thúc của một sự kiện. Ví dụ như các sự kiện bao gồm key event (sự kiện phím), pointer event (con trỏ chuột) và bell (chuông). Mục đích của key event và pointer event là người dùng tương tác với máy tính, còn bell là để thông báo có một điều gì đã xảy ra. Nhưng các sự kiện này có thể được người dùng để tâm tới và được lặp lại thao tác nhiều lần. Những căn cứ cơ bản đó thì được cung cấp bởi client cut text và server cut text mà bắt nguồn từ hay thao tác cơ bản mà chúng ta hay dùng đó là cut-và-paste, và mỗi đoạn văn bản sao chép qua phiên làm việc sẽ được cung cấp một chỉ số.
Thứ ba là, các chỉ số này được sinh ra bằng một phân tích tự động của bản ghi chi tiết dữ liệu đa phương tiện. Ví dụ, bằng việc phân tích một thông điệp thì chúng ta có thể tính toán được kích thước của một vùng framebuffer mà được thay đổi kể từ khi cập nhật chỉ số thay đổi của mỗi hình ảnh. Một sự thay đổi của một hình ảnh lớn thì có thể đó là sự đóng hay mở một của sổ ứng dụng, và theo cách đó là một khả năng tốt trong việc đánh chỉ số tới toàn bộ các hoạt động.
Cuối cùng, các chỉ số bổ sung được tạo trên bản ghi các hoạt động khi có một truy cập muộn của một người dùng nào đó. VNC reviewer cho phép người dùng ghi chú trong suốt tiến trình. Như các ghi chú đặc biệt, các ghi chú bổ sung mang theo thời điểm bắt đầu và có thể tập hợp thành các chỉ số.
b/Lặp lại thao tác, duyệt và tìm kiếm (Replaying, Browsing và Searching)
VNC reviewer có thể lặp lại hoạt động thu nhận tương tự như việc phát lại một đoạn băng video. Tuy nhiên, các kết quả của việc phát lại hình ảnh đó sẽ mất nhiều thời gian do truy cập một cách tần tự, trong khi đó việc đánh chỉ số sự kiện giúp chúng ta thực hiện dễ dàng và nhanh chóng bằng việc truy cập ngẫu nhiên.
Chúng ta sẽ thấy được một vài kiểu của việc duyệt các giao diện khác nhau để cho phép người dùng có thể duyệt qua các hoạt động thu nhận hay bắt giữ các thông tin hoạt động của máy tính. Mỗi một sự duyệt đó gọi là một trình duyệt con (thumbnail browser). Khi người dùng nhập vào một số ví dụ 40 chẳng hạn, thì trong việc cập nhập trường văn bản, trình duyệt sẽ dịch số đó thành một cau truy vấn SQL như sau:
select * from frame-buffer-update where update >= 40%;
Với ý nghĩa là:
“Chọn tất cả các sự kiện cập nhật framebuffer mà có sự thay đổi 40% hay nhiều hơn của vùng ảnh”
Sau đó truy vấn này được gửi tới nơi lưu trữ sự kiện và các sự kiện đó có vấn đề gì sẽ được thực hiện lại. Việc sử dụng việc đánh dấu sự kiện (event’s timestamp), giúp chúng ta có thể định vị các điểm đồng bộ hóa thích hợp của các sự kiện trong file log của thông điệp cập framebuffer. Các hình ảnh tại các vị trí xác định sẽ được chuyển đổi sang các hình ảnh nhỏ hơn và hiển thị chúng. Việc chọn một trong các hình ảnh nhỏ đó theo một thứ tự xác định sẽ tạo nên toàn bộ các hoạt động như ban đầu.
Đối với các sự kiện hay các sự kiện liên tiếp từ các đầu vào (bàn phím, chuột,..). Khi người dùng sử dụng phím ví dụ nhập liên tiếp hai kí tự “Is” được tìm kiếm trong trường văn bản và sẽ soạn ra một truy vấn SQL sau đây:
select * from key-event where key=‘l’ followed-by key=‘s’;
Với ý nghĩa là:
“Chọn tất cả các sự kiện phím mà phím đầu tiên là kí tự ‘I’ ngay sau đó là kí tự ‘s’”
Tương tự như việc tìm kiếm đơn giản trong Microsoft Word, người dùng có thể chỉ ra rằng chuỗi từ cần tìm là tương đối (match case) hay chỉ tìm toàn bộ trong chuỗi đó.
Sự chuyển đổi việc tìm kiếm sang truy vấn SQL là dấu kín đối với người sử dụng. Tuy nhiên, sự chuyển đổi này có thể chọn để hiển thị hoặc chuyển những truy vấn này trước khi chúng được gửi tới để lưu trữ sự kiện. Tất cả các sự kiện thỏa mãn yêu cầu thì sau đó các truy vấn sẽ được lấy ra thực hiện. Từ các thời điểm hiện tại trong khi thực hiện lại, chúng ta có thể định vị các điểm đồng hóa gần nhất trong file log của thông điệp cập nhật framebuffer theo một hướng nhất định, tức là cả hướng tiến là lùi đều tương ứng với thời điểm xác định của một mẫu sự kiện thực hiện gần nhất. Các hình ảnh được vẽ tại các vị trí, và tiếp tục tìm kiếm các hình ảnh trước và sau hay hình ảnh hiện tại.
Chúng ta đã xem xét tất cả các sự kiện cả người dùng và sự kiện hệ thống như các chỉ số có khả năng hữu ích, nhưng trên thực tế thì không phải tất cả các chỉ số hay dấu hiệu đều có ích cả. Trong khi cập nhật bộ đệm khung, sự kiện phím, cut/copy/paste là những thành phần tìm kiếm phổ biến thì sự kiện nắm bắt vị trí và sự kiện con trỏ là rất khó khăn bởi vì hầu như người sử dụng chẳng bao giờ nhớ vị trí mà họ kích chuột cả.
Các nghiên cứu liên quan
Có nhiều công cụ multimedia sử dụng việc ghi âm thanh số, hình ảnh và tính toán để thu nhận các hoạt động của người dùng và tự động phân tích việc thu nhận các phương tiện đó sử dụng công nghệ trí tuệ nhân tạo để tạo ra siêu dữ liệu (metadata). Công nghệ đó bao gồm xử lí tiếng nói, xử lí hìnnh ảnh và phục hồi thông tin.
Trong khi các công nghệ về multimedia truyền thống hỗ trợ sự thu nhận và đánh chỉ số cho các hoạt động nó chung thì trọng tâm của công nghệ VNC là chỉ dựa trên các hoạt động trên máy tính. Việc thu nhận các hoạt động này không cần đến các thiết bị mở rộng như camera hay video capture card để tạo ra một phương thức đánh chỉ số mới.
Một ví dụ, dự án Informedia tạo ra các khung chính của một đoạn video bởi một phát hiện nhanh về sự dịch chuyển màu sắc quan trọng và hệ thống phân tích nội dung của đoạn video (MoCA-Movie Content Analysis) để tạo ra các đoạn video thay đổi từ những tính toán để nhận ra các cảnh không liên tục. Trong hệ thống VNC, sự nhận ra sự thay đổi của các hình ảnh dễ dàng hợn: việc cập nhật framebuffer đưa ra kích thước của vùng framebuffer đã được thay đổi trong khi nó được cập nhật, tuy nhiên chúng ta có thể nhận ra sự thay đổi của các hình ảnh này để tạo ra các hình ảnh nhỏ hơn mà không cần xử lí ảnh.
Một thí dụ thứ hai, dự án DART (Digital Asset Retrieval Technology) sử dụng OCR (Optical Character Recognition) để xác định khả năng của văn bản trong hình ảnh hay video. Cơ chế OCR có thể được áp dụng cho hình ảnh và các kết quả thì rất chính xác bởi vì nền văn bản thì dễ dàng thu nhận. Ngoài ra chúng ta có thể dễ dàng đánh dấu chuỗi mà mình muốn.
CHƯƠNG III
CÁC CÔNG NGHỆ THIN CLIENT VÀ HỆ
VIRTUAL NETWORK COMPUTING
Giới thiệu
Ngày nay công nghệ thin client đã được ứng dụng rộng rãi trong các ứng dụng mạng. Trước khi chúng ta đi tìm hiểu các công nghệ hay mô hình được sử dựa trên công nghệ này hãy tìm hiểu về các thành phần chủ yếu để cấu tạo nên một ứng dụng.
Thông thường một hệ thống thin client hay còn gọi là hệ thống tính toán thin client/server gồm ba thành phần chính: Server, mạng và client.
Cài đặt ứng dụng và chạy trên server
Network
Ứng dụng
được truy cập
từ client
Hình 3.1 Mô hình ba thành phần của thin client
Dựa trên mô hình chung này công nghệ thin client đã phát triển theo hai hướng đó là các công nghệ trình diễn phân tán và các công nghệ trình diễn từ xa. Sự khác nhau của hai hướng công nghệ này là cách tiếp cận tới mô hình tính toán thin client. Trong khi các công nghệ trình diễn phân tán cho phép tồn tại ứng dụng fat client được triển khai như thin client, thì các công nghệ trình diễn từ xa đỏi hỏi các ứng dụng được phát triển theo một kiến trúc riêng. Các công nghệ này thì được quan tâm đặc biệt của các công ty phát triển ứng dụng và nó có vẻ được đánh giá tốt hơn các công nghệ trình diễn phân tán.
Các công nghệ trình diễn phân tán
Kiến trúc trình diễn phân tán chỉ chạy trên một phần nhỏ của tần trình diễn trên client. Phần còn lại của tầng trình diễn như là các tầng dữ liệu và ứng dụng hoàn toàn chạy trên server. Client đơn thuần là hiển thị đồ họa của giao diện người dùng đồ họa của mỗi ứng dụng.
Hình 3.2 Kiến trúc trình diễn phân tán
Các công nghệ giới thiệu sau đây là các công nghệ dựa trên kiến trúc trình diễn phân tán. Rất phổ biến các thiết bị thin client thực thi một trong các công nghệ này. Tuy nhiên, kiến trúc thin client không phải là trung tâm thiết bị (device-centric), chúng như là phần mềm vậy.
Kiến trúc tính toán độc lập (ICA)
Khái quát về công nghệ
Kiến trúc tính toán độc lập (ICA-Independent Computing Architecture) là một giao thức trình diễn phân tán được phát triển bởi Microsoft. Nó được thiết kế để cung cấp các hiển thị với một tầm quan trong trên mạng có băng thông không lớn. ICA là một giao thức đường truyền sử dụng để giao tiếp giữa client và server và có thể mở rộng những chức năng sau:
• Trình diễn ở chế độ full-screen
• Trình diễn hình ảnh ứng dụng Graphical Windows
• Đầu vào từ chuột và bàn phím
• Điều khiển phiên kết nối
• Các kết nói đồng bộ hóa trên mỗi frame
• Phát hiện và khôi phục lỗi
• Mã hóa và các compression hooks
• Liên kết file hệ thống, in ấn, cổng COM
• Các kết nối ảo theo kiểu Multiple
Giao thức này thường được sử dụng để hiển thị các ứng dụng được gọi là Thinwire.
Thinwire là một dòng dữ liệu lôgic đóng gói trong một goi tin ICA.
Hình 3.3 Thông tin giữa ICA client và server
ICA không độc lập với optional protocol drivers. Những thông điệp và đàm phán trong quá trình bắt tay của ICA xảy ra khi bắt đầu một phiên kết nối. Protocol drivers có thể được xóa bỏ hay thay thế và bổ sung thêm các driver. ICA họat động cùng với các công nghệ kết nối như TCP/IP, NetBIOS or IPX.
Hình 3.4 Giao thức ICA và tầng giao vận
Đánh giá công nghệ
Client
Tài nguyên ICA client (UI engine’s footprint) chiếm rất ít chỉ khoảng 150KB. Đủ nhỏ để được nạp các yêu cầu từ server. Bởi vì ICA được dựa trên trình diễn phân tán, client không bao gồm các giao diện người dùng đồ họa lớn mà nó chỉ đơn thuần là hiển thị đồ họa từ các giao diện người dùng đồ họa.
Protocol
Giao thức Windows widgets cho phép tối ưu hóa cập nhật linh họat từ giao diện người dùng đồ họa. Giao thức sử dụng kiểu nén để làm giảm việc nạp từ mạng vào trong hàng đợi cho phép tối ưu đường truyền. Hơn nữa dữ liệu thì được mã hóa trên từng mức gói tin ICA. Dữ liệu bao gồm keystrokes, client drive và dữ liệu in.
Mã hóa của ICA được chứng minh là không an toàn. Họ dùng mã SecureICA, được đưa bởi Citrix sử dụng khóa trao chuyển Diffie-Hellman và sử dụng 128-bit RC5 để mã hóa tầng giao vận. Tuy nhiên, chúng chỉ hỗ trợ cho Windows và các trình duyệt Web.
Server
ICA thì không cung cấp cơ chế điều khiển phiên. Hệ điều hành chạy server ICA không quan tâm tới vấn đề đó. Hầu hết các server ICA cung cấp chế độ cân bằng tải hoặc gửi chúng theo những thành phần mở rộng. Trong khi đó khả năng sẵn sàng, tính chịu lỗi chỉ trên mức phần cứng.
Giao thức RDP (Remote Desktop Protocol)
Khái quát công nghệ
RDP cũng là giao thức phát triển bởi Microsoft. Nó dựa trên dòng chuẩn giao thức T.120. RDP hỗ trợ các kênh ảo và có thể mở rộng thêm các kiểu dữ liệu mới như ICA. Nó phụ thuộc vào tầng giao vận, tuy nhiên, RDP phiên bản 5.0 chỉ hỗ trợ TCP/IP. RDP gửi đi những video driver theo những cấu trúc trên mạng cho client. Client nhận được dữ liệu và biên dịch chúng bằng những hàm Windows API tương ứng. Client có thể sử dụng các đầu vào như chuột bàn phím để gửi lại tới server. Trên server, RDP sử dụng bàn phím ảo và các driver của chuột để nhận các sự kiện. RDP thì rấ thích hợp trong môi trường Windows. RDP sử dụng các kiểu nén và lưu trữ dữ liệu bitmaps và đóng khung dữ liệu trên RAM.
Đánh giá công nghệ
Công nghệ này được đánh giá là như công nghệ ICA.
Client
RDP client so với ICA client chỉ chiếm 150kB tài nguyên khi nạp và có yêu cầu. Và có cơ chế kết nối linh hoạt hơn, hơn nữa RDP client có thể chạy trên nhiều môi trường như Windows, UNIX, Mac và Java.
Protocol
RDP được quảng cáo bởi Microsoft là chỉ sử dụng ít hơn 6 Kbit/s băng thông của mạng. So với ICA, việc bảo mật hỗ trợ cả hai kiểu 56-bit hoặc 128-bit dựa trên bảng mờ RSA RC4 và kiểu mã hóa này cũng được sử dụng trong SSL.
Server
RDP có ưu điểm là cân bằng tải (NLB), hỗ trợ Windows 2000 Advanced Server và Datacenter Server. Cơ chế cân bằng tải có thể cho phép các client cùng kết nối vào các server chạy trên các dịch vụ đầu cuối. Việc điều khiển phiên được hỗ trợ bởi hệ điều hành.
X Windows
Khái quát công nghệ
Giao thức X được phát triển vào giữa những năm 1980 để cung cấp giao diện người dùng đồ họa qua mạng cho hệ điều hành UNIX. Giao thức này khác với hai giao thức trên (ICA và RDP). Hai giao thức trên thực thi theo cơ chế chiếm giao diện người dùng đồ họa của ứng dụng và gửi đến client để hiển thị.
Giao thức này sử dụng đồ họa vectơ, trong khi đó thì thì cả giao thức ICA và RDP sử dụng đồ họa bitmap.
X client gửi các yêu cầu tới X server. X server chấp nhận các yêu cầu từ nhiều client và đáp lại các thông tin yêu cầu hoặc các lỗi. X client (tức ứng dụng) thì dược phát triển với các hỗ trợ củ các thư viện (Xlib, Xt) đó là ưu điểm của giao thức này.
X cung cấp một hệ thống cửa sổ ứng dụng chung theo cả độc lập thiết bị và tầng phụ thuộc. Giao thức dựa trên cơ chế bất đồng bộ trong giao tiếp giữa X client và X server. Trong thực tế, giao thức X Protocol ẩn dưới hệ điều hành và phần cứng.
Hình 3.5 Sơ đồ kiến trúc X Window
Đánh giá công nghệ
Client (tức X server)
X server chiếm giữ tài nguyên lớn khoảng 50MB và cần bộ vi xử lí mạnh mẽ chứ không như ICA client hoặc RDP client. X server có thể triển khai với các thin client, nhưng tốt hơn là hệ thống fat client.
Protocol
X server tỏ ra rất hiệu quả trong việc hiển thị giao diện người dùng đồ họa do ứng dụng hình ảnh được vectơ hóa. Tuy nhiên, giao thức này tải cao trên mạng do X Protocol có kiểu nén và truyền dữ liệu đơn giản và không tối ưu.
Kiểu nén và lưu mở rộng theo kiểu băng thông thấp (LBX-Low Bvàwidth X) của X Windows làm hạn chế số lượng kết nối. Bắt đầu với phiên bản X11R6, kiểu bảo mật tối thiểu được cung cấp dựa trên kiểu mã hóa DES không thường sử dụng hiện nay. Giao thức này không tuân thủ với cấu hình tường lửa (firewall) bởi vì nó không hỗ trợ cơ chế bảo mật HTTPS (HTTP tunneling secured through SSL).
Server (tức X client)
Server không có cơ chế cân bằng tải. Việc điều khiển phiên được xây dựng một cách độc lập. Trong khi đó thì ICA và RDP được hỗ trợ bởi hệ điều hành. Phần lớn giao thức X có nhiều hạn chế. Giao thức này thiếu hiệu quả và không cung cấp bảo mật cao, hơn nữa client phải lưu trữ nhiều và cần bộ vi xử lý mạnh mẽ.
Tổng kết các công nghệ trình diễn phân tán
ICA
RDP
X-Window
AIP
VNC
Server
Platform
Windows,
UNIX
Windows
UNIX
Windows,
UNIX
Windows,
UNIX, Mac
Client
Platform
Win, UNIX,
Mac, Java,
Terminals
Win, UNIX,
Mac, Java,
Terminals
Win, UNIX,
Mac, Java,
Terminals
Win, UNIX,
Java
Win, UNIX,
Mac, Java
Nhúng Web
ActiveX control, Netscape Plug-in, Java Applet
ActiveX control
Java Applet
Java Applet
Java Applet
Tài nguyên Client
150 KB
150 KB
2000 KB
1200 KB
70-150 KB
Mã hóa giao thức
Compressed
graphics
Compressed
graphics
Vector encoding
(Depends on
protocol
tunneled)
Run-length
encoded
pixels
Cập nhật
Server push
Server push
Server push
Server push
Client pull
Dự trữ
3 MB RAM, 1% of disk (glyphs và bitmaps)
1.5 MB RAM, 10 MB disk (glyphs và
bitmaps)
Không
(Depends on protocol tunneled)
Không
Yêu cầu hàng đợi
Có
Có
Không
Có
Không
Kiểu kết nối
TCP/IP và
others
TCP/IP
TCP/IP và
others
TCP/IP
TCP/IP
Hỗ trợ HTTP
Không
Không
Không
Có
Không
Lưu lượng trung bình
30 Kbit/s
30 Kbit/s
N/a
30 Kbit/s
30+ Kbit/s
Xác nhận
Challenge / Response
(128-bit RSA RC5)
Challenge / Response
(128-bit RSA RC4)
Kerberos
X.509 Certificate
(SSL-based)
Challenge / Response
(56-bit DES)
Mã hóa
128-bit RSA
RC5
128-bit RSA
RC4
Không
SSL-based
Không
Multi-user
Có
Có
Có
Có
Không
Cân bằng tải
Có
Có
Không
Có
Không
Session Shadowing
Có
Có
Không
Có
Có
Session
Resuming
Có
Có
Không
Có
Có
Hỗ trợ thiết bị cục bộ
Có
Có
Không
Có
Không
Bảng 3.1 Tổng kết công nghệ trình diễn phân tán
Các công nghệ trình diễn từ xa
Ngoài các trình duyệt, hiện nay các công nghệ trình diễn từ xa chỉ phục vụ cho vấn đề thị trường. Một vài sản phẩm đã có mặt trên thị trường. Lý do nà công nghệ này dường như ít phổ biến là các ứng dụng phải phát triển cho những kiến trúc cụ thể hay theo một đơn đặt hàng. Các công nghệ trình diễn phân tán được đưa ra trong phần trước triển khai cả ứng dụng fat client và thin client.
Các công nghệ dựa trên trình duyệt (browser)
Khái quát công nghệ
Trình duyệt web như là một máy trình diễn từ xa phổ biến trong một thời gian dài thay thế cho những corporate desktop. Dựa trên HTML và công nghệ HTTP, mục đích chỉ yếu của nó là hiển thị các loại tài liệu được nạp từ server. Với khả năng của HTML là có thể mô tả trên các form, các công ty có tiếng trong việc xây dựng các ứng dụng này gọi là các “ứng dụng web”. Các ứng dụng web dành cho trình duyệt để hiển thị giao diện người dùng đồ họa của ứng dụng. Tuy nhiên, trình duyệt web chưa bao giờ phục vụ cho mục đích này, nó dẫn đến một mối quan tâm gây trở ngại của các ứng dụng web.
HTML thì đã có những hạn chế trong khả năng hiển thị một giao diện người dùng. Những người dùng đáp trả những hiển thị của các trang trong một trình duyệt bằng cách là click chuột lên đường dẫn để xem tài liệu mới hay tương tác với cái gọi là “các kiểu điều khiển” được nhứng trong tài liệu đó. Trong phiên bản HTML 4.01 định nghĩa các kiểu điều khiển sau:
• Buttons
• Checkboxes
• Radio Buttons
• Menus
• Text input
• File select
Các kiểu điều khiển tiên tiến như là các dialog, scroll panel, tabbed pane, tree view, sliders hay các progress bars thì chưa có. Hay muốn nói rằng chúng không được quan tâm trên những thiếu sót của HTML.
Để bù lại những thiếu sót của các kiểu điều khiển, các nhà phát triển đã tạo ra một hướng mới là sử dụng DHTML5.7. DHTML là sự kết hợp của JavaScript và công nghệ Cascading Style Sheets (CSS), với sự mở rộng chức năng của HTML. Nó không phải là một chuẩn đề nghị bởi World Wide Web Consortium (W3C) và các nhà cung cấp trình duyệt thì cài đặt DHTML theo chuẩn của họ. Đó là lý do, mà ngày nay các ứng dụng web phần nào đi trước DHTML trong sự trung thành với trình duyệt. DHTML đã không thành công trong việc giản quyết các vấn đề ở trên.
Java Applet là một công nghệ khác cố gắng tìm cách vượt qua những hạn chế của HTML và cũng lại thất bại. Các applet là vùng nhỏ của mã lệnh Java có thể chạy trên trình duyệt. Với những applet, việc truy cập vào công nghệ Java-API đầy đủ, cung cấp nhiều các thành phần giao diện người dùng đồ họa thông qua một ngôn ngữ lập trình hướng đối tượng. Ngày nay Java applets có hai hướng phát triển:
(1) Trên các ứng dụng web, chúng đóng vai trò như add-ons. Và triển khai ứng dụng cùng với HTML.
(2) Hơn nữa Java applets được sử dụng cho việc triển khai thuận lợi ác ứng dụng fat client viết trên ngôn ngữ Java.
Đánh giá công nghệ
Client
Client trong công nghệ dựa trên trình duyệt là trình duyệt web. Các sản phẩm ngày nay với các đặc tả thì không nhiều. Bảng sau đây cho chúng ta sự so sánh vể một số trình duyệt phổ biến.
Package Footprint
Installation Footprint
MS Internet Explorer 6.0
10 MB
12 MB
Netscape Navigator 4.08
9.7 MB
15 MB
Netscape 6.1
26 MB
26 MB – 36MB
Opera 6.058
3.2 MB
4 MB
Bảng 3.2 Browser clients footprints
Protocol
Các công nghệ dựa trên trình duyệt sử dụng giao thức Hypertext Transfer Protocol (HTTP). HTTP được định tuyến bởi tường lửa (firewall). Giao thức HTTP cấu tạo nên từ các yêu cầu/đáp ứng. Trong giao thức HTTP/1.060, hầu hết các thực thi được sử dụng cho các kết nối mới với mỗi một trao đổi yêu cầu/đáp ứng.
Cơ chế này được gọi là “giữ cho hoạt động ” và nâng cao hiệu năng. Hơn nữa, cơ chế này có thể sử dụng để thực thi server-push. Vấn đề bảo mật trên web ngày tỏ ra nóng bỏng, một kiểu mã hóa rất có hiệu quả là SSL. Tất cả các giao dịch đều phải dựa trên những chứng nhận hay thẩm quyền.
Server
Phần lớn các sản phẩm web-server cung cấp cơ chế cân bằng tải và có tính chịu lỗi. Việc điều khiển phiên được cung cấp bởi các khung làm việc ứng dụng web (JSP6.1 hay ASP6.2).
3.3.2 Khung làm việc thin-Client của IBM (TCF- Thin-Client Framework)
3.3.2.1 Khái quát công nghệ
TCF là một khung thiết kế và tiếp cận thiết kế/phát triển, nó hỗ trợ phát triển của các client phân tán trong công nghệ Java. TCF định nghĩa một mẫu kiến trúc dựa trên mô hình Model-View-Controller rất
Các file đính kèm theo tài liệu này:
- DAN334.doc