2. 文獻探討
2.1. Peer-to-Peer model
Peer-to-peer 這個架構,簡稱為 P2P,根據 Dejan S. Milojicic 等人在文章
「Peer-to-Peer computing」 [1]裡把它定義為,利用分散資源的一個系統或應用 程式,採用非集中的方式運行一些特定工作。利用的資源可以是電腦運算能力、
儲存空間、檔案分享或網路頻寬。而 Peer 這個字所代表的意含,是指每個平等 一致的點。因此在 Peer-to-peer 的架構裡,每一個點(Peer)之間即使是存在著資源 互享的關係,但彼此之間的溝通是直接而對等的,不存在任何的主從關係或是依 賴某特定者的依賴性。
在 Alfred W. Loo 的「The Future of Peer-to-peer Computing」[2]提到:一般來 說,Peer-to-peer 的系統會有三個特色:
z 在架構之中的每部電腦,既是 server 的角色,也可以是 client 的角色。
z 參與者可以藉由網路,直接地共同享用彼此的資源。
z 參與者建立在互助互惠的環境之下。
使用 Peer-to peer 這樣的架構,可以把現有的資源結合起來,形成更具能力 規模的資源;對於採行的組織來說, Peer-to-peer 系統的利用仍可整合組織現有 的資源,來滿足資源需求漸增的環境,達到降低設備升級成本的支出。無論是多 老舊的電腦、有限的儲存空間、不大的網路頻寬與散布網路各處的檔案,資源分 享以及積少成多聚集成大規模的能力,可以說是 P2P 架構的中心思想之ㄧ。在 Alfred W. Loo 的「The Future of Peer-to-peer Computing」[2]中把現行架構分為檔 案分享和分散式運算能力分享。
2.1.1. 檔案分享架構
檔案分享的 P2P 架構是目前相當熱門的一個領域,無論是在檔案內容本身 還是儲存空間的分享,都是相當盛行的一種架構。建立在資源共享,互助互惠上 的多媒體檔案分享,使用者可以把自己電腦的某些區域設為檔案交換區,分享檔 案給其他使用者。這種方式除了檔案內容透過電腦網路頻寬共享之外,多個點同 時存在著副本也增加了檔案可靠性,和傳統方式相比較明顯得較為優良。
這一類的架構之中,Napster 是一個重要的代表。Napster 是一個音樂共享環 境,使用者可以透過連結 Napster 中央電腦維護的一份資源清單中,來搜尋想要 的 mp3 在哪個其他使用者的硬碟之中並可以下載之。
在整個架構中,Napster 的中央電腦扮演著一個重要的角色。他除了維護之 前曾提及的檔案資源和會員對應的清單之外,同時還會監控會員的上線狀態,並 在會員登入時,根據會員所分享的檔案,來更新中央電腦中的資源清單。一但,
有會員送出尋找某音樂檔案的需求時,中央電腦就會根據清單尋找需求方所能連 接並擁有該特定檔案的電腦,再由需求方自行和擁有者接洽檔案交換事宜。
Napster 和其他相似的架構如:E-Donkey、eMule、Bittorrent 等等,儘管有 些架構並不需要中央電腦處理清單,但是建立在資源共享、互助互利上,他們都 獲得了很大的成功並日益風行。就拿 Napster 為例,超過 36,000,000 人的加入,
同時也帶動了其他類似架構的出現與成長。儘管,新的檔案分享 P2P 架構不在 受限於 mp3 這種檔案類型,但是他們最大的問題還是在法律上面。Napster 就曾 因為被控侵權敗訴而被迫關閉,儘管已經又重新運作,但是改為收費制度之後,
盛況似乎大不如前。[2]
2.1.2. 運算分享架構
服癌症計劃由 Intel、牛津大學、國家癌症研究基金會(NFCR)和 United Device 共 同發布。它是一個透過網路結合網路上電腦運算能力的一個 P2P 架構。這個架 3,063,461 台機器,提供了超過了 401,875 年的運算時間,平均一天貢獻超過 247 年的運算時間(以上數據來源於http://www.grid.org/stats/)。有鑑於該專案的成功,新的蛋白質基因研究(代號為 Rosetta),由 ISB(Institute for Systems Biology)、華盛頓大學和 IBM 主導的研究計畫也在 2004 年加入 UD 之中進行實驗。該專案嘗試分析人類基因中的各種蛋白質的特性,看看是否能在 疾病預防和治療上有所貢獻。這一類類型的架構,比較有名的還有偵測外星人的 Seti@Home、計算相對論之中脈衝星的 Einstein@Home,也和 UD 一樣有許多的
參與者支持著。
這一類的架構有著一些限制。首先,目標工作必須能被切開成數個小部份,
以方便分配給每個參與者運算;另外,由於分散式運算架構大都有一個中央伺服 器來控制參與電腦的資源分配;而每個參與者(Peer)由於只負責運算工作與回報 實驗,彼此之間並不會有直接的通訊關係存在。因此,有些觀點甚至認為分享運 算架構並不是很純粹的 P2P 架構。