WAMDM的全稱是"Web And Mobile Data Management"(即網絡與移動數據管理實驗室), 它是孟小峰教授所領導的一個研究型實驗室。WAMDM實驗室進行數據庫相關的研究已經有許多年了,是國內最好的數據庫研究小組之一。實驗室的科研項目涵蓋網絡數據管理、XML數據管理,以及移動數據管理。
云計算(cloud computing)是一項正在興起中的技術。它的出現,有可能完全改變用戶現有的以桌面為核心的使用習慣,而轉移到以Web為核心,使用Web上的存儲與服務。人類有可能因此迎來一個新的信息化時代!
但是,云計算絕不僅僅是一個計算的問題,它需要融合許許多多的技術與成果。現有的許多研究問題將來必然是云計算的一部分,例如WAMDM實驗室目前正在開展的多項研究:Web數據集成、個人數據空間管理、數據外包服務、移動路網上的研究以及隱私問題的研究,都會成為未來云計算的重要組成部分。
本專題通過云計算介紹以及相關研究問題的討論,向大家展示WAMDM實驗室同學對于云計算的思考。



“云計算”越來越成為人們所關注的一個名詞,因為它代表了信息時代的未來。
那么,什么是云計算?云計算有什么用處?它將如何改變整個世界?……一連串的問題等待解答。雖然,很多問題現在或許沒有完整的答案,但是,本文試圖通過分析云計算的起源以及云計算與網格計算、Web2.0之間的關系,來闡述云計算的歷史、發展與未來。
一、兩個故事
我們先通過兩個故事來了解什么是云計算:
故事一:Tom是一家公司的員工,某天公司派Tom去倫敦出差。那么,Tom想要了解他所乘坐的航班信息,從他住所到機場的最佳路線以及倫敦最新的天氣以及住宿信息等。在未來,所有的這些信息都可以通過云計算來提供!云計算將與各種各樣的終端(例如個人電腦、PDA、手機、電視等)進行連接,為用戶提供廣泛、主動、高度個性化的服務。 故事二:Bob是這家公司的另一個員工,不過公司并沒有派他出差,于是他照常到公司上班。到了公司,他打算管理一下自己最近的任務,于是他可以通過Google Calendar來管理自己最近的日程安排;整理完日程,Bob可以通過Gmail收發郵件,通過GTalk來與同事朋友進行聯系;如果他這時打算開始工作,可以通過Google Docs來編寫在線文檔,在這個過程中,如果他需要查閱相關論文,可以通過Google Scholar進行搜索,他可以也可以使用Google Translate翻譯一些英文,他甚至可以使用Google Charts來繪制一些圖表;如果Bob工作累了,他可以通過Google Blogger來分享日志,通過Google的YouTube來分享視頻,通過Google的Picasa來編輯分享圖片。
或許有一天,當我們已經十分習慣使用Google所提供的每一項服務時,驀然發現我們的生活已經處在云計算的時代!
二、云計算產生的背景
通過上面的故事,或許大家已經對云計算已經有一些朦朧的認識,并且隱隱約約地感覺到云計算與網格計算之間存在一定聯系。實際上,云計算確實不能算是一個全新的概念,但是,它卻將是一項顛覆性的技術。
在計算機產生后的相當長的一段時間內,計算機網絡都還處于一個黑暗時代。但是到了上世紀90年代以后,網絡出現了爆炸式發展,隨即進入了網絡泡沫時代。在21世紀初期,正當互聯網泡沫破碎之際,Web2.0的興起,讓網絡迎來了一個新的發展高峰期。
在這個Web2.0的時代,Flickr、MySpace、YouTube等網站的訪問量,已經遠遠超過傳統門戶網站。用戶數量多以及用戶參與程度高,是這些網站的特點。因此,如何有效地為如此巨大的用戶群體服務,讓他們參與時能夠享受方便、快捷的服務,成為這些網站不得不解決的一個問題。
而與此同時,憑借Google文件系統搭建起來Google服務器群,為Google提供強大的搜索速度與處理能力。于是,如何有效利用這些這種技術,為更多的企業或個人提供強大的計算能力與多種多樣的服務,就是像Google這樣擁有巨大服務器資源的企業在考慮的問題。
正是因為一方對計算能力的需求,而另一方能夠提供這樣的計算能力,于是云計算就應運而生。
三、云計算與網格計算、Web2.0的關系
實際上,早在上世紀90年代,提出的網格計算的思想,就考慮充分利用空閑的CPU資源,搭建平行分布式計算。而在1999年出現的SETI@home更是成功的將網格計算的思想付諸實施,構建了一個成功的案例。
而云計算與網格計算有許多相似之處,也是希望利用大量的計算機,構建出具有強大的計算能力。但是云計算有著更為宏大的目標,它希望能夠利用這樣的計算能力,在之上構建穩定而快速的存儲以及其它服務。而Web2.0正為云計算提供這樣的機遇。在Web2.0的引導下,只要有一些有趣而新穎的想法,就能夠基于云計算快速搭建Web應用。這正是云計算所帶來的直接變化。
云計算與許多在Web上新興的名詞一樣,沒有明確的定義,但是我們可以從一些網站或組織給云計算下的定義中看出云計算的一些重要特點。Wikipedia關于云計算的定義為“云計算是網格計算下的一種新的(大約在2007年底出現)標簽,它使用公用計算或其它方法來共享計算資源。云計算是依靠本機服務器或個人設備來處理用戶應用程序之外的另一種選擇”;News Blog認為“云計算是一種將硬件與軟件外包給因特網服務提供商的概念”;但是,包括Forrester在內的許多網站和組織都認為“云計算看起來十分像是一種典型的突破性技術”。
四、已有的云計算案例
目前,包括Google、微軟、IBM、Amazon、EMC和惠普在內的許多IT業巨頭都宣布要在云計算上進行重點研究。也有了一些供企業使用的云計算案例。
其中最廣為人知的就是去年10月Google和IBM聯合宣布推廣“云計算”的計劃,包括卡內基梅隆大學、斯坦福、伯克利、華盛頓大學、MIT在內的許多高校都參加了這項計劃,而國內的清華大學也在今年3月份加入了這項計劃之中。通過這項計劃,高校的研究者能夠更方便地利用Google和IBM的云計算資源,搭建出各種創新性的應用。
而Amazon也提供了有名的EC2服務,這項Amazon EC2服務即可看成是云計算的一個系統,它能夠為用戶提供大規模的計算能力,有效地降低響應時間,同時在經濟上也比用戶自己搭建這樣的系統要便宜許多。
此外,恐怕最不能忽視的就是微軟在云計算上的態度。雖然截至目前,微軟還沒有明確地公布云計算上的戰略,這是因為微軟遲遲不愿放棄它通過多年發展起來的收費的Windows和Office產品。但是毫無疑問,微軟早已在云計算上展開動作。微軟亞洲研究院的WebStudio就已經能夠提供在Web規模上快速搭建應用,從這個角度上說,WebStudio已經有一些云計算的影子。同時,微軟亞洲研究院正在進行的一項三維虛擬世界(Microsoft Virtual World)的研究,也毫無疑問在未來需要云計算的支持。并且,微軟目前大力發展的Windows Live在線服務,也是未來云計算的一部分。目前,微軟已經向38個國家和地區(暫不包括中國)提供了高達5G的免費存儲空間,同時,Windows Live在線服務也包括了郵件、Spaces、照片庫等各種服務。有理由相信,微軟在云計算上也絕不會落后許多,甚至有可能像微軟上世紀90年代在Web上的發展一樣,雖是后起之秀,卻迅速占領大量市場。
五、云計算的未來
在云計算的戰場上,IT業的兩大巨頭Google與微軟終于站在了同一個競技場上,進行正面的對抗。或許,這正是歷史的必然。
同時,就云計算本身而言,它將很有可能徹底改變用戶使用電腦的習慣,使用戶從以桌面為核心使用各項應用轉移到以Web為核心進行各種活動。而計算機也有可能退化成一個簡單的終端,不用再像現在一樣需要安裝各種軟件,同時為這些軟件的配置和升級費心費神。未來的計算機可能僅僅用作網絡連接以及使用云計算之上的各項服務。
從短期來看,云計算所帶來的各項變化對個人的影響還比較小,或許和從前的許多技術一樣,云計算將首先給企業(尤其是中小企業)帶來最為直接的變化:他們能夠快速搭建自己想要的各種應用,而不用再為服務器資源而煩惱。而云計算最終能否普及至個人,恐怕還需看未來一段時間的發展。
當然,云計算的在未來的發展也面臨著各種挑戰,其中安全和隱私將成為首要問題。試想一下,如果未來,用戶與企業的數據都高度集中在一個個的計算云或數據中心中,那么,這些計算云有可能就成為恐怖分子首要攻擊目標。一旦恐怖分子得手,是否就會導致整個世界倒退幾年、甚至幾十年呢?同時,用戶該如何信賴提供云存儲以及云服務的那些公司,如果確保那些公司不泄露用戶的隱私呢?所有這些,都是云計算真正普及時必須解決的問題。
而且,云計算絕不僅僅是一個計算的問題,它需要融合許許多多的技術與成果。現有的許多研究問題將來必然是云計算的一部分,例如中國人民大學網絡與移動數據管理實驗室目前正在開展的多項研究:Web數據集成、個人數據空間管理、數據外包服務、移動路網上的研究以及隱私問題的研究,都會成為未來云計算的重要組成部分。
本文PPT下載:《云計算:Cloud Computing》



1、目前cloud computing并沒有一個清晰的概念與體系,不同研究機構和IT企業都是從各自的角度或者各自專注的領域去理解,比如cloud中的數據如何存儲與訪問、如何在硬件體系上對cloud進行構建、如何對cloud中資源的配置等等。總之,cloud computing涉及了非常多的研究領域,cloud computing的出現也必然會帶來諸多的挑戰性問題,這需要我們深入的思考。
2、cloud computing的終極目標是讓用戶所有的數據和服務(各類軟件)都放在cloud中,自己只要有一個可以上網的終端就可以了。用戶看到的只是一個虛視圖,實際上數據和服務可能分散在cloud中的不同位置。從某個角度來看,每個用戶在cloud中都擁有一個自己的虛擬空間。這是不是將給data space提供了一個真實應用場景呢?
3、IT巨頭們都在關注cloud computing,但在不同的層面。比如,IBM關注于cloud底層的硬件架構上,Google關注于一般的搜索和數據處理上,而微軟關注于上層的軟件。他們之間應該會是一個既競爭又合作的關系。但不可否認的是,IT巨頭們的如此重視和投入必然會使cloud computing越來越清晰,而不是只停留在美好的概念上。
4、服務和數據的Web化趨勢是必然的,即越來越多的在本地的服務和數據會逐漸轉移到Web中。目前SaaS受到越來越多的軟件生產商的關注,大家有興趣的應該了解一下。這樣發展給用戶帶來的直接的好處是硬件成本的降低,企業不再需要購買昂貴的硬件和聘用維護人員,因為everything is on the Web。作為Web數據管理的研究者必須給予足夠的關注,發現其中的研究問題。



作為一個新的概念,云計算日益引起人們的關注,云計算提出的背景大致有以下幾個方面:
- 數據量的高速增長與數據處理能力的相對不足。數字技術和互聯網的發展,特別是Web2.0的發展導致數據量高速增長,因此對數據的處理能力提出了更高的要求。
- 計算資源的利用率處于一種不平衡的狀態,一些應用需要大量的計算資源和存儲資源,同時大量的計算設備和存儲資源沒有得到充分利用。
作為一種新的計算模式和服務模式,云計算已經引起IBM,EMC,微軟,Google等公司的重視,IBM已經開始著手建立云計算中心。同時,針對高速增長、豐富多樣的數據信息,人們提出了一種新的數據管理理念:數據空間。這兩個概念提出的背景相似,那么云計算與數據空間之間是一種什么樣的關系,云計算會對數據空間的研究和應用帶來什么樣的影響。對這兩個概念的比較可以從以下幾個方面:
- 從數據管理角度。數據空間是對新的數據特點的一種刻畫。其研究焦點是數據模型、數據查詢、數據索引等算法。而云計算側重于系統的實現,其更大程度上是一種支持開放、共享的數據服務的底層架構。
- 從相互之間的影響。數據空間為云計算提供了一種應用場景。隨著云計算概念的提出,人們不禁會問,什么樣的數據計算模式適于這樣的系統架構,數據空間或許能夠給出一個答案。個人數據空間的最終目的是能夠實現個人數據信息的隨時隨地的訪問,要實現這一目的,必須借助基于Web的存儲資源和計算資源,否則是不可想象的。另一方面云計算拓展了數據空間研究的思路,為數據空間研究提出了新的問題。
對于個人和中小企業來說,目前,一方面存在數據管理的需求,另一方面他們對于計算能力的需求往往是不平衡的。如果購置大量的存儲和計算設備,那么投資和維護費用會大大提高,同時低水平的利用率也會造成資源的巨大浪費。這樣,云計算模式為這一問題的解決提出了一個新的思路,一些個人和企業可以在這種開放的體系架構下享受云計算提供的服務。那么如何實現這種服務,就需要數據空間等數據管理技術研究解決。
以上初步討論了數據空間和云計算的關系。他們都是針對解決新的數據管理問題,只是側重點不同,云計算側重于一種新的數據管理底層架構;數據空間側重于具體的數據管理技術的研究,他們互相影響,基于云計算模式的個人數據空間和企業數據空間研究或許會成為一個新的研究領域。云計算的提出為數據空間的研究提出了新的問題,促使我們從一個新的角度去思考和研究數據空間。



圖: 通過數據之間的匹配來識別隱私
在云計算的概念下,計算機不再是一些各自獨立的機器,而是網絡中的一個節點,而網絡本身將成為計算機。這種將計算任務交給全球運行的服務器網絡,在提供各種便捷服務的同時,不可避免的事實是需要提供更多更詳細的個人信息,才能獲得更好的服務;但另一方面,越來越多的個人信息公之于眾,使得人類毫無隱私可言。
一方面,政府機構以及公共服務機構越來越多的發布包含個人信息的數據,比如醫療數據、選民數據等等。如果沒有可信的隱私保護,那么攻擊者將利用多個數據之間的聯系來獲取個人隱私信息。如圖所示,如果從專門為政府雇員購買醫療保險的機構獲取了醫療信息,從負責選舉的機構處獲取選民信息。該醫療信息可以認為是匿名的,因為沒有病人的姓名等唯一標志信息。當攻擊者把醫療信息和選民信息結合之后,通過出生日期,郵編,性別的匹配,就可以把選民姓名和疾病聯系起來,從而獲得了非常隱私的個人信息。
另一方面,隨著個人手持設備(PDA,SmartPhone等)的普及,人們越來越多的使用基于位置的服務(Location Based Service:LBS),包括緊急救援服務,基于位置的游戲,移動黃頁服務等,這些保證了云計算的真實能力將得以展現。雖然服務提供商不要求人們在請求服務的同時發送自己的唯一標志例如姓名,網絡地址等,但要求用戶發送自己的當前位置,只有個人位置信息越精確,獲得的服務才越滿意。在這種情況下,用戶的位置就成為了個人隱私信息。服務商(攻擊者)可以通過把用戶位置和地圖進行匹配以及某些經驗觀察來發現用戶的真實身份,進而對用戶的服務請求進行分析,發現用戶的個人愛好等隱私。
所以,在云計算的背景下,無論是數據發布中的隱私,還是位置服務中的位置隱私,用戶個人信息的保護顯的尤為重要。在人們把數據放于本機硬盤都還嫌不夠安全的今天,如何保證所有個人數據公諸于天下的時候,依然保證個人隱私不泄漏,將是云計算是否能夠普及將要攻克的另一難題之一。



隨著計算機設備的飛速發展以及對計算性能要求的提高,計算已經由單機發展到分布式系統,從而提出了云計算的概念,大大提高了計算效率,降低了生產成本。
就移動數據管理領域而言,由于移動設備在存儲及計算上的限制,現在的構架主要是由用戶將數據發送給服務器,由服務器對數據進行管理和計算,并按照用戶的要求返回計算結果。雖然減輕了移動存儲設備的負擔,但是對于大數據量的計算,服務器的任務是很重的,因此用戶有時需要等待較長的時間得到需要的結果,現在已有一些工作考慮將任務分配一些給存儲設備,利用不同存儲設備之間的數據交互及計算以減輕服務器的負擔。如果將云計算引入到移動數據管理中,通過使計算分布在大量的分布式計算機上,可以大大提高計算的效率,減少用戶的等待時間。
此外,現在的移動數據服務,對于用戶仍然不是透明的,即用戶需要向服務器提出請求,等待返回結果。對于用戶來說,沒有任何信息,所有的信息都在服務器上。如果通過引入云計算,使這一過程變為對用戶透明的,即對用戶來說,好想所有的信息都存儲在自己的移動設備上,自己只須對移動設備進行相應操作即可得到想要的結果,這將大大提高服務的質量。
數據的存儲以及計算的分布,一定會引起隱私泄漏的問題。但是云計算的推廣必將提高移動數據的管理能力以及服務質量,大大推動移動設備的廣泛應用。
