20世紀90年代,Internet蔓延到世界各地,成為人們溝通信息和協同工作的有效工具,更為重要的是,Internet上匯集的成千上萬的計算資源、數據資源、軟件資源、各種數字化設備和控制系統共同構成了生產、傳播和使用知識的重要載體。人們開始思考如何將物理上互連的眾多資源匯聚起來,聯合提供服務,重新認識網絡計算技術的實質。
目前,網絡計算正處于發展階段,人們對它的定義還沒有形成共識,但一個相對可以接受的理解是:“網絡計算”是把網絡連接起來的各種自治資源和系統組合起來,以實現資源共享、協同工作和聯合計算,為各種用戶提供基于網絡的各類綜合性服務。基于此,人們把企業計算、網格計算、對等計算和普及計算歸類為網絡計算。
企業計算:以中間件為核心
企業計算是“以實現大型組織內部和組織之間的信息共享和協同工作為主要需求而形成的網絡計算技術”,其核心是Client/Server計算模型和相關的中間件技術。
早在20世紀80年代,人們就提出在互連的計算機硬件上部署新型的分布式操作系統,全面徹底地管理整個系統,給用戶單一的系統視圖。盡管這一努力產生了許多技術成果和實驗系統,但一直沒有形成可用的產品,人們直覺地感到在不斷擴展的局部自治異構系統上實現資源的集中管理幾乎是不可能的,于是開始采用中間件平臺技術,以屏蔽系統的異構性,支持局部自治系統的信息交互和協同。經過十幾年的發展,中間件取得了令人矚目的發展,出現了遠程數據庫訪問、遠程過程調用、消息傳遞、交易管理等各類中間件。
20世紀90年代末,面向對象的中間件技術成為中間件平臺的主流技術,出現了以Sun公司的EJB/J2EE、Microsoft的COM+/DNA和OMG的CORBA/OMA為代表的三個技術分支。其研究熱點是建立標準化的對象請求代理,屏蔽網絡環境下計算平臺、操作系統、編程語言、網絡協議的異構性和復雜性,使分布在網絡上的應用系統能夠協同工作,為網絡應用提供通用的高級網絡管理服務以及與應用領域相關的增值服務。
進入新世紀,隨著電子商務需求的發展,企業計算面臨企業間的信息共享和協同工作問題,面向Web的企業計算解決方案成為熱點,為此W3C提出了WebService技術體系,Microsoft推出了.Net技術,Sun推出SUN ONE架構,企業計算技術全面進入Internet時代。
網格計算:讓計算能力“公用化”
網格計算(Grid Computing)是網絡計算的另一個具有重要創新思想和巨大發展潛力的分支。最初,網格計算研究的目標是希望將超級計算機連接成為一個可遠程控制的元計算機系統(MetaComputers);現在,這一目標已經深化為建立大規模計算和數據處理的通用基礎支撐結構,將網絡上的各種高性能計算機、服務器、PC、信息系統、海量數據存儲和處理系統、應用模擬系統、虛擬現實系統、儀器設備和信息獲取設備(如傳感器)集成在一起,為各種應用開發提供底層技術支撐,將Internet變為一個功能強大、無處不在的計算設施。
網格計算可以從三個方面來理解。
首先,從概念上,網格計算的目標是資源共享和分布協同工作。網格的這種概念可以清晰地指導行業和企業對各部門的資源進行基于行業或企業的統一規劃、部署、整合和共享,而不僅僅是行業或大企業中的各個部門自己規劃、占有和使用資源。這種思想的溝通和認同對行業和企業是至關重要的,將提升或改變整個行業或企業信息系統的規劃部署、運行和管理機制。
其次,網格是一種技術。為了達到多種類型的分布資源共享和協作,網格計算技術必須解決多個層次的資源共享和合作技術,制定網格的標準,將Internet從通信和信息交互的平臺提升到一個資源共享的平臺。
最后,網格是基礎設施,是各種網絡來綜合計算機、數據、設備、服務等資源的基礎設施。隨著網格技術逐步成熟,建立地理分布的遍布全國或全球的大型資源節點,集成網絡上的多個資源,聯合向全社會按需提供全方位的信息服務。這種設施的建立,將使用戶如同今天我們按需使用電力一樣,無需在用戶端配全套計算機系統和復雜軟件,就可以簡便地得到網格提供的各種服務。 如同電力系統一樣,把網格設施作為一個國家戰略信息基礎設施來規劃、建設和運行管理,其復雜度和難度是相當大的,這里面有思想和觀念上的變化,技術上的難點,以及國家法律和政策上的問題等,需要經過多年的艱苦努力。但是,大型企業、行業、國防等部門完全可以從現在就開始實施網格基礎設施戰略。
網格計算的重要戰略意義及其廣闊應用前景,使其成為當今吸引眾多研究人員和巨大資金投入的研究熱點,一些大型網格計算研究項目相繼啟動。截止到目前,最著名的網格計算研究項目包括以下一些:
●美國自然科學基金于1997年底開始實施的“分布式網格”研究項目,其目標是在美國建立遍及全國的計算網格,支持重大科學與工程計算,為用戶提供到桌面上的虛擬高性能計算環境。
● 美國國家航空和宇宙航行局(NASA)的IPG(Information Power網格)項目。這是一個20年的研究計劃,目的是讓人們使用計算資源和信息資源就像使用電力網提供的電力資源一樣方便快捷。
● 美國能源部開發的ASCI 網格已經投入生產性使用,其主要用途是核武器研究。
●美國國防部的全球信息網格(GIG)項目是最龐大的網格計劃,用于美軍新世紀作戰支撐,預計2020年完成。
● 歐洲共同體的Euro網格和Data網格。主要用于包括高能物理、生物計算、氣候模擬等多個領域的應用。
●2001年8月,美國NSF宣布了一個重大科研項目,研制名為“分布式萬億級設施”(Distributed Terascale Facility)的網格系統,簡稱Tera網格,它是世界上第一個從設計開始就面向網格的廣域超級計算平臺,也是第一個無處不在的計算機基礎設施。
●我國科技部在“九五”開展了國家高性能計算環境(網格)建設和關鍵技術的研究。“十五”期間科技部加大了對網格技術研究和推廣的力度,目標是突破網格關鍵技術,建立網格計算技術標準,將網格計算技術應用到行業和企業應用中,建立行業和企業應用網格,進一步加強全社會共享的國家高性能網格計算環境的建設,推動我國網格產業的形成和發展。
目前,大的網格項目研究和實施有一個顯著的特點,即各個項目是直接面向應用,與應用領域緊密相關。目前,IBM、HP、Sun、LSF、Boeing等公司都已經進入網格計算領域,加緊研究相關的技術和產品。這里需要強調的是“網格計算”與“高性能計算機”的關系。高性能計算機是網格計算環境結構的節點和重要組成部分;網格計算技術是高性能計算技術的發展方向之一,它并不能替代超高性能計算機系統。但是未來的超高性能計算機系統必須支持網格計算環境,應能夠很容易地融入到網格計算環境中,將其強大的計算和數據存儲處理能力提供給眾多的用戶使用。網格計算技術的目的是結合高性能計算技術和網絡計算技術,將高性能計算機的能力釋放出去,構造一個公共的高性能處理和海量信息存儲的計算基礎設施,使各類用戶和應用能夠共享資源。因此,網格計算將會促進高性能計算機應用的發展,促進高性能計算機服務市場的發展,刺激市場對高性能計算機和海量存儲系統的需求。
對等計算:倡導“平等”共享
對等計算(Peer-to-Peer,簡稱P2P)是在Internet上實施網絡計算的新模式。在這種模式下,服務器與客戶端的界限消失了,網絡上的所有節點都可以“平等”共享其他節點的計算資源。
IBM為P2P下了如下定義:P2P系統由若干互聯協作的計算機構成,且至少具有如下特征之一:系統依存于邊緣化(非中央式服務器)設備的主動協作,每個成員直接從其他成員而不是從服務器的參與中受益;系統中成員同時扮演服務器與客戶機的角色;系統應用的用戶能夠意識到彼此的存在,構成一個虛擬或實際的群體。不難看出,P2P把網絡計算模式從集中式引向分布式,也就是說,網絡應用的核心從中央服務器向網絡邊緣的終端設備擴散:服務器到服務器、服務器到PC機、PC機到PC機,PC機到WAP手機,所有網絡節點上的設備都可以建立P2P對話。
P2P給Internet的分布、共享精神帶來了無限的遐想。有觀點認為,至少能開發出幾百種應用。但從目前的應用看,P2P的威力還主要體現在大范圍的共享和搜索的優勢上,諸如對等計算、協同工作、搜索引擎、文件交換等。
普及計算:計算無所不在
普及計算(ubiquitous computing or pervasive computing)強調人與計算環境的緊密聯系,使計算機和網絡更有效地融入人們的生活,讓人們在任何時間、任何地點都能方便快捷地獲得網絡計算提供的各種服務。
普及計算研究的內容主要包括兩個方面:自然的人機交互和網絡計算。美國排名前10位的大學無一例外地投巨資設立了以“普及計算”為主要向的研究計劃。目前有4個研究計劃最具影響力,這些計劃的目標是提出全新的體系結構、應用模式、編程模型等基礎理論模型和方法。
各類網絡計算之間的異同
以上四類網絡計算雖然側重點不同,但最終的目標是一致的:廣泛共享、有效聚合、充分釋放。
所謂廣泛共享,是指通過各種方法、技術和策略將網絡上的各種資源提供給網絡上眾多用戶共享、使用;所謂有效聚合,是指將網絡上的巨大資源通過協同工作連接集成起來,產生巨大的綜合效能,聯合完成應用任務;所謂充分釋放,是指為用戶提供良好的開發手段和使用環境,將網絡上多種資源的聚合效能按照需求傳遞給用戶,為用戶提供個性化的信息服務、計算服務和決策支持服務。
但是面對眾多的網絡計算技術和應用,人們有時很難區分它們之間的技術差異,不知道誰將成為未來網絡計算的主導。事實上,雖然最終目標一致,但各種網絡計算技術的應用范圍和研究對象的規模、層次卻各有不同。
面向對象的分布式計算技術強調的是分布系統的集成能力,以兩層或多層Client/Server為主要計算模式,關心的是簡化用戶端的工作,強化多層服務器的功能,注重分布系統之間的協同工作和快速的應用開發和實現,強調應用服務之間的可交互、可操作性和代碼的可移植性,通常關注一個組織內的資源共享。
P2P技術弱化了集中服務器的功能,重視網絡中所有個體的作用,強調的是個體之間、系統之間、計算機之間的直接通信和聯系,每一個參與者既是客戶又是服務方,這使人們在Internet上的共享行為被提升到了一個更廣泛的層次,使人們以更主動的方式參與到網絡中去。它與現行以中間件為主的分布式計算技術所采用的Client/Server模式有本質區別。
網格計算在Internet基礎上強調對計算、數據、設備等網絡基本資源進行整合,力圖將Internet作為一個社會化的計算基礎設施。在計算模型、技術路徑和研究目標上,網格計算和目前分布計算中間件領域面向應用級別的交互、互操作和開發有很大的不同。它強調多機構之間大規模的資源共享和合作使用,提供了資源共享的基本方法,而分布計算技術沒有提供多組織之間的資源共享通用框架。顯然,網格計算正在建立一種新的Internet基礎支撐結構(如同TCP/IP、WWW協議和相應的軟件系統奠定了現行Internet的基礎),是21世紀Terascale設施的信息處理基礎設施的先期實踐。
普及計算模式則是要顛覆“人使用計算機”的傳統方式,將人與計算機的關系改變為“計算機為人服務”,從某種意義上說,是讓人與計算環境更好地融合在一起。
盡管各種網絡計算技術有差異,但是它們之間并不是沖突的關系,而是一種正交關系,有時甚至是融合的,因此,各種網絡計算技術可以共存。例如網格計算和CORBA、SOAP、XML等技術結合可以訪問多個機構組成的虛擬組織的資源。
信息技術的多變性使我們不能肯定10年之后的網絡計算將會發展到何等程度,但是多種網絡計算形式共存、相互結合和融合是肯定的。無論如何,從當今基于Internet的各種網絡計算實踐和研究來看,實現網絡資源的共享,提供大規模協同計算能力和對資源的有效訪問,是網絡計算未來發展的趨勢,是下一代Internet的技術基礎。