



【摘要】隨著云計算等信息技術的發展和應用,以未來課堂研究為代表的課堂學習環境設計研究趨向成熟,未來課堂的軟件架構也逐步清晰起來。教育技術領域的研究者開始試圖構建一個真正地用于教學的技術環境。該研究通過軟件需求分析與相應云平臺技術的比較,確定了未來課堂軟件平臺環境構建思路與方案,并進行軟件環境的實際搭建。希望為未來課堂的軟件環境設計提供一個實踐案例,為以后未來課堂進入真正的教學研究提供環境基礎。
【關鍵詞】未來課堂;軟件環境;設計;實現
一 引言
一個良好的教學(學習)環境只有硬件設備肯定是不夠的,還需要功能強大的學習支持系統和各種教學軟件來配合,才能構建起一個完整的學習環境。為了實現未來課堂的教學功能,適應未來課堂多屏環境和瘦終端的硬件環境,我們在教學軟件環境的設計中引入了云桌面(CloudDesktop)技術。
云桌面技術是一種僅將操作系統桌面呈現在用戶面前的技術,由服務器端完成計算。通過把計算能力移動到服務器端,將所有桌面虛擬機在數據中心進行托管并統一管理,虛擬桌面的存儲和執行(包括操作系統、應用程序和用戶數據)都集中在數據中心。用戶使用終端設備通過遠程協議進行訪問,以虛擬桌面的形式替代個人電腦,不僅大大降低了企業和學校成本,而且具有與傳統個人電腦同樣的用戶體驗。因此,云桌面具有很高的應用價值和用戶吸引力。
未來課堂教學軟件環境主要包含:云桌面學習支持系統、基于Windows的學科應用軟件、基于Android系統的應用工具構成,并通過無線互聯軟件和協議進行無縫連接形成一個完整的教學軟件環境支持體系。
二 需求分析
1 未來課堂教學對于軟件環境的新要求
未來課堂的教學環境要求對軟件系統提出了新的要求,為此本研究對中小學各學科教師進行了訪談調查,一共做了16份訪談,訪談對象包括各個學科初、高中教師,由于未來課堂環境建設偏重于新技術接受方面,其中8份選擇信息技術教師作為訪談對象。根據問卷調查中教師對新技術使用的疑慮和軟硬件環境提出的要求,對軟件系統主要提出如下要求:
(1)軟件及系統維護管理更集中
需要將應用和數據集中在統一的服務器集群中,嚴格分發控制,客戶端上執行的存儲和操作(包括操作系統、應用程序和用戶數據)都集中在數據中心,從而可以實現管理員對用戶行為的統一管理和監控。
(2)總體擁有成本(TCO)更低
未來課堂環境需要簡化終端對硬件配置的要求,同時使用虛擬化技術讓服務器的資源可以得到充分利用,且集中式的管理降低管理人員的工作量,從而整體上降低各種設備部署與維護的成本。
(3)用戶體驗更佳
軟件支持系統直接面向最終用戶,需要做到用戶體驗透明,無論后臺如何龐大和復雜,對于用戶而言應該是一個熟悉和易用的環境,這樣對系統性能、整體效率和用戶體驗等有了更高服務標準。通過無線網絡讓用戶真正享受云速度和云存儲共享,定制的界面系統和隨需派送的個體差異化服務,泛在網絡接入與訪問。
(4)應用更低碳環保
未來課堂的設計理念中低碳和環保也應該是一個重要主題。許多學校都有大量的低配舊電腦,無法升級并使用到新的操作系統。所以軟件系統應該支持瘦終端,無需本地存儲,無需再安裝任何軟件,由此這些被閑置了巨大的計算資源可以重新運行起來,這對學校來說很有意義。
2 傳統桌面學習向云桌面學習的轉變
云桌面是一種新的云計算應用模式,是繼服務器虛擬化后在虛擬化領域的又一熱門解決方案形式,是桌面虛擬化的升級,它帶來了桌面應用的革命。因此,云桌面繼承和實現了云計算和桌面虛擬化技術的創新和優勢,相比較傳統PC的應用形式和理念(圖1),其以低成本、高可靠性、低維護量、高安全性和節能環保等特點,在教育技術的應用中越來越受青睞。我們可以預見,云桌面技術被引入到未來課堂的學習支持系統中,帶來的不僅是創新教育,而且將大大促進學習支持系統的快速發展。
總之,云桌面本身是虛擬化技術與云計算的結合和應用,既繼承和發揚了兩者的特點和優勢,又進一步提高了傳統PC和虛擬桌面的性能。因此,如何在校園打造私有云并實現云桌面,為資源整合和集成服務的實現提供可靠的技術支持環境,并在教育應用中得到認可和推廣,是值得在未來課堂環境中引入和深入研究的。
三 方案選擇和關鍵技術
根據對未來課堂環境需求的理解,和對云桌面技術自身優勢的總結,我們的軟件環境設計應重點關注如何利用云桌面技術改進學習工具的使用,改善教學效能,對各個環節進行分析和合理設計。
1 方案選擇
未來課堂軟件環境設計和方案選擇需要綜合各類因素,既要保證技術實現基礎,又要解決實際面臨的困難。在考慮到本研究現有整體資源的局限性下,需充分考慮未來課堂所確定的硬件設備資源,盡量優選免費、開源的相關技術支持。經過前期市場調研,選取了幾種主流方案評估,歸納如表1。
2 關鍵技術
未來課堂的軟件環境建設涉及了幾項關鍵技術,包括云計算技術、云桌面技術、Ulteo開源項目相關技術等。其中,Ulteo開源項目相關技術主要圍繞闡述Ulteo OVD技術、Hypervisor、CoLinux、GPLv2,以及Windows Server 2003相關技術等。
(1)云計算
自從Google在2006年首次提出“云計算”(Cloud Computing)的概念,這個名詞就被迅速認同和推廣“云計算”。是近年來的重要創新技術之一,在當今科技世界里,新興的技術可能在數月或者幾年內興起與衰退,但云計算的出現被預期會歷久不衰。它正對IT的基礎架構產生了巨大的影響和改變,甚至可能產生十年前Web的出現對于IT網絡的革新意義。雖然目前云計算是一個流行用語,實際上,大家對于云計算還沒有形成公認的權威定義。
維基百科把云計算定義為“一種計算架構轉型,用戶不再需要在云中的技術架構層面的專家和控制。云計算描述了一種新的、基于網絡的IT服務的供應、消費和傳遞模式。這種模式的特點是動態地組織并做為一種服務供應可擴展的,通常是虛擬化的網絡資源”。
張際平教授認為“云計算是在分布式系統、網格計算、虛擬存儲等基礎上形成的一種新型共享基礎架構,其核心是提供數據存儲和網絡服務”。
Googe Reese根據云計算的核心是提供服務,提出了判斷是否為云計算服務的三項標準:
①用戶可以通過開放的網絡瀏覽程序或者網絡傳輸接口獲得服務:
②不需要任何前期啟動費用支出;
③用戶只支付所用的費用,并且只當在使用時。
雖然云計算的定義還沒有權威標準,但大家對于云計算的平臺架構研究有很多共通的方面。2011年美國國家標準與技術研究院(National Institute of Standards and Technology:NIST)將云計算認定為是“一個模型,一個泛在的、方便的、網絡方式的按需訪問可配置的共享計算資源池(包括網絡、服務器、存儲、應用程序和服務等),能夠被以最少的管理和交互成本快速提供和釋放”。NIST云模型是由八個共同特征、五個基本特征、三個服務模式和四個部署模型組成,這體現了云計算平臺架構的范型。
2011年“地平線報告”(Horizon Report)強調指出云計算(Cloud Computing)是影響未來教育的六大技術之一。2011年埃森哲(Accenture)公司的調查報告“探究云計算的未來:駕馭下一個技術驅動轉變的浪潮”顯示,云計算在教育領域的潛在應用體現為三點:獲取全球資源(access to global resources)、低成本仿真(low cost simulation)和高度交互/協作學習(highly interactive/collaborative learning),尤其后兩點使得云計算在教育領域的研究有了立足點和發展方向。
(2)云桌面
由上節可知,借助于云計算技術,可以為學生使用網絡提供了無限多的可能,為存儲和管理數據提供了幾乎無限多的空間,也為學生完成各類應用提供幾乎無限強大的計算能力。云桌面是在云計算技術的基礎上可以通過PC、工作站、筆記本、上網本、智能手機、PDA等任何與網絡相連的設備來訪問跨平臺的應用程序以及整個客戶桌面。
簡單地說,云桌面是一種僅將操作系統桌面呈現在用戶面前的技術,由服務器端完成運算。通過把計算能力移動到服務器端,將所有桌面虛擬機在數據中心進行托管并統一管理,虛擬桌面的存儲和執行(包括操作系統、應用程序和用戶數據)都集中在數據中心。用戶使用終端設備通過遠程協議進行訪問,以虛擬桌面的形式替代個人電腦,不僅大大降低了企業和學校成本,而且具有與傳統個人電腦同樣的用戶體驗。因此,云桌面具有很高的應用價值和用戶吸引力。
云桌面的技術基礎是桌面虛擬化技術(Desktop Visualization)桌面虛擬化解決方案主要分為兩大類:虛擬桌面基礎架構(Virtual Desktop Infrastructure,VDI)和基于服務器計算技術(Server-Based Computing,SBC)。
VDI是當前的主流架構與部署方式,通過提供對底層存儲、網絡等基礎資源和上層虛擬桌面的集中管理和連接功能,向終端用戶提供靈活和良好的虛擬桌面交付。VVDI桌面云解決方案采用“集中計算,分布顯示”的原則,支持客戶端桌面工作負載(操作系統、應用程序和用戶數據)托管在數據中心的服務器上,用戶通過支持遠程桌面的協議(如Remote Desktop Protocol:RDP,Independent Computing Architecture:ICA)的客戶端設備與虛擬桌面進行通信。每個用戶都可以通過終端設備來訪問個人桌面,從而大大改善桌面使用的靈活性。通過VDI提供虛擬桌面服務(Visual Desktop as a Service)技術,一方面滿足使用者不在受限于特定的硬件設備就可以隨時隨地獲取云端私人化服務,另一方面可以讓專業人士管理維護軟件和硬件資源。這對于老師和學生而言,都將是一種全新的即時互動教學體驗,將大大增加溝通與互動。
SBC技術也是當前云桌面技術的一個重要分支,所有計算均由一組共享服務器和與服務器連接保持的用戶會話提供。客戶終端的所有計算請求,由服務器響應。唯一的功能要求是客戶終端必須直接與用戶互動,如鍵盤發送、鼠標輸入和圖形顯示更新等。下面我們對VDI和SBC這兩種技術進行比較,看它們各自的優勢在何處,如表2。
由表2可以看出,在VDI環境中,每臺用戶虛擬機可利用的資源更多,所以應用繁重時性能比SBC好,且沒有兼容性方面的問題,每個用戶虛擬機就是一個單獨的工作站,因此你不用擔心應用與終端服務的兼容性問題;VDI具有更好的安全性,由于每個用戶都有自己獨立的虛擬機,所以你不必為加固用戶Session而擔心,如果其中一個用戶出錯,不會影響到其他的用戶,也可以“暫停”單個虛擬機,然后將其從一臺服務器移到另一臺服務器上。這在維護系統時將會很方便;不管物理硬件如何,虛擬化軟件提供給用戶的是一個通用的硬件情況。因此在所有用戶桌面都是虛擬機的情況下,用戶在辦公室時可以使用集中的后端服務器,而不在辦公室需要離線運行時,可以使用手提電腦運行系統,靈活采用本地或遠程運行,并且可以輕松地前后切換。
與VDI相比,SBC可以在單個終端服務器或Citrix Presentation Server上運行50~70個桌面session,這個服務器只需管理一個Windows實例。而在VDI中,50~70個用戶就要50~70個Windows的副本,然后你還要對它們進行安裝、配置、管理、打補丁、查毒、更新和殺毒。VDI需要更多服務器硬件,潛在的高性能是有代價的。與在一臺終端服務器上給用戶分配session相比,讓每個用戶都擁有一個完整的工作站虛擬機將需要更多的計算資源。一個有4GB RAM、雙處理器的服務器作為終端服務器可以運行50~100個桌面session,而在VDI中,可能就只能運行15~20臺Windows XP虛擬機。另外,VDI需要更多的軟件,除了操作系統和應用軟件以外,還需要虛擬機軟件(VMware或Microsoft),而且還要一些為用戶提供的管理虛擬機自動配置的軟件,這些都是要花費更多成本??傊鼈兌际褂檬菘蛻魴C協議來分離應用的執行和用戶界面,而且它們都允許用戶從任何地方使用任何設備進行連接。唯一真正的不同在于,VDI是連接瘦客戶機用戶到一個Windows XP工作站,而SBC是連接到一臺共享終端服務器的一個session。基于VDI的虛擬桌面比較適用于對桌面功能需求完善的用戶,基于SBC的虛擬桌面更適合對軟件需求單一的內部用戶使用。
(3)Ulteo開源項目
Ulteo項目全稱Open Source Enterprise Virtual Desktop and Application Delivery solutions(Open Source VDISBC),其中Ulteo’s Open Virtual Desktop(OVD)是一個提供應用服務的、開源的、安全的虛擬桌面操作系統。Ulteo基于Debian和Ubuntu,Ulteo的源代碼是基于GPLv2許可證發布,允許用戶在任何的設備上通過WEB瀏覽器運行Linux和微軟Windows應用程序。這是一份混合式的、面向網絡的、總體上自動化的計算系統,Ulteo可以提供日常應用軟件,例如Firefox、Thunderbird、OpenOffice.org等,并可以容易地從Ulteo面板擴展以其他第三方工具。
Ulteo客戶端只需要激活Java的WEB瀏覽器就可以運行應用程序。但Ulteo有別于其他Linux操作系統的最大特點在于類似于“云計算”的理念(即以前的“NC”概念)。除了一般的安裝在本地計算機的版本,也可以通過網絡登錄,在支持JAVA的操作系統上通過瀏覽器使用。該功能的實現并不是一個模擬效果,而是真實系統的運行,包括各種應用程序的使用(文件編輯等)。Ulteo繼承了虛擬桌面技術的所有特點,值得一提是用到一個重要技術是應用程序代管(Hosted Application),應用程序集執行在云端的主機上,用戶端只接受程序執行后的界面,使用者無法看到所有的作業系統界面。Ulteo在開放源碼方面為Open Source的Hosted Application套件解決方案,提供讓Linux和Windows應用程序可以同時執行和使用的虛擬桌面環境。其主要程序建構在Linux主服務器上,而Windows應用程序是通過Windows服務器上的Terminal Server來傳輸。
Ulteo開源項目中有幾個比較重要的技術特點,包括CoLinux、Type-1 Hypervisor、Session Mananger、GPLv2和Windows Server 2003及系統工具。以下將進行簡單介紹:
①CoLinux(Cooperative Linux的縮寫),是一種免費使用和開源的解決方案,它讓Linux更好的運行在Microsoft Windows本機系統下。CoLinux用到了協同虛擬機(Cooperative Virtual Machine,CVM)的概念,區別于完全被主機控制的傳統的虛存系統(Virtual Memory System,VMs)。通常CoLinux是Linux內核(Kemel)的一個端口,使自己作為一個輕量級內核模式的虛擬機,運行在其它操作系統的內核之上。例如,我們不需要第三方的商業虛擬機軟件(如Vmware)就可以自由的在Windows 2000/XP/Vista/7上運行Linux,這是不使用虛擬機軟件的最佳方式。
CoLinux允許在Windows操作系統上開發和執行Linux應用程序。還可以用apt-get安裝、更新或刪除應用程序,從而維護Linux操作系統,在CoLinux上執行Linux應用程序不需要重新構建。從這個角度來說,CoLinux是與Windows操作系統協作的真正的Linux操作系統。CoLinux另一個優點是可移植性,可以在一個Windows主機上建立一個CoLinux發行版,并在根文件系統中安裝一套定制的應用程序。然后,可以將根文件系統轉移到另一個主機,并重新啟動。這樣就有了一個可移動的開發平臺,壓縮后的根文件系統完全可以放在一個標準USB記憶棒中。最后,CoLinux的速度很快,因為它本質上是在本機硬件中運行的。CoLinux的主要缺點是它有可能導致整個機器崩潰(包括所有進行協作的操作系統),因為訪客操作系統以特權模式在主機內核中運行。它的正常操作還依賴于外部軟件(窗口和連網支持)。
②Hypervisors,是一種在虛擬環境中的“元”操作系統。他們可以訪問服務器上包括磁盤和內存在內的所有物理設備。Hypervisors不但對這些硬件資源的訪問進行協調,也同時在各個虛擬機之間施加防護。當服務器啟動并執行Hypervisor時,它會加載所有虛擬機客戶端的操作系統同時會分配給每一臺虛擬機適量的內存、CPU、網絡和磁盤。Hypervisor是所有虛擬化技術的核心,非中斷地支持多工作負載遷移的能力是Hypervisor的基本功能。目前市場上管理程序(hypervisor)的架構存在差異,本文采用的是Type-1 Hypervisor,虛擬機直接運行在系統硬件上,創建硬件全仿真實例,被稱為“裸機”型。
③GPLv2(GNU General Public License,version 2),是監管開源代碼的最知名且使用最廣泛的許可證之一。它被應用于Linux內核以及許多其他被廣泛使用的開源項目。GPL是General Public License的縮寫,中文含意是通用性公開許可證,我們可以把GPL看成是自由軟件所遵從和使用的各種許可證中的一種,而與Windows軟件系統不同的是,GPL同其他的自由軟件許可證一樣,許可社會公眾不但享有、運行、復制軟件的自由,還有發行傳播軟件、獲得軟件源碼和改進軟件并將自己作出的改進版本向社會發行傳播的自由。GPL精髓就是,只要使軟件在完整開源的情況下,盡可能使使用者得到自由發揮的空間,使軟件得到更快更好地發展。
④Windows Server 2003,是微軟的服務器操作系統。相對于Windows 2000做了很多改進,如:安全性能和認證、Active Directory(活動目錄)(如可以從schema中刪除類)、Group Policy(組策略)操作和管理、復制和重命名管理、磁盤管理【如可以從Shadow Copy(卷影復制)中備份文件】、IIS6和DNS等。特別是在改進的腳本和命令行工具,對微軟來說是一次革新:把一個完整的命令外殼帶進下一版本Windows的一部分?!?4j其中包含了終端服務器TS(Terminal Server)、域名系統DNS(Domain Name System或Domain Name Service)、Web服務器、動態主機配置協議(DHCP)服務器和HTTPS服務器等。
四 軟件環境的實現
為了架構未來課堂軟件環境,研究者搭建的溫州大學未來課堂教學研究實驗室中架設了私有云服務器,安裝了云桌面(Cloud Desktop)學習支持系統。這樣學習終端平板電腦就可以同時使用云桌面學習支持系統提供的基于Windows的學科應用軟件和平板自身所帶的基于Android系統的應用工具形成豐富的應用軟件體系,并通過無線互聯軟件和協議使整個系統和實驗室軟硬件進行無縫連接最終形成一個完整的教學軟件環境支持體系。
1 未來課堂教學軟件環境的設計架構
根據未來課堂的教學要求、師生使用需求和未來課堂既有硬件設備條件,進一步進行了資源整合,性能可行性優化,最后得出最簡化設計架構,具體架構如圖1。
(1)整體架構方面,云端設置為兩臺服務器(主服務器Serverl和從服務器Server2)和一臺PC機(充當從服務器Server3)、網絡設備和客戶終端設備。其中,Server3可以充當Admin Console的角色。主服務器Serverl的操作環境是Ubuntu10.04版本,同時安裝Ulteo OVD Standalone installation DVD(3.0版本),包含Session Manager(SM),MYSQL,Apache2等。其中SM是建立與管理不同用戶界面和應用程序服務之間的會話。從服務器Server2的操作環境是Windows Server 2003,并安裝Ulteo Application Server,并執行Http Server(HS)和Terminal Sever(TS)等。PC機(Server3)的操作系統是Windows 7,用戶需要定制的應用軟件資源部放置于此機上,本機通過VNC Server連接Serverl,另外還可以用于運行Web方式的管理控制臺(Admin Console)。值得指出的是Admin Console不僅僅在云端可以運行,在客戶端也可以通過管理員權限訪問。以上是基于“云”端的框架配置,而客戶端方面,則以最簡單化為原則,只需要具有支持Javal。6+插件的瀏覽器就可訪問云端開放的所有資源。因此,客戶終端設備將可以有多種選擇。
(2)網絡連接方面,網絡協議是HTTPS(HTTP+SSL),可通過TCP/IP端口運行。服務之間的互聯是通過HTTP,如 Session Manager和Application Server,TCP端口為1111和1112(非標準服務端口)。RDP是微軟為其TS使用的遠程桌面協議,RDP使用的是TCP3389端口。本平臺采用的是局域網,網段為192.168.0.*。
(3)資源配置方面,Serverl和Server2服務器同時運行,可以設置最大終端接入數。Serverl的File Server可以實現云存儲,兩臺服務器可以按需求配置Linux和Windows的應用程序,而客戶端可以同時訪問到所有云端的應用程序。
(4)客戶端配置方面,客戶端可以采用多種訪問方式,如:網頁瀏覽器(需要一個Java插件執行);專用OVD窖戶端軟件(用于Linux或Windows PCs或瘦終端):iPad和Android的客戶端(僅桌面模式),這樣客戶端就獲得了云桌面學習支持系統提供的基于Windows的學科應用軟件和平板自身所帶的基于Android系統的應用工具。
2 軟件系統具體實現
Ulteo項目全稱Open Source Enterprise Virtual Desktop and Application Delivery solutions(Open Source VDISBC),其中Ulteo’s Open Virtual Desktop(OVD)是an open and secure application delivery solutionprofessional services,即提供應用服務,是一個開源的、安全的虛擬桌面操作系統。Ulteo OVD的安裝位置即在服務器集群上。首先在服務器集群上建一個主服務器Serverl,Serverl的核心組件是Ulteo OVD v3.0,包含諸如Ulteo Application Server,Session Mananger和LAMP架構,其中LAMP架構是Ubuntu10.04版本、Apache2、MySQL和PHP語言。并進行相應的資源配置和IP設置。然后在VMware虛擬機上再建一個服務器Server2,搭建Windows Server2003操作系統,并安裝Windows Application Server、Terminal Server和HTTPS server等。并建立主從服務器之問的網絡連接。最后在中央控制臺的主機上安裝Java 6.0。利用控制臺電腦,通過瀏覽器登錄到Ulteo云桌面學習支持系統,對各服務器的連接、服務器上的應用程序、虛擬桌面的用戶以及權限等進行設置。
五 總結與展望
隨著云平臺技術的發展和應用,相應的關鍵技術逐步成熟。以未來課堂研究為代表的課堂學習環境設計研究開始進入實踐研究階段,未來課堂的軟件架構也逐步清晰起來。教育技術領域的研究者已經開始構建一個真正的用于教學的技術環境。本研究通過對未來課堂教學中對軟件需求分析與相應云平臺技術的比較中確定了未來課堂軟件平臺環境構建思路與方案,并進行軟件環境的實際搭建。希望為未來課堂的軟件環境設計提供一個實踐案例,為以后未來課堂進入真正的教學研究提供環境基礎。