人類活動最大的成本花費在哪裡?我認為在溝通和學習上。我們從哇哇落地開始,就在不斷的學習前人總結的經驗。學校教育,大大加速了這一進程。隨著互連網的發展,人們可以自由的分享知識和經驗,使得我們平時遇到的問題基本上都可以從互連網上找到答案。因此,互連網當之無愧為人類最偉大的發明之一。它減少了多少
人們溝通和學習的成本啊!這個系列裡,我要說說瘦用戶端的那些事。涉及的知識都是來自互連網,所以,要感謝Google,感謝Wikipedia。最後,我將我學習和總結的知識再回饋回互連網,希望能對他人有所協助,有所啟發。
言歸正傳,讓我們開始說說瘦客戶那些事……
所謂“瘦用戶端”,就是指,我們只需要一台配置一般的終端裝置(PC電腦、手持功能等),就能擁有超電腦的計算處理能力。其實,這離我們並不遙遠。BS應用的發展,已經讓我們實現了只要一台配置一般的智能手機,就能通過Google完成億萬次的搜尋計算。
上面的這個模型大家已經熟悉的不能再熟悉了。用戶端發出指令,服務端接收指令,執行完運算後,將結果返回給用戶端。但是,這個系列我要講的,並不是上面這個模型,而是:
我們的手機(瘦用戶端)不再是Google搜尋中,搜尋任務簡單的寄件者和接受者,而是一個更加即時的操作超級電腦的感受。我們的每一次滑鼠移動,點擊,鍵盤輸入,觸控螢幕的滑動,彷彿手機本身就是一個超級電腦。有了這樣的瘦用戶端,我們不再需要購買價格昂貴、骨灰配置的電腦,而我們只需要一個很低配置的迷你筆記型電腦,平板電腦,或是智能手機,就能一樣暢快淋漓的玩魔獸世界、極品飛車。在未來科幻電影中的通話聯絡的智能手錶、查看戰鬥指數的眼鏡,都有可能實現。
同時,我們不再為程式的跨平台所擔心。瘦用戶端中,能跨平台執行各種應用程式,比如Windows的Word,Linux的OpenOffice,Mac裡
的XCode。更讓人驚喜的是,我們運行一款軟體之前,不再需要經過“下載”、“安裝”的步驟,而是立即使用。不管是多大的遊戲,多複雜配置的軟體。我甚至大膽推測一下,在未來,人們將不再使用Windows,Linux,Mac之類的作業系統,取而代之的將是完全基於網路的網路作業系統。而現有的這些作業系統,失去了個人使用者也很難再維持發展,必將慢慢被淘汰。最後必將湧現出的,是各種基於不同瘦用戶端協議的完全基於網路的作業系統。Google現在開發的chromium作業系統,正是符合這個發展趨勢的,不過具體是怎樣的,我沒用過,也不好說。
在這個系列裡,我盡量避免使用“雲”之類炒的火熱的詞彙。我們見過了太多的所謂的“雲”,十有八九是偽雲,比如殺毒領域最大的忽悠雲查殺。雲端運算和這裡講的瘦客戶有一定的契合,但不完全相同。雲端運算強調的是大規模資料中心按需分配的計算能力,就像集中式發電廠。雲端運算是服務端的“胖”,瘦客戶強調的是用戶端的“瘦”,如果兩者一結合,必將擦出火花。
未來並不遙遠,我們能想的到的,都有人在嘗試了。國外著名的有Onlive,Gaikai,OTOY等,
他們都實現了通過私人協議,在配置一般的機器上,遠程玩像孤島危機之類的大型遊戲。特別是Onlive,由於其雄厚的實力,與硬體供應商、網路供應商、遊
戲開發商都有深度的合作。比如,Onlive自主投資開發的定製硬體,和美國藝電有限公司(Electronic
Arts)、育碧(Ubisoft)、Take-Two互動軟體(Take-Two Interactive
Software)、華納兄弟、互動式娛樂和英佩數位美國藝電有限公司(Electronic
Arts)、育碧(Ubisoft)、Take-Two互動軟體(Take-Two Interactive
Software)、華納兄弟、互動式娛樂和英佩數位達成的深度合作。就連Google微軟,都想買斷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之類的公司,使用的是自己的專有傳輸協議,我無從考證。但是,接下來的文章,我會從現有的一些知名的或開源的遠程傳輸協議開始,逐步深入技術細節,把我知道的那點瘦用戶端的事告訴大家。敬請期待~
瘦用戶端那些事 系列:
瘦用戶端那些事 - 開篇
瘦用戶端那些事 - 遠程傳輸協議
瘦用戶端那些事 - NoMachine的秘密
......