摘自 http://os.51cto.com/art/201201/311464.htm
SPICE(独立计算环境简单协议)是红帽企业虚拟化桌面版的三大主要技术组件之一,具有自适应能力的远程提交协议,能够提供与物理桌面完全相同的最终用户体验。它包含有3个组件:
SPICE Driver :SPICE驱动器 存在于每个虚拟桌面内的组件;
SPICE Device:SPICE设备 存在于红帽企业虚拟化Hypervisor内的组件;
SPICE Client:SPICE客户端 存在于终端设备上的组件,可以是瘦客户机或专用的PC,用于接入每个虚拟桌面。
这三个组件协作运行,确定处理图形的最高效位置,以能够最大程度改善用户体验并降低系统负荷。如果客户机足够强大,SPICE向客户机发送图形命令,并在客户机中对图形进行处理,显著减轻服务器的负荷。另一方面,如果客户机不够强大,SPICE在主机处理图形,从CPU的角度讲,图形处理并不需要太多费用。图-1是 SPICE三个组件示意图 。
图-1 SPICE三个组件
SPICE体系结构如图2 。
图2 SPICE体系结构
SPICE的工作原理是创建几个通用接口或“通道”,它们都高度抽象,所以能在各种平台上使用。通道主要包括六个:
- 主通道
- 显示通道
- 输入通道
- 鼠标控制通道
- 播放通道
- 记录通道
每个通道可以是一个单独的数据流。SPICE协议原为Qumranet公司的主要产品SolidICE所使用,提供了和真实PC相同的用户体验,通过spice我们可以直接在虚拟机里播放高清视频和音频,这点是vnc不能比的 。两者对比如表-1 。
SPICE | VNC | |
BIOS屏幕显示 | 能 | 能 |
全彩支持 | 能 | 能 |
更改分辨率 | 能 | 能 |
多显示器 | 多显示器支持(高达4画面) | 只有一个屏幕 |
图像传输 | 图像和图形传输 | 图像传输 |
视频播放支持 | GPU加速支持 | 不能 |
音频传输 | 双向语音可以控制 | 不能 |
鼠标控制 | 客户端服务器都可以控制 | 服务器端控制 |
USB传输 | USB可以通过网络传输 | 不能 |
加密 | 通讯可以使用SSL进行加密 | 不能 |
Spice的未来的功能:
- 直接借助对DirectX和API来实现一个虚拟视频卡。加快CAD应用和多媒体应用。更快的切换与游戏画面直接绘制过程减少闪烁。
- 视频加速(DXVA)视频播放应用程序支持DXVA,如Windows媒体播放器,可以减少对客户端的CPU利用率。
- 3D加速 会更快地运行在一个虚拟的桌面,如OpenGL和3D应用程序,
- Windows Aero的支持,使用虚拟桌面时可以使用Windows Vista和7现在不可以。 可以动态地改变虚拟桌面分辨率。
- 兼容iPhone 和 ipad 通过智能手机,如iPhone 和 iPad等设备控制。
- 剪贴板共享你可以共享与虚拟桌面环境的剪贴板,数据将允许相互合作可用于无缝连接。
- 网络打印机共享:打印机被允许从网络访问,提高可用性。