人类活动最大的成本花费在哪里?我认为在沟通和学习上。我们从哇哇落地开始,就在不断的学习前人总结的经验。学校教育,大大加速了这一进程。随着互联网的发展,人们可以自由的分享知识和经验,使得我们平时遇到的问题基本上都可以从互联网上找到答案。因此,互联网当之无愧为人类最伟大的发明之一。它减少了多少 人们沟通和学习的成本啊!这个系列里,我要说说瘦客户端的那些事。涉及的知识都是来自互联网,所以,要感谢Google,感谢Wikipedia。最后,我将我学习和总结的知识再回馈回互联网,希望能对他人有所帮助,有所启发。

言归正传,让我们开始说说瘦客户那些事……

所谓“瘦客户端”,就是指,我们只需要一台配置一般的终端设备(PC电脑、手持设备等),就能拥有超计算机的计算处理能力。其实,这离我们并不遥远。BS应用的发展,已经让我们实现了只要一台配置一般的智能手机,就能通过Google完成亿万次的搜索计算。

上面的这个模型大家已经熟悉的不能再熟悉了。客户端发出指令,服务端接收指令,执行完运算后,将结果返回给客户端。但是,这个系列我要讲的,并不是上面这个模型,而是:

我们的手机(瘦客户端)不再是Google搜索中,搜索任务简单的发送者和接受者,而是一个更加实时的操作超级计算机的感受。我们的每一次鼠标移动,点击,键盘输入,触摸屏的滑动,仿佛手机本身就是一个超级计算机。有了这样的瘦客户端,我们不再需要购买价格昂贵、骨灰配置的电脑,而我们只需要一个很低配置的上网本,平板电脑,或是智能手机,就能一样畅快淋漓的玩魔兽世界、极品飞车。在未来科幻电影中的通话联络的智能手表、查看战斗指数的眼镜,都有可能实现。

同时,我们不再为程序的跨平台所担心。瘦客户端中,能跨平台执行各种应用程序,比如Windows的Word,Linux的OpenOffice,Mac里 的XCode。更让人惊喜的是,我们运行一款软件之前,不再需要经过“下载”、“安装”的步骤,而是立即使用。不管是多大的游戏,多复杂配置的软件。我甚至大胆推测一下,在未来,人们将不再使用Windows,Linux,Mac之类的操作系统,取而代之的将是完全基于网络的网络操作系统。而现有的这些操作系统,失去了个人用户也很难再维持发展,必将慢慢被淘汰。最后必将涌现出的,是各种基于不同瘦客户端协议的完全基于网络的操作系统。谷歌现在开发的chromium操作系统,正是符合这个发展趋势的,不过具体是怎样的,我没用过,也不好说。

在这个系列里,我尽量避免使用“云”之类炒的火热的词汇。我们见过了太多的所谓的“云”,十有八九是伪云,比如杀毒领域最大的忽悠云查杀。云计算和这里讲的瘦客户有一定的契合,但不完全相同。云计算强调的是大规模数据中心按需分配的计算能力,就像集中式发电厂。云计算是服务端的“胖”,瘦客户强调的是客户端的“瘦”,如果两者一结合,必将擦出火花。

未来并不遥远,我们能想的到的,都有人在尝试了。国外著名的有Onlive,Gaikai,OTOY等, 他们都实现了通过私有协议,在配置一般的机器上,远程玩像孤岛危机之类的大型游戏。特别是Onlive,由于其雄厚的实力,与硬件提供商、网络提供商、游 戏开发商都有深度的合作。比如,Onlive自主投资开发的定制硬件,和美国艺电有限公司(Electronic Arts)、育碧(Ubisoft)、Take-Two互动软件(Take-Two Interactive Software)、华纳兄弟、交互式娱乐和英佩数码美国艺电有限公司(Electronic Arts)、育碧(Ubisoft)、Take-Two互动软件(Take-Two Interactive Software)、华纳兄弟、交互式娱乐和英佩数码达成的深度合作。就连谷歌微软,都想买断Onlive的技术。

iPad展示OnLive  Demo: http://v.youku.com/v_show/id_XMTgyMzYzNjI4.html

国内也有一家公司实现了这样的技术,叫 云联科技 。公司仅仅成立一年多,在中国现有的网络环境下,在没有定制硬件的前提下,就做出如此惊人的成果,不得不让人称叹。

但是,这么好的技术,为什么现在还没有普及开来呢?最大的障碍,是“延迟”和巨大的服务端消耗。

先来说说延迟。这里提到的是“延迟”,而不是“带宽”。为什么呢?延迟的英文是latency,带宽的英文是bandwidth。很多时候,人们会把两者混淆。有些人搞不清楚,为什么我的带宽提升到了联通4M,玩电信的服务器网游还会卡?带宽是指每秒最大的传输能力,延迟是指信号请求从发出到接收到所经过的时间。

误区:随着带宽越来越大,延迟也会越来越小。
上面的图已经很清楚,如果传输的数据未达到带宽限制,即便带宽再大,信号从发生到接收的时间T1-T0,只取决于其传输的速度和距离。假如服务器在美国,距离没办法改变,爱因斯坦说,速度的极限是光速。而光纤的传播速度也许只能达到40%光速。所以说,如果你要给远在4000公里之外的地方传输数据,比如从美国的加利福尼亚到马萨诸塞州,延迟不可能再低于44毫秒。

游戏或软件实际消耗的带宽其实并不多,而且,带宽在理论上是可以无限增加的,而延迟才是最大的问题,因为传播的速度不可能超过光速。比如,我以前用电信 512K带宽的网络玩剑三,非常的流畅。现在我用联通4M带宽玩剑三,延迟却很高。就像Gaikai这样的公司,由于距离的限制,目前也只能接受洛杉矶地 区玩家的试玩申请。

减少延迟的办法,在有限的情况下加快传输速率,以及尽可能的缩短传输的距离,比如,就近部署服务器。

另外一个障碍,是巨大的服务端消耗。我们可以想象,我们需要花费很多钱购买很好性能的机器才能流畅的玩孤岛危机之类的大型游戏。像Onlive这种云游戏服 务器供应商,相当于需要给我们每个人都配一台这样服务器。成本可见是巨大的。即便是Onlive自己定制的硬件,一台服务器同时也只能服务几个人。

除了使用瘦客户端玩大型游戏,我们还可以用瘦客户端运行我们日常使用的软件或小游戏。无需下载,无需安装,一点即用,跨平台,多么有吸引力!而且,软件相对于游戏来说,不需要高清的传输画面,因此对带宽要求也低很多。软件开发商也不再需要针对各平台进行开发。理论上我们只需要一个版本的《植物大战僵尸》,就可以在iphone, android, pc等各种终端设备上运行。

这样的技术,是如何实现的呢?像Onlive,Gaikai之类的公司,使用的是自己的专有传输协议,我无从考证。但是,接下来的文章,我会从现有的一些知名的或开源的远程传输协议开始,逐步深入技术细节,把我知道的那点瘦客户端的事告诉大家。敬请期待~

作者:CoderZh(CoderZh的技术博客 - 博客园)
微博:http://t.sina.com.cn/coderzh 
出处:http://coderzh.cnblogs.com

瘦客户端那些事 - 开篇相关推荐

  1. 瘦客户端那些事 - 开篇,互联网营销

    人类活动最大的成本花费在哪里?我认为在沟通和学习上.我们从哇哇落地开始,就在不断的学习前人总结的经验.学校教育,大大加速了这一进程.随着互联网的发展,人们可以自由的分享知识和经验,使得我们平时遇到的问 ...

  2. 瘦客户端那些事 - 远程传输协议

    上篇说到了关于瘦客户端的一些现状和遐想,接下来我们开始探索这种技术实现的可能.要实现瘦客户端,最重要的是选择一种客户端和服务端都能理解的沟通方式,这种沟通方式就是通讯协议,或者远程传输协议. 本文不讨 ...

  3. 【Alljoyn】 Alljoyn学习笔记七 Alljoyn瘦客户端库介绍

    Alljoyn瘦客户端库介绍(上) 1.简介 本文档对AllJoynTM瘦客户端的核心库文件(AJTCL)进行了详尽的介绍.本文档介绍了系统整体架构,AllJoyn框架结构,并着重于介绍如何将嵌入式设 ...

  4. 胖客户端程序RCP与瘦客户端程序TCP

    胖客户端程序RCP与瘦客户端程序TCP最大的区别在于:运行的平台不一样. RCP是运行在桌面端的程序,需要安装在电脑中,占用硬盘资源,但运行效率比较高.如常用的很多软件,Office.Photosho ...

  5. java web胖客户端,【转载】:瘦客户端、胖客户端、富客户端

    瘦客户端(Thin Client): 指的是在客户端-服务器网络体系中的一个基本无需应用程序的计算机终端. 它通过一些协议和服务器通信,进而接入局域网.作为应用程序平台的Internet的到来为企业应 ...

  6. 胖客户端与瘦客户端概念与区别

    客户端(Client) 客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序.除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行. 服务 ...

  7. ProxmoxVE 之 使用thinstation利旧安装瘦客户端

      上面左边是我的个人微信,如需进一步沟通,请加微信.  右边是我的公众号"Openstack私有云",如有兴趣,请关注. 桌面云的一个环节是瘦客户端,如果在企业当中有老旧电脑,可 ...

  8. 胖客户端与瘦客户端的区别?

    要想知道富客户端交互技术,是一个什么样的技术,那你得先了解胖客端(也叫富客户端)与瘦客户端的区别. 网络应用程序经历了从胖客户端到瘦客户端的发展历程,胖客户端是相对于传统的C/S结构的网络应用程序来说 ...

  9. 软考高级系统架构设计师:胖客户端和瘦客户端的区别

    软考高级系统架构设计师:胖客户端和瘦客户端的区别 一.胖客户端 二.瘦客户端 一.胖客户端 胖客户端: 程序处理过程分为客户端部分.服务器部分. 客户端要处理UI界面解析显示,又要对大部分业务逻辑进程 ...

最新文章

  1. 【MATLAB】符号数学计算(七):符号微积分、符号微分方程求解、符号代数方程求解
  2. php 下 html5 XHR2 + FormData + File API 上传文件
  3. JavaScript实现articulation-points(关键点)(割点)算法(附完整源码)
  4. 专科 java转go 翱翔之路(四)协议通信 锁,互斥锁 读写锁 条件变量锁 连接mysql 查询
  5. VHDL六层电梯控制器及仿真
  6. oracle游标循环定义变量赋值,PL/SQL  循环 数组 游标的使用
  7. Oracle v$session/v$sql 表
  8. jQuery如何创建元素
  9. WebHeaderCollection 类
  10. Atitit 切入一个领域的方法总结 attilax这里,机器学习为例子
  11. win10中常用快捷键 (包括切换窗口、打开我的电脑等快捷键)
  12. CSP赛前集训 【DD头子张京华】
  13. word排版案例报告_看完这4个文章排版要点,你就会排版啦!
  14. SpringCloud 微服务工具集v1.1
  15. 电脑突然关机重启是什么原因?
  16. JavaSE 实战 中奖判断
  17. 用几何画板验证三角形重心定理,很方便!
  18. UPS 静态旁路开关
  19. 21世纪7大数学难题,解决其中一个你就成为了百万富翁!
  20. 服务器和交换机物理连接_利用Calico融合物理网络的云原生容器SDN方案

热门文章

  1. PHP如何开发paypal支付插件
  2. CTF_Web:攻防世界高手区进阶题WP(15-18)
  3. 使用Python编写面向安卓模拟器的明日方舟挂机脚本
  4. 【天光学术】中国哲学论文:以老子为例看中国哲学的思辨体系
  5. 网易im即时通讯 移动端嵌入web
  6. 虚拟机扩展C盘容量方法
  7. Window系统改装为linux系统
  8. dede taglist模板中调用自定义字段
  9. 【2021.08】python会员数据化运营task01
  10. 招聘移动全栈工程师(iOS 方向)