未来课堂软件环境的设计与实现

时间:2022-08-11 10:50:41

未来课堂软件环境的设计与实现

【摘要】随着云计算等信息技术的发展和应用,以未来课堂研究为代表的课堂学习环境设计研究趋向成熟,未来课堂的软件架构也逐步清晰起来。教育技术领域的研究者开始试图构建一个真正地用于教学的技术环境。该研究通过软件需求分析与相应云平台技术的比较,确定了未来课堂软件平台环境构建思路与方案,并进行软件环境的实际搭建。希望为未来课堂的软件环境设计提供一个实践案例,为以后未来课堂进入真正的教学研究提供环境基础。

【关键词】未来课堂;软件环境;设计;实现

一 引言

一个良好的教学(学习)环境只有硬件设备肯定是不够的,还需要功能强大的学习支持系统和各种教学软件来配合,才能构建起一个完整的学习环境。为了实现未来课堂的教学功能,适应未来课堂多屏环境和瘦终端的硬件环境,我们在教学软件环境的设计中引入了云桌面(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),而且还要一些为用户提供的管理虚拟机自动配置的软件,这些都是要花费更多成本。总之,它们都使用瘦客户机协议来分离应用的执行和用户界面,而且它们都允许用户从任何地方使用任何设备进行连接。唯一真正的不同在于,VDI是连接瘦客户机用户到一个Windows XP工作站,而SBC是连接到一台共享终端服务器的一个session。基于VDI的虚拟桌面比较适用于对桌面功能需求完善的用户,基于SBC的虚拟桌面更适合对软件需求单一的内部用户使用。

(3)Ulteo开源项目

Ulteo项目全称Open Source Enterprise Virtual Desktop and Application Delivery solutions(Open Source VDI&SBC),其中Ulteo’s Open Virtual Desktop(OVD)是一个提供应用服务的、开源的、安全的虚拟桌面操作系统。Ulteo基于Debian和Ubuntu,Ulteo的源代码是基于GPLv2许可证,允许用户在任何的设备上通过WEB浏览器运行Linux和微软Windows应用程序。这是一份混合式的、面向网络的、总体上自动化的计算系统,Ulteo可以提供日常应用软件,例如Firefox、Thunderbird、等,并可以容易地从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的一部分。【14j其中包含了终端服务器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 VDI&SBC),其中Ulteo’s Open Virtual Desktop(OVD)是an open and secure application delivery solution&professional 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云桌面学习支持系统,对各服务器的连接、服务器上的应用程序、虚拟桌面的用户以及权限等进行设置。

五 总结与展望

随着云平台技术的发展和应用,相应的关键技术逐步成熟。以未来课堂研究为代表的课堂学习环境设计研究开始进入实践研究阶段,未来课堂的软件架构也逐步清晰起来。教育技术领域的研究者已经开始构建一个真正的用于教学的技术环境。本研究通过对未来课堂教学中对软件需求分析与相应云平台技术的比较中确定了未来课堂软件平台环境构建思路与方案,并进行软件环境的实际搭建。希望为未来课堂的软件环境设计提供一个实践案例,为以后未来课堂进入真正的教学研究提供环境基础。

上一篇:基于遗传算法的车辆路径问题ExtendSim仿真与优... 下一篇:美国网络高等教育十年发展报告:现状、问题与启...