国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      利用嵌入內(nèi)容分布式幻影服務(wù)器的全局文檔主系統(tǒng)的制作方法

      文檔序號:6419087閱讀:203來源:國知局
      專利名稱:利用嵌入內(nèi)容分布式幻影服務(wù)器的全局文檔主系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及在計算機網(wǎng)絡(luò)中的信息檢索。更具體地說,本發(fā)明涉及一種在因特網(wǎng)上主處理和分發(fā)內(nèi)容的新穎方法,該方法解決因特網(wǎng)服務(wù)提供者(ISP)和因特網(wǎng)內(nèi)容提供者的問題。
      環(huán)球網(wǎng)是因特網(wǎng)的多媒體信息檢索系統(tǒng)。在Web環(huán)境中,客戶機使用超文本轉(zhuǎn)換傳輸協(xié)議(HTTP)實現(xiàn)到Web服務(wù)器的事務(wù)處理,該協(xié)議是熟知的應(yīng)用協(xié)議,使用稱作超文本置標語言(HTML)的標準頁描述語言向用戶提供對文件(例如文本、圖表、圖象、聲音、視頻等)的訪問。HTML提供基本的文檔格式化,并且允許擴展器規(guī)定對其他服務(wù)器和文件的“鏈接”。在因特網(wǎng)示例中,至服務(wù)器的網(wǎng)絡(luò)路徑由具有用來定義網(wǎng)絡(luò)連接的專用句法的所謂統(tǒng)一資源定位器(URL)辨別。在客戶機處HTML兼容瀏覽器(例如,網(wǎng)絡(luò)導航器或微軟因特網(wǎng)信息查詢工具)的使用包括經(jīng)URL指定鏈接。作為響應(yīng),客戶向在鏈接中辨別的服務(wù)器進行請求,并且作為回答,接收根據(jù)HTML格式化的文檔或其他對象。在Web服務(wù)器上支持的文檔集合有時稱作Web站點。
      在先有技術(shù)中眾所周知,Web站點把其內(nèi)容映象在另一個服務(wù)器處。的確,當今,內(nèi)容提供者較靠近其閱讀器放置其內(nèi)容的唯一方法是,在國內(nèi)和國際上布置在不同位置中的Web主處理地段處的機器上建立其Web站點的拷貝。Web站點的這些拷貝稱作鏡象站點。不幸的是,鏡象站點把不必要的經(jīng)濟和操作負擔加在內(nèi)容提供者上,并且他們不提供規(guī)模經(jīng)濟。在經(jīng)濟性方面,對于帶有一個初級站點和一個鏡象站點的內(nèi)容提供者的整個成本大于單個初級站點成本的兩倍。該附加成本是兩個因素的結(jié)果(1)內(nèi)容提供者必須與用于每個鏡象站點的分離主設(shè)施協(xié)同,和(2)內(nèi)容提供者招致與保持鏡象站點同步有關(guān)的額外開銷費用。
      在解決與映象有關(guān)的問題的努力中,諸如Cisco、Resonate、BrightTiger、F5 Labs和Alteon之類的公司正在開發(fā)幫助保持鏡象站點同步和負載平衡的軟件和硬件。盡管這些機構(gòu)對內(nèi)容提供者是有幫助的,但他們未能解決規(guī)模性的潛在問題。即使內(nèi)容提供者愿意承擔與映象有關(guān)的成本,技術(shù)本身也不能排列超過幾個(即小于10個)的Web站點。
      除這些經(jīng)濟性和規(guī)模性問題之外,映象還帶來操作困難。使用鏡象站點的內(nèi)容提供者不僅租用和管理在遠程位置中的物理空間,而且還必須購買和維護同步化的軟件或硬件及平衡站點的負載。當前解決方案需要內(nèi)容提供者供給維護多個Web站點必需的人員、技術(shù)和其他物品。總之,映象要求內(nèi)容提供者把經(jīng)濟性和其他資源消耗在與其建立內(nèi)容的核心業(yè)務(wù)無關(guān)的功能上。
      況且,內(nèi)容提供者還希望保持其內(nèi)容的控制。當今,一些ISP正在安裝中斷在內(nèi)容提供者與末端用戶之間的鏈接的高速緩沖硬件。這種高速緩沖的作用能產(chǎn)生對內(nèi)容提供者有害的結(jié)果,包括(1)防止內(nèi)容提供者得到對其Web頁的準確命中計數(shù)(由此減小來自廣告商的收入),(2)防止內(nèi)容提供者裁剪內(nèi)容和向特定讀者作廣告(這嚴重限制內(nèi)容提供者的Web頁的效用),及(3)向其客戶提供過時的信息(這可能導致末端用戶受打擊和憤怒)。
      在先有技術(shù)中一直明顯需要提供一種分散主處理方案,該方案使用戶在較有效的基礎(chǔ)上得到因特網(wǎng)內(nèi)容(即不會不必要地加重網(wǎng)絡(luò)資源的負擔),并且同樣使內(nèi)容提供者保持對其內(nèi)容的控制。
      本發(fā)明解決與先有技術(shù)有關(guān)的這些和其他問題。
      本發(fā)明的一般目的在于,提供一種包括大量廣泛采用的因特網(wǎng)服務(wù)器的計算機網(wǎng)絡(luò),這些服務(wù)器形成一種設(shè)計成向末端用戶迅速、有效、及可靠地服務(wù)Web內(nèi)容的有機、大量容錯的基礎(chǔ)結(jié)構(gòu)。
      本發(fā)明的另一個更一般的目的在于,提供一種分發(fā)基于Web的內(nèi)容的基本上新的和較好的方法。發(fā)明的構(gòu)造提供一種在分發(fā)服務(wù)器的大網(wǎng)絡(luò)上智能尋路和復制內(nèi)容、最好不用中心控制的方法。
      本發(fā)明的另一個目的在于,提供一種移動內(nèi)容靠近用戶的網(wǎng)絡(luò)構(gòu)造。發(fā)明的構(gòu)造允許Web站點擴展大量讀者,而不用擔心建立處理有關(guān)傳輸?shù)拇罅炕A(chǔ)結(jié)構(gòu)。
      本發(fā)明的又一個目的在于,提供一種用來分發(fā)Web內(nèi)容的容錯網(wǎng)絡(luò)。該網(wǎng)絡(luò)構(gòu)造用來加速多信息Web頁的發(fā)送,并且它允許內(nèi)容提供者具有大量讀者,最好從靠近末端用戶布置的服務(wù)器向這些讀者可靠和經(jīng)濟地服務(wù)。
      本發(fā)明另外一個特征在于,在大網(wǎng)絡(luò)上分發(fā)和管理內(nèi)容而不中斷內(nèi)容提供者與末端用戶的直接關(guān)系的能力。
      本發(fā)明又一個特征在于,提供一種用于因特網(wǎng)的分發(fā)可規(guī)模化的基礎(chǔ)結(jié)構(gòu),該基礎(chǔ)結(jié)構(gòu)把Web內(nèi)容分發(fā)負擔從內(nèi)容提供者轉(zhuǎn)移到最好采用幾百個主服務(wù)器的網(wǎng)絡(luò)上,例如在全局基礎(chǔ)上。
      總之,本發(fā)明是一種支持以真正全局規(guī)模主處理的網(wǎng)絡(luò)構(gòu)造。發(fā)明的構(gòu)架允許內(nèi)容提供者把其最流行的內(nèi)容復制在全世界的無限數(shù)量點處。作為一種附加特征,在任何一個地理位置處復制的實際內(nèi)容,對于在該裝置的觀看者專門裁剪。況且,把內(nèi)容自動發(fā)送到需要它的位置,而在內(nèi)容提供者方?jīng)]有任何努力或額外開銷。
      因而本發(fā)明更一般的目的在于,提供一種使內(nèi)容提供者能夠保持其內(nèi)容控制的全局主構(gòu)架。
      本發(fā)明的主構(gòu)架包括一組以分發(fā)方式操作的服務(wù)器。要服務(wù)的實際內(nèi)容最好支持在一組主服務(wù)器(有時稱作幻影服務(wù)器)上。這種內(nèi)容包括常規(guī)從內(nèi)容提供者站點供應(yīng)的HTML頁對象。然而,按照本發(fā)明,Web頁的基本HTML文檔部分從內(nèi)容提供者的站點供應(yīng),而用于該頁的一個或多個嵌入對象從主服務(wù)器供應(yīng),最好這些主服務(wù)器最靠近客戶機。通過從內(nèi)容提供者的站點供應(yīng)基本HTML文檔,內(nèi)容提供者保持對內(nèi)容的控制。
      哪個主服務(wù)器用來供應(yīng)給定嵌入對象的確定由主構(gòu)架中的其他資源實現(xiàn)。特別是,構(gòu)架包括配置成提供頂級域名服務(wù)(DNS)的第二組服務(wù)器(或服務(wù)器資源)。另外,構(gòu)架也包括配置成提供低級DNS功能性的第三組服務(wù)器(或服務(wù)器資源)。當客戶機向用于給定Web頁的Web站點發(fā)出HTTP請求時,如上述那樣從Web站點供應(yīng)基本HTML文檔。用于該頁的嵌入對象最好從由頂級和低級DNS服務(wù)器辨別的具體主服務(wù)器供應(yīng)。為了定位要使用的適當主服務(wù)器,頂級DNS服務(wù)器確定用戶在網(wǎng)絡(luò)中的位置,以辨別響應(yīng)對于嵌入對象的請求的給定低級DNS服務(wù)器。頂級DNS服務(wù)器然后把請求重新指向辨別的低級DNS服務(wù)器,該低級DNS服務(wù)器又把請求解析成用于給定主服務(wù)器的IP地址,該給定主服務(wù)器把對象供應(yīng)回客戶。
      更一般地說,有可能(并且在某些情況下是希望的)具有一種由幾級組成的DNS服務(wù)器分級結(jié)構(gòu)。在分級結(jié)構(gòu)中運動的級越低,離最好區(qū)域越近。
      本發(fā)明另外一方面在于一種裝置,通過該裝置經(jīng)一種服務(wù)器集合能分發(fā)和復制內(nèi)容,從而優(yōu)化存儲器的使用,受到有滿足要求的足夠數(shù)量的任何對象拷貝的約束,分散對象的拷貝,從而沒有服務(wù)器變得過載,拷貝在向前運動時往往位于相同的服務(wù)器上,并且把拷貝定位在靠近需要他們的客戶的區(qū)域中。因而,在構(gòu)架內(nèi)操作的服務(wù)器不保持所有內(nèi)容數(shù)據(jù)庫的拷貝。而是,給定服務(wù)器保持少量數(shù)據(jù)的拷貝,從而整個系統(tǒng)提供要求的服務(wù)級。本發(fā)明的這方面允許主處理方案遠比在任何地方高速緩沖任何對象的、或僅在預定位置高速緩沖對象的方案有效。
      全局主構(gòu)架在每個操作級處是容錯的。特別是,頂級DNS服務(wù)器返回可以由客戶用來供應(yīng)用于嵌入對象的請求的低級DNS服務(wù)器的清單。同樣,每個主服務(wù)器最好包括一個在失效狀態(tài)的情況下用來恢復其有關(guān)主服務(wù)器的主處理責任的伙伴服務(wù)器。
      根據(jù)本發(fā)明,通過用來分發(fā)嵌入對象請求的新穎技術(shù),部分實現(xiàn)跨過主服務(wù)器組的負載平衡。特別是,最好通過把虛擬服務(wù)器主機名預懸在URL中修改每個嵌入對象URL。更一般地,把虛擬服務(wù)器主機名插入在URL中。最好,虛擬服務(wù)器主機名包括通過把一個給定散列函數(shù)應(yīng)用于URL產(chǎn)生的一個值(有時稱作序列號),或通過把關(guān)于對象的給定信息編碼成該值。該函數(shù)用來在虛擬服務(wù)器主機名給定組上隨機分發(fā)嵌入對象。另外,通過把一個給定散列函數(shù)應(yīng)用于嵌入對象本身產(chǎn)生用于嵌入對象的一個給定指紋值。該給定值用作辨別是否已經(jīng)修改嵌入對象的指紋。最好,把用來產(chǎn)生諸值(即用于虛擬服務(wù)器主機名和指紋)的函數(shù)在離線過程中應(yīng)用于給定的Web頁。因而,當接收到用于該頁的HTTP請求時,由Web站點供應(yīng)基本HTML文檔,并且該頁的嵌入對象的某一部分從靠近(盡管不必是最近)初始化請求的客戶機的主服務(wù)器供應(yīng)。
      以上已經(jīng)概述了本發(fā)明一些較貼切的目的和特征。這些目的應(yīng)該解釋成僅說明本發(fā)明一些較顯著的特征和應(yīng)用。通過如將要描述的那樣以不同方式應(yīng)用公開的發(fā)明或改進本發(fā)明,能得到許多其他的有益結(jié)果。因而,通過參照最佳實施例的如下詳細描述可以得到本發(fā)明的其他目的和較充分的理解。
      為了更完整地理解本發(fā)明和其優(yōu)點,應(yīng)該參考聯(lián)系附圖所作的如下詳細描述,在附圖中

      圖1是其中實施本發(fā)明的代表性系統(tǒng);圖2是表明基本文檔和嵌入對象組的置標語言文檔的簡化表示;圖3是根據(jù)本發(fā)明的全局主系統(tǒng)級圖;圖4是簡化流程圖,表明一種對于在本發(fā)明中使用的修改嵌入對象URL處理Web頁的方法;圖5是簡化狀態(tài)圖,表明本發(fā)明如何響應(yīng)用于Web頁的HTTP請求。
      如圖1中所表明的那樣實施已知的因特網(wǎng)客戶機-服務(wù)器系統(tǒng)。一個客戶機10經(jīng)一個網(wǎng)絡(luò)14連接到一個Web服務(wù)器12上。為了說明目的,網(wǎng)絡(luò)14是因特網(wǎng)、內(nèi)部網(wǎng)絡(luò)、外部網(wǎng)絡(luò)或任何其他已知網(wǎng)絡(luò)。Web服務(wù)器12是可由客戶機訪問的多個服務(wù)器之一,客戶機之一由機器10表明。一個代表性客戶機包括一個瀏覽器16,瀏覽器16是用來訪問網(wǎng)絡(luò)的服務(wù)器的已知軟件工具。Web服務(wù)器支持超文本文檔和對象形式的文件(統(tǒng)稱為“Web”站點)。在因特網(wǎng)示例中,至一個服務(wù)器的網(wǎng)絡(luò)路徑由一個所謂的統(tǒng)一資源定位器(URL)辨別。
      一個代表性Web服務(wù)器12是一個包括一個處理器18、一個操作系統(tǒng)20、及一個諸如網(wǎng)絡(luò)漫游企業(yè)服務(wù)器之類的Web服務(wù)器程序22的計算機。服務(wù)器12也包括支持一個用于管理和監(jiān)督的圖形用戶接口(GUI)、和一個應(yīng)用程序編程接口(API)的顯示器,該應(yīng)用程序編程接口提供擴展,以便使應(yīng)用程序擴展器能夠通過軟件程序擴展和/或定制擴展器的核心功能性,這些軟件程序包括公共網(wǎng)關(guān)界面(CGI)程序、插入、服務(wù)許可(servlet)、活動服務(wù)器頁、服務(wù)器側(cè)包括(SSI)功能等。
      代表性Web客戶機是個人計算機,該個人計算機基于x86、PowerPC或RISC,包括諸如IBM OS/2或微軟Windows’95之類的操作系統(tǒng),及包括一個帶有Java虛擬機(JVM)和用于應(yīng)用插入或幫助應(yīng)用程序的支持的Web瀏覽器,如網(wǎng)絡(luò)導航器4.0(或更高)??蛻魴C也可以是網(wǎng)絡(luò)計算機、手持計算裝置(例如PDA)、因特網(wǎng)設(shè)備、或可連接到計算機網(wǎng)絡(luò)上的任何其他這樣的裝置。
      如圖2中所示,典型的Web頁包括一個置標語言(例如HTML)主要或基本文檔28、和多個嵌入對象(例如圖象、聲頻、視頻等)30。因而,在典型的頁中,二十或更多個嵌入圖象或?qū)ο笫欠浅F毡榈?。這些圖象的每一個是在Web中分別檢索(或?qū)τ谧兓行?的獨立對象。Web客戶機的普通行為因此是提取基本HTML文檔,并且然后立即提取一般(但不總是)位于相同服務(wù)器上的嵌入對象。根據(jù)本發(fā)明,最好置標語言基本文檔28從Web服務(wù)器(即內(nèi)容提供者站點)供應(yīng),而嵌入對象的給定號碼(或許全部)從其他服務(wù)器供應(yīng)。如將看到的那樣,最好一個給定嵌入對象從靠近客戶機、沒有過載、及最可能已經(jīng)具有需要文件的當前版本的服務(wù)器供應(yīng)(除Web服務(wù)器本身之外)。
      現(xiàn)在參照圖3,該操作由本發(fā)明的主系統(tǒng)實現(xiàn)。如將看到的那樣,主系統(tǒng)35包括一組廣泛采用的服務(wù)器(或服務(wù)器資源),這些服務(wù)器形成一種設(shè)計成迅速、有效和可靠地向末端用戶供應(yīng)Web內(nèi)容的巨大容錯基礎(chǔ)結(jié)構(gòu)。服務(wù)器可以全局或跨過任何希望的地理區(qū)域采用。如將看到的那樣,主系統(tǒng)提供一種用來智能尋路和復制這種內(nèi)容的分布構(gòu)造。為此,全局主系統(tǒng)35包括三(3)種基本類型的服務(wù)器(或服務(wù)器資源)主服務(wù)器(有時叫做幻影)36、頂級DNS服務(wù)器38、及低級DNS服務(wù)器40。盡管沒有表明,在DNS級次中可以有附加級。另一方面,可能有把頂級和低級服務(wù)器的功能性相組合的單個DNS級。在該說明性實施例中,發(fā)明的構(gòu)架35由一個因特網(wǎng)服務(wù)提供者(ISP)采用,盡管這不限制本發(fā)明。采用發(fā)明的全局主構(gòu)架35的一個ISP或多個ISP最好帶有在其網(wǎng)絡(luò)上運行幻影服務(wù)器元件36和低級DNS元件40的大量機器。這些機器貫穿網(wǎng)絡(luò)分布;最好他們集中在網(wǎng)絡(luò)交換點42和網(wǎng)絡(luò)訪問點44的周圍,盡管不要求這樣。此外,ISP最好帶有運行也可以貫穿網(wǎng)絡(luò)分布的頂級DNS 38的少量機器。
      盡管不意味著限制,但在構(gòu)架35中使用的給定服務(wù)器最好包括一個處理器、一個操作系統(tǒng)(例如Linux、UNIX、Windows NT等)、一個Web服務(wù)器應(yīng)用程序、及一組由本發(fā)明使用的應(yīng)用例行程序。這些例行程序方便地在軟件中實現(xiàn),作為由處理器執(zhí)行的一組指令,以完成在下面將要更詳細描述的各種過程或方法步驟。服務(wù)器最好位于網(wǎng)絡(luò)的邊緣處(例如在存在點或POP中)。
      幾個因素可以確定主服務(wù)器放置在網(wǎng)絡(luò)中的何處。因而,例如,服務(wù)器位置最好由一個允許提供者(例如ISP)監(jiān)視通信請求的需要驅(qū)動網(wǎng)絡(luò)圖確定。通過研究通信圖案,ISP對于給定的通信分布可以優(yōu)化服務(wù)器位置。
      根據(jù)本發(fā)明,給定Web頁(包括一個基本HTML文檔和一組嵌入對象)以分布方式供應(yīng)。因而,最好基本HTML文檔從通常主處理該頁的內(nèi)容提供者供應(yīng)。嵌入對象或其一些子組最好從主服務(wù)器36,并且特別是從靠近在第一例中初始化對于Web頁的請求的客戶機的給定主服務(wù)器36供應(yīng)。此外,最好平衡跨過主服務(wù)器的負載,以保證給定嵌入對象可以高效地從靠近客戶機的給定主服務(wù)器供應(yīng),此時該客戶機需要該對象以完成該頁。
      為了以這種方式供應(yīng)頁內(nèi)容,修改與嵌入對象有關(guān)的URL。如眾所周知的那樣,在一頁中可以供應(yīng)的每個嵌入對象帶有其自己的URL。典型地,URL帶有一個辨別內(nèi)容提供者的站點從何處按常規(guī),即不用參照本發(fā)明,供應(yīng)對象的主機名。根據(jù)本發(fā)明,最好在一個離線過程中,首先修改嵌入對象URL,以把URL調(diào)節(jié)成由全局主服務(wù)器供應(yīng)。表明用來修改對象URL的流程圖表明在圖4中。
      例行程序在步驟50通過確定是否已經(jīng)處理在給定頁中的所有嵌入對象而開始。如果是,則例行程序結(jié)束。然而,如果否,則例行程序在步驟52得到下個嵌入對象。在步驟54,一個虛擬服務(wù)器主機名預懸在用于給定嵌入對象的URL中。虛擬服務(wù)器主機名包括一個例如由把給定散列函數(shù)應(yīng)用于URL產(chǎn)生的值(例如一個號碼)。如眾所周知的那樣,一個散列函數(shù)具有任意長度位串作為輸入,并且產(chǎn)生固定長度位串(散列值)作為輸出。這樣的函數(shù)滿足兩個條件(1)不可能找到產(chǎn)生相同散列值的兩個不同輸入;和(2)給定一個輸入和其散列值,不可能找到具有相同散列值的不同輸入。在步驟54,用于嵌入對象的URL散列成一個然后包括在虛擬服務(wù)器主機名中的值xx,xxx。該步驟隨機地把對象分發(fā)到一個給定虛擬服務(wù)器主機名。
      本發(fā)明不限于通過應(yīng)用上述散列函數(shù)產(chǎn)生虛擬服務(wù)器主機名。作為一個可選擇的和最佳實施例,虛擬服務(wù)器主機名按如下產(chǎn)生??紤]代表性主機名a1234.g.akamaitech.net。有時稱作序列號的1234值最好包括關(guān)于對象的信息,如其大小(大或小)、其預期流行性、建立對象的日期、Web站點的標識、對象類型(例如電影或靜止畫面)、及或許由給定隨機函數(shù)產(chǎn)生的某些隨機位。當然,不要求任何給定序列號編碼所有這些信息或甚至這些元件的有效號碼。的確,在最簡單的情況下,序列號可以是簡單的整數(shù)。在任何情況下,以任何方便的形式把信息編碼成序列號。因而,例如,第一位用來指示大小,第二位用來指示流行性,一組附加位用來指示日期等等。如在散列例子中提及的那樣,序列號也用于負載平衡和用于把一定類型的通信指向一定類型的服務(wù)器。一般地,關(guān)于相同頁的最多URL具有相同的序列號以使每頁需要的可辨別名(DN)訪問的次數(shù)最少。對于較大的對象這種要求較不重要。
      因而,根據(jù)本發(fā)明,虛擬服務(wù)器主機名預懸在用于給定嵌入對象的URL中,并且該主機名包括一個通過把給定函數(shù)應(yīng)用于URL或?qū)ο螽a(chǎn)生的值(或序列號)。該函數(shù)可以是散列函數(shù)、編碼函數(shù)等。
      現(xiàn)在返回流程圖,例行程序然后繼續(xù)到步驟56,以在對象的URL中包括一個給定值。最好,通過把一個給定散列函數(shù)應(yīng)用于嵌入對象產(chǎn)生該給定值。該步驟產(chǎn)生一個有益于確定是否已經(jīng)修改對象的對象的唯一指紋。此后,例行程序返回步驟50并且循環(huán)。
      以上文作為背景,現(xiàn)在在特定例子中的上下文中描述發(fā)明的全局主構(gòu)架。具體地說,假定在波士頓的客戶機的用戶需要通常在亞特蘭大主處理的內(nèi)容提供者Web頁。為了說明目的,假定內(nèi)容提供者正在使用在一個網(wǎng)絡(luò)內(nèi)的全局主構(gòu)造,該網(wǎng)絡(luò)可以是全局的、國際的、全國的、區(qū)域的、本地的或私人的。圖5表示系統(tǒng)的各種元件和如何處理來自客戶機的請求。該操作不要當作限制,如將要解釋的那樣。
      步驟1瀏覽器向提供者的Web站點發(fā)送一個請求(項1)。在亞特蘭大的內(nèi)容提供者站點以與就象沒有實施全局主構(gòu)架那樣所進行的相同方式接收請求。不同之處在于由提供者站點返回。代之以返回通常的頁,根據(jù)本發(fā)明,Web站點返回帶有根據(jù)圖4流程圖中表明的方法修改的嵌入對象URL的頁。如以上描述的那樣,URL最好按如下變化假定有100,000個虛擬幻影服務(wù)器,盡管可以僅有較小的數(shù)量(例如100)具體存在于網(wǎng)絡(luò)上。這些虛擬幻影服務(wù)器或虛擬幻影由主機名辨別ghostxxxxx.ghosting.com,其中xxxxx用在0與99,999之間一個號碼代替。在用新信息更新內(nèi)容提供者Web站點之后,運行在內(nèi)容提供者站點上執(zhí)行的重寫嵌入URL的腳本,最好,把嵌入的URL名散列成在0與99,999之間的號碼,盡管該范圍不限制本發(fā)明。然后切換嵌入的URL以參考帶有該號碼的虛擬幻影。例如,如下是來自提供者的站點的嵌入URL&lt;IMG SRC=http∥www.provider.com/TECH/images/space.story.gif&gt;
      如果用于由該URL參考的對象的序列號是號碼1467,那么最好重寫URL以便讀&lt;IMG SRC=http∥ghost1467.ghosting.akamai.com/www.provider.com/TECH/images/space.story.gif&gt;。
      這種方式的序列號的使用把嵌入URL粗略均勻地分布在100,000個虛擬幻影服務(wù)器名上。注意提供者站點仍能通過根據(jù)個人愛好重新排列在屏幕上的各種對象使該頁個性化。況且,提供者也能動態(tài)地插入廣告,并且能計數(shù)多少人觀看每個廣告。
      根據(jù)該最佳實施例,進行對嵌入URL的附加改進,以保證全局主系統(tǒng)不會供應(yīng)陳舊信息。如上所述,最好包含在嵌入URL中的數(shù)據(jù)的散列也插入在嵌入的URL本身中。就是說,每個嵌入的URL可以包含它指向的數(shù)據(jù)的指紋。當潛在信息變化時,指紋從而改變,并且這防止用戶參考舊數(shù)據(jù)。
      第二散列把一個位流作為輸入,并且輸出有時稱作該流的指紋。指紋的重要特性在于兩個不同的流幾乎肯定產(chǎn)生兩個不同的指紋。這種散列的例子是MD2和MD5散列函數(shù),然而,可以使用其他更透明的方法,如簡單的校驗和。具體地說,假定散列的輸出是128位簽名。該簽名能譯碼成一個號碼,并且然后插入在嵌入的URL中。例如,如果在來自提供者Web站點的畫面space.story.gif中的數(shù)據(jù)的散列是號碼28765,那么修改的嵌入URL實際看作如下&lt;IMG
      SRC=http∥ghost1467.ghosting.akamai.com/28765/www.provider.com/TECH/images/space.story.gif”&gt;。
      每當一頁改變時,最好重新計算每個嵌入URL的散列,并且如有必要重寫URL。如果URL的數(shù)據(jù)的任一個改變,例如,一個新的和不同的畫面插入有名space.story.gif,那么數(shù)據(jù)的散列不同,并因此URL本身將不同。作為對原始頁更新的結(jié)果,該方案防止系統(tǒng)來自陳舊的服務(wù)數(shù)據(jù)。
      例如,假定畫面space.story.gif用內(nèi)容提供者服務(wù)器上的一個較新版本代替。因為畫面的數(shù)據(jù)變化,所以URL的散列也變化。因而,除對于指紋插入一個新號碼外,新嵌入的URL看起來相同。需要更新之后的頁的任何用戶接收指向新畫面的一頁。舊畫面永遠不會參考,并且不可能錯誤地返回代替較新的信息。
      總之,最好有所作的兩種散列操作以修改內(nèi)容提供者的諸頁。首先,散列可能是該過程的一個分量,通過它選擇一個序列號以把域名轉(zhuǎn)換成虛擬幻影名。如將看到的那樣,該第一轉(zhuǎn)換用來把客戶機重新指向全局主系統(tǒng)以檢索嵌入的URL。其次,計算由嵌入的URL指向的數(shù)據(jù)的散列,并且插入URL中。該第二轉(zhuǎn)換用來防止從幻影服務(wù)器供應(yīng)陳舊和過時的內(nèi)容。最好,這兩種轉(zhuǎn)換離線進行,并因此不會造成潛在的性能瓶頸。
      概括地說,最佳的URL方案如下。說明性域www.domainname.com/frontpage.jpg轉(zhuǎn)換成xxxx.yy.zzzz.net/aaaa/www.domainname.com/frontpage.jpg,其中xxxx=序列號字段yy=低級DNS字段zzzz=頂級DNS字段aaaa=其他信息(例如指紋)字段。
      如果使用DNS級次的另外級,那么有另外的低級DNS字段,例如xxxx.y1y1.y2y2zzz.net/aaaa/。
      步驟2在從內(nèi)容提供者站點接收到初始頁之后,瀏覽器需要加載嵌入的URL以顯示該頁。在這樣做時的第一步驟是接觸在用戶的機器上(或在用戶的ISP處)的DNS服務(wù)器,以解析改變的主機名,在這種情況下是ghost1467.ghosting.akamai.com。如將看到的那樣,本發(fā)明的全局主構(gòu)造操縱DNS系統(tǒng),從而把該名解析成靠近客戶機且可能已經(jīng)具有該頁的幻影之一。為了理解這如何進行,如下描述由客戶機啟動的DNS查詢的過程。
      步驟3如上所述,最好在發(fā)明的系統(tǒng)中有兩種類型的DNS服務(wù)器高級和低級。用于ghosting.com的頂級DNS服務(wù)器38具有一個不同于與.com域的那些相象的正常DNS服務(wù)器的特定函數(shù)。頂級DNS服務(wù)器38包括用來確定把用戶定位在網(wǎng)絡(luò)中何處的適當控制例行程序,并且然后把用戶指向在近處的akamai.com(即低級DNS)服務(wù)器40。象.com域,akamai.com最好帶有貫穿網(wǎng)絡(luò)分散用于容錯的多個頂級DNS服務(wù)器38。因而,一個給定頂級DNS服務(wù)器38把用戶指向因特網(wǎng)中的一個區(qū)域(具有可以用來滿足對于給定嵌入對象的請求的主服務(wù)器36的集合),而低級DNS服務(wù)器40(在辨別區(qū)域中)辨別在該集合內(nèi)從其實際供應(yīng)對象的具體主服務(wù)器。
      更一般地,如以上提及的那樣,DNS過程能包含幾級處理,其每一個用來較好地把客戶機指向幻影服務(wù)器?;糜胺?wù)器名也能具有多個字段。例如,“a123.g.g.akamaitech.net”可以用來代替“a123.ghost.akamai.com”。如果僅使用一個DNS級,則代表性URL可能是“a123.akamai.com”。
      盡管可以使用其他技術(shù),但最好通過查看進行請求的客戶機的IP地址,導出用戶在網(wǎng)絡(luò)中的位置。在本例子中,在用戶的機器上運行DNS服務(wù)器,盡管這不是要求的。例如,如果用戶正在使用ISPDNS服務(wù)器,則例行程序進行用戶位于該服務(wù)器附近(在因特網(wǎng)的意義上)的假定。另一方面,能把用戶的位置或IP地址直接編碼成發(fā)送到頂級DNS的請求。為了確定在網(wǎng)絡(luò)中IP地址的實際位置,最好頂級DNS服務(wù)器建立一個然后用來辨別有關(guān)位置的網(wǎng)絡(luò)圖。
      因而,例如,當一個請求輸入到用來解析a1234.g.akamaitech.net的頂級DNS時,頂級DNS查看該請求的返回地址,并且然后根據(jù)網(wǎng)絡(luò)圖形成基于該地址的響應(yīng)。在該例子中,a1234是序列號,g是指低級DNS的字段,及akamaitech指頂級DNS。網(wǎng)絡(luò)圖最好包含所有因特網(wǎng)協(xié)議(IP)塊的清單,并且對于每個IP,該圖確定何處引導請求。該圖最好根據(jù)網(wǎng)絡(luò)狀態(tài)和通信連續(xù)地更新。
      在確定請求源于網(wǎng)絡(luò)中何處之后,頂級DNS服務(wù)器把DNS請求重新指向靠近網(wǎng)絡(luò)中用戶的低級DNS服務(wù)器。重新定向請求的能力是DNS系統(tǒng)中的一個標準特征。此外,該重新定向能以這樣一種方式實現(xiàn),從而如果本地低級DNS服務(wù)器在下面,則有一個接觸的備用服務(wù)器。
      最好,把用于ghosting.com域的這些頂級DNS重新定向的TTL(駐留時間)標記設(shè)置得較長。這允許在用戶的DNS服務(wù)器和/或ISP的DNS服務(wù)器處的DNS緩沖以防止頂級DNS服務(wù)器過載。如果用于在用戶的機器或ISP處的DNS服務(wù)器中的ghosting.akamai.com的TTL已經(jīng)過去,那么接觸頂級服務(wù)器,并且借用于一個新的TTL標記返回對于本地低級ghosting.akamai.comDNS服務(wù)器的新的重新定向。應(yīng)該注意,該系統(tǒng)不會產(chǎn)生比在當前集中主處理解決方案中實現(xiàn)的顯著大的頂級DNS檢查次數(shù)。這是因為把頂級重新定向的TTL設(shè)置得較高,并因而,用戶的絕大多數(shù)由其本地DNS直接指向附近的低級ghosting.akamai.com DNS服務(wù)器。
      況且,用于頂級DNS服務(wù)器的容錯自動由類似于對于流行.com域?qū)崿F(xiàn)的DNS提供。用于低級DNS服務(wù)器的容錯最好通過返回可能低級DNS服務(wù)器的清單而不是僅單個服務(wù)器提供。如果低級DNS服務(wù)器之一在下面,則用戶仍將能夠接觸在上面和運行的清單上的一個。
      經(jīng)“過流控制”機構(gòu)處理也能處理容錯,其中把客戶機重新指向已知具有足夠容量供應(yīng)對象的區(qū)域中的低級DNS。這種可選擇的方法在其中有來自一個特定區(qū)域的大量需要的地方的情況下或當在區(qū)域中有減小容量時非常有用。一般地說,客戶機以使經(jīng)受沒有區(qū)域變得過載的約束的客戶機經(jīng)歷的總等待最小的方式指向諸區(qū)域。最好使用小成本多商品流算法實現(xiàn)使經(jīng)受區(qū)域容量約束的總等待最小。
      步驟4在這時,用戶具有附近ghosting.com DNS服務(wù)器38的地址。用戶的本地DNS服務(wù)器接觸附近低級DNS服務(wù)器40,并且請求轉(zhuǎn)換名幻影1467.ghosting.akamai.com。本地DNS服務(wù)器負責返回在網(wǎng)絡(luò)上靠近用戶、沒有過載、及最好可能已經(jīng)具有要求的數(shù)據(jù)的幻影服務(wù)器36之一的IP地址。
      用來把虛擬幻影名映象到真實幻影上的基本機理是散列。一種最佳的技術(shù)是所謂的一致散列,如在每個名稱為用來在多個資源中分配請求的方法和設(shè)備、和由Massachusetts Institute of Technology所有的、提出于1998年3月13日的美國Serial No.09/042,228和提出于1998年6月2日的美國Serial No.09/088,825中描述的那樣,這些申請通過參考包括在這里。一致散列函數(shù)使系統(tǒng)在機器失效和損壞下較牢固。也允許系統(tǒng)優(yōu)美地增長,而不改變定位大多數(shù)項的地方并且不用關(guān)于系統(tǒng)的完整信息。
      根據(jù)本發(fā)明,使用一種表查閱可以把虛擬幻影名散列成真實的幻影地址,其中根據(jù)網(wǎng)絡(luò)條件和通信以這樣一種方式連續(xù)地更新該表,以保證負載平衡和容錯。最好,對于每個序列號產(chǎn)生一個解析表。例如,序列號1解析到幻影2和5,序列號2解析到幻影3,序列號3解析到幻影2、3、4,等等。目的是定義解析,從而沒有幻影超過其容量,并且使在所有解析中的所有幻影的總數(shù)量最小。這樣做保證系統(tǒng)能得到在每個區(qū)域處適用存儲器的最大優(yōu)點。這是優(yōu)于現(xiàn)有負載平衡方案主要優(yōu)點,這些方案往往在任何地方高速緩沖任何東西或者僅在一定位置高速緩沖一定對象,而不管負載是什么。一般地,希望進行分配,從而解析在整個時間上往往一致地駐留,條件是負載在短時間段內(nèi)不會變化太大。這種機理最好也考慮幻影離用戶多近、和在瞬時加載幻影多重。
      注意最好根據(jù)用戶位于網(wǎng)絡(luò)中何處把相同的虛擬幻影轉(zhuǎn)換到不同的真實幻影地址。例如,假定幻影服務(wù)器18.98.0.17位于美國,而幻影服務(wù)器132.68.1.28位于以色列。用于源于波士頓的幻影1487.ghosting.akamai.com的DNS請求將解析到18.98.0.17,而源于Tel-AViv的請求將解析到132.68.1.28。
      低級DNS服務(wù)器監(jiān)視各種幻影服務(wù)器以考慮其負載,而把虛擬幻影名轉(zhuǎn)換成真實地址。這由在幻影上和在低級DNS服務(wù)器上運行的軟件例行程序處理。在一個實施例中,負載信息在一個區(qū)域中的諸服務(wù)器中循環(huán),從而他們能計算用于每個序列號的解析。一種用來計算解析的算法按如下工作。服務(wù)器首先計算用于每個序列號的預計負載(基于用戶請求的數(shù)量)。然后按負載增大順序處理序列號。對于每個序列號,使用一致的散列方法分配希望服務(wù)器的隨機優(yōu)先權(quán)清單。每個序列號然后從優(yōu)先權(quán)清單解析到服務(wù)器的最小初始段,從而沒有服務(wù)器變得過載。例如,如果用于一個序列號的優(yōu)先權(quán)清單是2、5、3、1、6,那么首先進行償試以便試圖把用于序列號的負載映象到幻影2上。如果這過載幻影2,那么把負載分配到兩個幻影2和5。如果這在這些服務(wù)器的任一個上產(chǎn)生太大的負載,那么把負載分配到幻影2、3和5,如此類推。通過查看包含該服務(wù)器的所有解析和通過添加可能從該序列號發(fā)送到該服務(wù)器的負載量,能計算在服務(wù)器上的預計負載。產(chǎn)生解析的該方法當以重復形式使用時最有效,其中分配在缺省狀態(tài)下開始,其中把每個序列號映象到每個幻影。通過根據(jù)以上過程精選解析表,使用最小復制量平衡負載(由此最大地保留在一個區(qū)域中的適用存儲器)。
      當在幻影之一上檢測到重負載時,把用于這些低級DNS轉(zhuǎn)換的TTL設(shè)置得較短,以允許快速響應(yīng)。TTL是一個能由系統(tǒng)操作的參數(shù),以保證在對幻影上的高負載的及時響應(yīng)與在低級DNS服務(wù)器上產(chǎn)生的負載之間的平衡。然而,注意即使把用于低級DNS轉(zhuǎn)換的TTL設(shè)置為1-2分鐘,也只有幾個用戶實際上必須進行低級DNS查閱。大多數(shù)用戶將看到在其機器或在其ISP處高速緩沖的DNS轉(zhuǎn)換。因而,大多數(shù)用戶直接從其本地DNS服務(wù)器前進到具有他們想要的數(shù)據(jù)的附近幻影。實際上進行低級DNS查閱的那些用戶具有非常小的添加等待時間,然而該等待時間與從附近檢索大多數(shù)數(shù)據(jù)的優(yōu)點相比較小。
      如以上提及的那樣,通過使頂級DNS返回可能低級DNS服務(wù)器的清單而不是單個服務(wù)器地址,提供用于低級DNS服務(wù)器的容錯。用戶的DNS系統(tǒng)高速緩沖該清單(標準DNS系統(tǒng)的部分),并且如果第一個由于某種原因在下面則接觸在清單上的其他服務(wù)器之一。低級DNS服務(wù)器利用DNS的標準特征以便為幻影服務(wù)器提供一個容錯的額外級。當轉(zhuǎn)換名稱,而不是返回單個名稱時,返回一個名稱清單。如果由于某種原因用于幻影的初級容錯方法(稱作伙伴系統(tǒng),在下面描述)失敗時,客戶機瀏覽器將接觸在清單上的其他幻影之一。
      步驟5瀏覽器然后從附近幻影進行用于對象名a123.ghosting.akamai.com/…/www.provider.com/TECH/images/space.story.gif的請求。注意最好包括原始服務(wù)器的名稱(www.provider.com)作為URL的部分。在幻影上運行的軟件把頁名分析成原始主機名和真實頁名。如果文件的拷貝已經(jīng)存儲在幻影上,那么立即返回數(shù)據(jù)。然而,如果在幻影上的數(shù)據(jù)的拷貝不存在,則從原始服務(wù)器或另一個幻影服務(wù)器檢索拷貝。注意幻影知道原始服務(wù)器是誰,因為名稱編碼在從瀏覽器通到幻影的URL中。一旦已經(jīng)檢索到一個拷貝,它就返回用戶,并且最好把它也存儲在用來回答未來請求的幻影上。
      作為一種附加防護措施,最好可以檢查用戶是否的確靠近服務(wù)器。這能在響應(yīng)用于文件的請求之前通過檢查客戶機的IP地址而實現(xiàn)。這在當客戶機的DNS服務(wù)遠離客戶機的極少情況下是有用的。在這種情況下,幻影服務(wù)器能把用戶重新指向較近服務(wù)器(或可能解析到靠近客戶機的服務(wù)器的另一個虛擬地址)。如果重新定向是對于一個虛擬服務(wù)器,那么必須對它加標簽以防止另外的重新定向發(fā)生。在該最佳實施例中,僅對于較大對象進行重新定向因而,在應(yīng)用重新定向之前可以進行檢查,以保證請求的對象超過一定的整體大小。
      通過根據(jù)改變網(wǎng)絡(luò)條件動態(tài)改變對其連接客戶機的服務(wù)器,也能改進用于較長下載的性能。這對于聲頻和視頻下載特別有幫助(其中連接能較長,并且其中質(zhì)量特別重要)。在這種情況下,用戶在中流中能把用戶指向另一個服務(wù)器。用來重新定向客戶機的控制結(jié)構(gòu)能類似于上述那種,但它也能包括放置在客戶機的瀏覽器或媒體重放機中的軟件。該軟件監(jiān)視客戶機的連接性能,并且或許也監(jiān)視網(wǎng)絡(luò)的狀態(tài)。如果認為通過改變服務(wù)器能改進客戶機的連接,那么系統(tǒng)把客戶機指向一個用于其余連接的新服務(wù)器。
      用于幻影的容錯由一個伙伴系統(tǒng)提供,其中每個幻影帶有一個指定的伙伴幻影。如果一個幻影消失,則其伙伴把其工作(和IP地址)接過來,從而不中斷服務(wù)。該系統(tǒng)的另一個特征在于伙伴幻影不必坐等失效。而是,所有的機器總是活動的,并且當失效發(fā)生時,負載由伙伴接過來,及然后由至其他活性幻影的低級DNS系統(tǒng)平衡。伙伴系統(tǒng)的附加特征在于提供容錯而不必等待較長的停工時間段。
      作為全局主系統(tǒng)的另一個安全特征,選通機構(gòu)能用來把用于一定對象的整個通信保持在規(guī)定極限內(nèi)。選通機構(gòu)的一個實施例按如下工作。當對于對象的請求數(shù)量超過一定的規(guī)定閾值時,那么服務(wù)器能選擇不供應(yīng)對象。如果對象非常大,則這能是非常有用的。而是,客戶機能供應(yīng)要求客戶機以后返回的小得多的對象?;蛘?,能重新定向客戶機。實施選通的另一種方法在于提供客戶機一個允許客戶機在預定未來時間接收對象的“證件”。在該方法中,幻影服務(wù)器需要在供應(yīng)對象之前檢查證件上的時間。
      發(fā)明的全局方案是用于全局ISP或區(qū)域ISP團以影響其網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的方法,以便產(chǎn)生主處理收入、和節(jié)省網(wǎng)絡(luò)帶寬。供給發(fā)明的全局主處理方案的ISP能給內(nèi)容提供者把內(nèi)容從ISP網(wǎng)絡(luò)上的最近點分發(fā)到其用戶的能力,因而保證快速和可靠的訪問。保證的Web站點性能對于任何基于Web的業(yè)務(wù)是關(guān)鍵的,并且全局主處理允許產(chǎn)生滿足該需要的服務(wù)。
      根據(jù)本發(fā)明的全局主處理也允許ISP控制內(nèi)容如何和何處通過其網(wǎng)絡(luò)。全局主處理服務(wù)能建立在ISP的網(wǎng)絡(luò)的邊緣處(例如,在多個網(wǎng)絡(luò)交換和訪問點處)。這使ISP能夠供應(yīng)用于站點的內(nèi)容,該ISP把內(nèi)容直接主處理到網(wǎng)絡(luò)交換點和訪問點中。昂貴的主干鏈接已不必把冗余業(yè)務(wù)從內(nèi)容提供者的站點傳送到網(wǎng)絡(luò)交換和訪問站點。而是,從ISP的網(wǎng)絡(luò)直接供應(yīng)內(nèi)容,為其他通信釋放有價值的網(wǎng)絡(luò)資源。
      盡管全局主處理減小了網(wǎng)絡(luò)通信,但它也是一種通過其全局ISP可以獲得迅速擴展的主處理市場的一部分的方法,該主處理市場當前估計一年超過十億美元。
      全局主處理解決方案也向內(nèi)容提供者提供多個優(yōu)點,并且特別是提供一種高效和成本有效的解決方案以在國內(nèi)和國際上改進其Web站點的性能。發(fā)明的主處理軟件通過提供一種把內(nèi)容從ISP的網(wǎng)絡(luò)上的最近點分發(fā)到其用戶的裝置,保證內(nèi)容提供者快速和可靠的因特網(wǎng)訪問。除下面更詳細描述的其他好處之外,全局主處理解決方案也提供減小網(wǎng)絡(luò)通信的重要好處。
      一旦便宜的全局主服務(wù)器安裝在ISP網(wǎng)絡(luò)的邊緣處(即在多個網(wǎng)絡(luò)交換和訪問點處),就把內(nèi)容直接供應(yīng)到網(wǎng)絡(luò)交換和訪問點中。作為這種直接從ISP的網(wǎng)絡(luò)高效分發(fā)內(nèi)容的結(jié)果,本發(fā)明顯著改進了Web站點的性能。與當前內(nèi)容分發(fā)系統(tǒng)不同,發(fā)明的全局主處理解決方案不需要昂貴的主干鏈接從內(nèi)容提供者的Web站點向網(wǎng)絡(luò)交換和訪問點攜帶冗余通信。
      下面敘述由發(fā)明的全局主處理方案提供的具體優(yōu)點的總結(jié)1.對于內(nèi)容提供者減小操作費用大多數(shù)競爭解決方案要求內(nèi)容提供者購買在主處理其內(nèi)容的每個Web站點處的服務(wù)器。結(jié)果,內(nèi)容提供者常常必須與全世界的不同ISP協(xié)商獨立的契約。此外,內(nèi)容提供者一般負責復制內(nèi)容和維護在這些遠程位置中的服務(wù)器。
      借助于本發(fā)明,ISP主要負責全局主處理方面的大部分。內(nèi)容提供者最好僅維護其單個源服務(wù)器。在該服務(wù)器上的內(nèi)容自動由軟件更新到正在訪問它的位置。不需要由提供者(或?qū)τ谠搯栴},ISP)干涉或計劃。向內(nèi)容提供者供給對全局網(wǎng)絡(luò)上所有服務(wù)器的瞬時訪問;沒有必要選擇應(yīng)該在何處復制內(nèi)容或在遠程位置中購買附加服務(wù)器。
      2.智能和高效數(shù)據(jù)復制大多數(shù)競爭解決方案要求內(nèi)容提供者在服務(wù)器上在工業(yè)主處理站點處復制其內(nèi)容或者把其內(nèi)容映象在地理遠距離服務(wù)器上。沒有有一種方法特別有效。在前一種情形中,內(nèi)容仍然定位在因特網(wǎng)的單個位置處(并因而它遠離大多數(shù)用戶)。在后一種情況下,把一個Web站點的整個內(nèi)容拷貝到遠程服務(wù)器,即使僅有小部分內(nèi)容可能需要遠程定位也是如此。即使借助于便宜的存儲器,與這種映象有關(guān)的過高成本也使得映象到多于少量個站點上是不經(jīng)濟的,這意味著大多數(shù)用戶仍然遠離鏡象站點。映象也具有添加的缺點內(nèi)容提供者必須保證所有站點保持一致和通用,這對于甚至少數(shù)個站點也是件不平凡的任務(wù)。
      借助于本發(fā)明,內(nèi)容以智能和高效方式自動地復制到全局服務(wù)器網(wǎng)絡(luò)上。僅在那些需要內(nèi)容的位置中復制它。況且,當內(nèi)容變化時,最好貫穿網(wǎng)絡(luò)自動復制新的拷貝。
      3.自動內(nèi)容管理許多現(xiàn)有的解決方案需要內(nèi)容分發(fā)、內(nèi)容復制及在不同服務(wù)器之間的負載平衡的主動管理。特別是,必須人工做出關(guān)于在何處主處理內(nèi)容的決定,并且以集中推進方式處理復制數(shù)據(jù)的過程。相反,本發(fā)明的特征在于被動管理。復制以基于需要的拉回方式進行,從而最好把內(nèi)容送到真正需要它的地方。況且,該過程最好充分自動化;ISP和/或內(nèi)容提供者不必擔心如何和在何處復制內(nèi)容。
      4.不受限制的、成本有效的規(guī)模性競爭解決方案對于多于少量個站點不能規(guī)?;?。例如,基于映象的解決方案典型地聯(lián)系最多三個或四個站點使用。規(guī)?;恼系K包括復制整個站點的費用、在所有節(jié)點處復制計算資源的成本、及支持內(nèi)容提供者在其服務(wù)器上使用的大范圍變化軟件包的復雜性。
      本發(fā)明的獨特系統(tǒng)構(gòu)造對于成百、上千或甚至幾百萬個節(jié)點可規(guī)?;?。在主網(wǎng)絡(luò)中的服務(wù)器能工作失?;驌p壞,而系統(tǒng)的整個功能不受影響。全局主構(gòu)架高效利用資源服務(wù)器和客戶機軟件不需要在每個節(jié)點處復制,因為只有主服務(wù)器在每個節(jié)點處運行。此外,全局服務(wù)器設(shè)計成在不需要高度容錯的標準簡單硬件上運行。
      5.防止閃爍擁擠競爭解決方案不向內(nèi)容提供者提供防止意外的閃爍擁擠。盡管映象和有關(guān)的負載平衡解決方案的確允許內(nèi)容提供者跨過服務(wù)器集合分發(fā)負載,但服務(wù)器的聚集容量必須足以處理波峰需要。這意味著提供者必須購買和維護與預期波峰負載而不是與真實平均負載相當?shù)馁Y源級。給出高度可變的和不可預計的因特網(wǎng)特性,這種解決方案昂貴并且高度浪費資源。
      發(fā)明的主構(gòu)造允許ISP利用單網(wǎng)絡(luò)的主服務(wù)器向內(nèi)容提供者供給閃爍擁擠保證。就是說,保證網(wǎng)絡(luò)將自動適用于和支持在提供者站點上的意外較高負載。因為ISP把多個提供者一起聚集在相同的全局網(wǎng)絡(luò)上,所以更有效地使用資源。
      6.顯著的帶寬節(jié)省競爭解決方案對于ISP或內(nèi)容提供者不提供顯著的帶寬節(jié)省。通過映象的使用,有可能在一定鏈接上(即在紐約與洛杉磯之間)節(jié)省帶寬。然而,不用全局主處理,對于內(nèi)容的大多數(shù)請求仍然需要通過因特網(wǎng),因而招致帶寬成本。發(fā)明的主構(gòu)架節(jié)省用于具有其自己的主干的ISP的顯著主干帶寬。因為內(nèi)容貫穿網(wǎng)絡(luò)分發(fā),并且放置到相鄰的網(wǎng)絡(luò)交換點,所以ISP和內(nèi)容提供者經(jīng)歷顯著的節(jié)省,因為對于大多數(shù)內(nèi)容請求不招致主干收費。
      7.對于全局網(wǎng)絡(luò)的瞬時訪問競爭解決方案需要內(nèi)容提供者人工選擇在其處將主處理和/或復制內(nèi)容的少量集合站點。即使ISP在大范圍變化的位置中有多個主站點,也只有那些專門選擇(并且付款)的站點用來主處理用于該內(nèi)容提供者的內(nèi)容。
      相反,本發(fā)明的全局主處理解決方案允許ISP向服務(wù)器的全局網(wǎng)絡(luò)供應(yīng)其客戶機瞬時訪問。為了提供對于全局網(wǎng)絡(luò)的瞬時訪問,內(nèi)容最好恒定和動態(tài)地繞網(wǎng)絡(luò)運動。例如,如果內(nèi)容提供者添加位于亞洲客戶感興趣的內(nèi)容,則內(nèi)容提供者將保證其內(nèi)容自動運動到也位于亞洲的服務(wù)器。此外,全局主構(gòu)架允許內(nèi)容非??拷┒擞脩暨\動(在企業(yè)市場的情況下甚至近到用戶的建筑物)。
      8.為全局ISP和集團而設(shè)計大多數(shù)解決方案設(shè)計成由內(nèi)容提供者購買和管理,許多內(nèi)容提供者已經(jīng)經(jīng)常由管理單個服務(wù)器的管理和操作任務(wù)造成困難和耗費。發(fā)明的主處理方案可以由全局ISP采用,并且它提供一種能供給到內(nèi)容提供者的新服務(wù)。該服務(wù)的特征在于,它使內(nèi)容提供者的操作和管理要求最少,因而允許內(nèi)容提供者集中于其產(chǎn)生獨特內(nèi)容的核心業(yè)務(wù)。
      9.專有數(shù)據(jù)庫和機密信息的有效控制許多競爭解決方案需要內(nèi)容提供者復制其專有數(shù)據(jù)庫以倍增地理遠距離站點。結(jié)果,內(nèi)容提供者有效地失去對其專有和通常機密數(shù)據(jù)庫的控制。為了補救這些問題,本發(fā)明的全局主處理方案保證內(nèi)容提供者保持對其數(shù)據(jù)庫的完全控制。如上所述,對于內(nèi)容的初始請求指向內(nèi)容提供者的中心Web站點,該站點然后實施有效和受控數(shù)據(jù)庫訪問。最好,從全局主網(wǎng)絡(luò)檢索用于頁請求的高帶寬、靜止部分。
      10.與內(nèi)容提供者軟件的兼容性許多競爭方案要求內(nèi)容提供者利用特定組服務(wù)器和數(shù)據(jù)庫。這些具體的、非均勻要求限制內(nèi)容高效使用新技術(shù)的能力,并且可能要求對內(nèi)容提供者的現(xiàn)有基礎(chǔ)結(jié)構(gòu)的昂貴變化。通過消除這些問題,發(fā)明的全局主構(gòu)造接合在內(nèi)容提供者與ISP之間,并且不進行關(guān)于由內(nèi)容提供者使用的系統(tǒng)或服務(wù)器的任何假定。而且,能升級、改變或完全更換內(nèi)容提供者的系統(tǒng),而不用修改或中斷發(fā)明的構(gòu)造。
      11.沒有對動態(tài)內(nèi)容、個性化廣告或電子商務(wù)的干擾及沒有陳舊內(nèi)容許多競爭方案(如所有內(nèi)容的自然高速緩沖)可能干擾動態(tài)內(nèi)容、個性化廣告或電子商務(wù),并且可能供應(yīng)用戶陳舊的內(nèi)容。盡管其他軟件公司已經(jīng)試圖部分消除這些問題(如對于所有高速緩沖的拷貝保持關(guān)于命中的計數(shù)),但這些方案的每一個引起功能的部分或完全損失(如個性化廣告的能力)。相反,全局主處理解決方案不會干擾動態(tài)內(nèi)容、個性化廣告或電子商務(wù)的產(chǎn)生,因為這些任務(wù)的每一個最好由內(nèi)容提供者的中央服務(wù)器處理。
      12.為全局網(wǎng)絡(luò)而設(shè)計全局主構(gòu)造是可高度規(guī)?;?,并且可以在世界范圍的網(wǎng)絡(luò)基礎(chǔ)上采用。
      最好在處理器中可執(zhí)行的軟件中實施全局主構(gòu)造的元件每一個的上述功能,即作為駐留在計算機的隨機存取存儲器中的代碼模塊中的一組指令或程序代碼。直到由計算機要求的,指令組可以存儲在另一個計算機存儲器中,例如存儲在硬盤驅(qū)動器中、或在諸如光盤(對于在CD ROM中的最終使用)或軟盤(對于軟盤驅(qū)動器中的最終使用)的可拆除存儲器中,或者經(jīng)因特網(wǎng)或其他計算機網(wǎng)絡(luò)下載。
      此外,盡管便利地在由軟件選擇性致動或重新配置的通用計算機中實施描述的各種方法,但熟悉本專業(yè)的普通技術(shù)人員也會認識到,這些方法可以在硬件中、在固件中、或在建造成完成要求方法步驟的專用設(shè)備中執(zhí)行。
      而且,如這里使用的那樣,Web“客戶機”應(yīng)該廣義地解釋成指任何計算機或其以任何已知或以后開發(fā)的方式直接或間接連接或可連接到計算機網(wǎng)絡(luò),如因特網(wǎng),上的元件。術(shù)語Web“服務(wù)器”也應(yīng)該廣義地解釋成指計算機、計算機平臺、對于計算機或平臺的附件、或任何其元件。當然,“客戶”應(yīng)該廣義地解釋成指要求或得到文件的人,而“服務(wù)器”是下載文件的實體。
      已經(jīng)描述了我們的發(fā)明,我們要求作為新的和希望由專利證書保證的權(quán)利在如下權(quán)利要求書中敘述。
      權(quán)利要求
      1.一種供應(yīng)包括一個置標語言基本文檔和一組其每一個由URL辨別的嵌入對象的Web頁的方法,其中給定嵌入對象每個包括已經(jīng)修改成包括一個虛擬服務(wù)器主機名的URL,該方法包括步驟響應(yīng)從客戶機發(fā)出的對于Web頁的請求,從內(nèi)容提供者站點向客戶機供應(yīng)基本文檔;和從由虛擬服務(wù)器主機名辨別的主服務(wù)器向客戶機供應(yīng)給定的嵌入對象。
      2.根據(jù)權(quán)利要求1所述的方法,其中把主服務(wù)器定位在靠近客戶機的計算機網(wǎng)絡(luò)中。
      3.根據(jù)權(quán)利要求1所述的方法,其中向客戶機供應(yīng)一個給定嵌入對象的步驟進一步包括步驟把來自第一級域名服務(wù)器的請求重新指向靠近客戶機的第二級域名;和使第二級域名服務(wù)器解析虛擬服務(wù)器主機名,以辨別用來供應(yīng)嵌入對象的給定組的一個或多個主服務(wù)器。
      4.根據(jù)權(quán)利要求1所述的方法,其中虛擬服務(wù)器主機名包括一個通過把一個給定函數(shù)應(yīng)用于嵌入對象產(chǎn)生的值。
      5.根據(jù)權(quán)利要求4所述的方法,其中通過編碼給定信息產(chǎn)生該值,從基本包括大小數(shù)據(jù)、流行性數(shù)據(jù)、建立數(shù)據(jù)及對象類型數(shù)據(jù)的一組信息選擇給定信息。
      6.根據(jù)權(quán)利要求1所述的方法,其中修改的URL包括一個通過把一個給定函數(shù)應(yīng)用于嵌入對象產(chǎn)生的指紋值。
      7.根據(jù)權(quán)利要求6所述的方法,其中該值是通過散列嵌入對象產(chǎn)生的一個數(shù)。
      8.根據(jù)權(quán)利要求1所述的方法,其中置標語言是HTML。
      9.根據(jù)權(quán)利要求1所述的方法,進一步包括當內(nèi)容提供者修改Web頁時重寫修改的URL的步驟。
      10.一種供應(yīng)包括一個置標語言基本文檔和一組嵌入對象的Web頁的方法,每一個嵌入對象由URL辨別,該方法包括步驟把一個主機名預懸在用于給定嵌入對象的URL中,服務(wù)器主機名包括一個通過把一個給定函數(shù)應(yīng)用于嵌入對象產(chǎn)生的值;和響應(yīng)來自客戶機瀏覽器的請求,供應(yīng)Web頁。
      11.根據(jù)權(quán)利要求10所述的方法,其中通過編碼給定信息產(chǎn)生主機名值,從基本包括大小數(shù)據(jù)、流行性數(shù)據(jù)、建立數(shù)據(jù)及對象類型數(shù)據(jù)的一組信息選擇給定信息。
      12.根據(jù)權(quán)利要求10所述的方法,進一步包括步驟通過把一個給定函數(shù)應(yīng)用于嵌入對象修改URL,以包括一個用于嵌入對象的指紋值。
      13.根據(jù)權(quán)利要求12所述的方法,其中通過散列嵌入對象產(chǎn)生給定指紋值。
      14.一種處理包括一個超文本置標語言基本文檔和一組嵌入對象的Web頁的方法,每一個嵌入對象由URL辨別,該方法包括步驟把一個虛擬服務(wù)器主機名預懸在用于給定嵌入對象的URL中,虛擬服務(wù)器主機名包括一個通過把一個給定函數(shù)應(yīng)用于URL或嵌入對象產(chǎn)生的值;其中給定函數(shù)隨機地在一個給定組虛擬服務(wù)器主機名上分布嵌入對象。
      15.根據(jù)權(quán)利要求14所述的方法,其中給定函數(shù)是一個編碼函數(shù)。
      16.根據(jù)權(quán)利要求14所述的方法,其中給定函數(shù)是一個散列函數(shù)。
      17.根據(jù)權(quán)利要求14所述的方法,進一步包括步驟在URL中包括一個用于嵌入對象通過把一個給定散列函數(shù)應(yīng)用于嵌入對象產(chǎn)生的給定指紋值;其中給定指紋值辨別是否已經(jīng)修改嵌入對象。
      18.根據(jù)權(quán)利要求17所述的方法,進一步包括步驟當Web頁變化時,重新計算用于指紋值的散列,并且如有必要重寫URL。
      19.一種在其中客戶機的用戶經(jīng)服務(wù)提供者連接到服務(wù)器上的計算機網(wǎng)絡(luò)中可操作的分布式主構(gòu)架,其中服務(wù)器支持每個包括一個置標語言基本文檔和一組嵌入對象的頁,及其中每一個嵌入對象由一個URL辨別,該構(gòu)架包括一個第一組服務(wù)器,主處理嵌入對象;至少一個頂級服務(wù)器,提供頂級域名服務(wù)(DNS)解析;和至少一個低級服務(wù)器,提供低級域名服務(wù)(DNS)解析;其中由客戶機產(chǎn)生的頁請求由服務(wù)器和由頂級和低級服務(wù)器辨別的第一組服務(wù)器的給定子組供應(yīng)。
      20.根據(jù)權(quán)利要求19所述的主構(gòu)架,進一步包括一個冗余頂級服務(wù)器。
      21.根據(jù)權(quán)利要求19所述的主構(gòu)架,進一步包括一個冗余低級服務(wù)器。
      22.根據(jù)權(quán)利要求19所述的主構(gòu)架,其中第一組服務(wù)器給定一個包括一個在給定失效狀態(tài)下用來承擔第一組服務(wù)器的給定一個的主處理責任的伙伴服務(wù)器。
      23.根據(jù)權(quán)利要求19所述的主構(gòu)架,其中低級服務(wù)器包括一個平衡跨過第一組服務(wù)器的一個子組的負載的負載平衡機構(gòu)。
      24.根據(jù)權(quán)利要求23所述的主構(gòu)架,其中負載平衡機構(gòu)使對嵌入對象所要求的復制量最小,同時不超過第一組服務(wù)器任何一個的容量。
      25.根據(jù)權(quán)利要求19所述的主構(gòu)架,進一步包括一個過流控制機構(gòu),用來使由客戶機經(jīng)歷的等待時間總量最小,同時不超過第一組服務(wù)器任何給定子組的容量。
      26.根據(jù)權(quán)利要求25所述的主構(gòu)架,其中過流控制機構(gòu)包括一種小成本多商品流算法。
      27.根據(jù)權(quán)利要求19所述的主構(gòu)架,其中頂級服務(wù)器包括一個用來把由客戶機產(chǎn)生的頁請求指向第一組服務(wù)器給定一個的網(wǎng)絡(luò)映象。
      28.根據(jù)權(quán)利要求19所述的主構(gòu)架,其中在第一組服務(wù)器中的服務(wù)器包括一個用來把用于一個給定嵌入對象的整個個通信保持在規(guī)定極限內(nèi)的選通機構(gòu)。
      29.根據(jù)權(quán)利要求28所述的主構(gòu)架,其中選通機構(gòu)包括用來確定用于給定嵌入對象的請求數(shù)量是否超過一個給定閾值的裝置;和響應(yīng)確定裝置用來限制給定嵌入對象的服務(wù)的裝置。
      30.根據(jù)權(quán)利要求29所述的主構(gòu)架,其中限制裝置包括用來供應(yīng)小于給定嵌入對象的一個對象的裝置。
      31.根據(jù)權(quán)利要求29所述的主構(gòu)架,其中對象是一個允許客戶機在以后時間接收給定嵌入對象的證件。
      32.一種供應(yīng)包括一個置標語言基本文檔和一組其每一個由URL辨別的嵌入對象的Web頁的方法,其中給定嵌入對象每個包括已經(jīng)修改成包括一個虛擬服務(wù)器主機名的URL,該方法包括步驟響應(yīng)從第一和第二客戶機發(fā)出的對于Web頁的請求,從內(nèi)容提供者站點向每個客戶機供應(yīng)基本文檔;從由一個第一虛擬服務(wù)器主機名辨別的一個第一主服務(wù)器向第一客戶機供應(yīng)一個給定嵌入對象;及從由第一虛擬服務(wù)器主機名辨別的一個第二主服務(wù)器向第二客戶機供應(yīng)給定嵌入對象。
      33.根據(jù)權(quán)利要求32所述的方法,進一步包括步驟把第一虛擬服務(wù)器主機名解析成用于第一主服務(wù)器的地址,作為第一客戶機的位置和本地通信條件的函數(shù)。
      34.根據(jù)權(quán)利要求32所述的方法,進一步包括步驟當給定嵌入對象正在向第一客戶機供應(yīng)時,確定給定嵌入對象能否更有效的從另一個主服務(wù)器供應(yīng);和如果是,則從一個第三主服務(wù)器向第一客戶機供應(yīng)給定嵌入對象的剩余部分。
      35.一種供應(yīng)包括一個置標語言基本文檔和一組其每一個由URL辨別的嵌入對象的Web頁的方法,其中給定嵌入對象每個包括已經(jīng)修改成包括一個虛擬服務(wù)器主機名的URL,該方法包括步驟響應(yīng)從第一和第二客戶機發(fā)出的對于Web頁的請求,從內(nèi)容提供者站點向每個客戶機供應(yīng)基本文檔;把虛擬服務(wù)器主機名解析成一第一地址和一個第二地址;從位于第一地址處的一個第一主服務(wù)器向第一客戶機供應(yīng)一個給定嵌入對象;及從位于第二地址處的一個第二主服務(wù)器向第二客戶機供應(yīng)一個給定嵌入對象。
      36.根據(jù)權(quán)利要求35所述的方法,其中根據(jù)對于Web頁的請求源于何處和在計算機網(wǎng)絡(luò)的有關(guān)區(qū)域中的本地通信條件,把虛擬服務(wù)器主機名解析到第一地址或第二地址。
      37.一種供應(yīng)包括一個置標語言基本文檔和一組嵌入對象的Web頁的方法,每個嵌入對象由一個URL辨別,該方法包括步驟重寫嵌入對象的URL以產(chǎn)生一個修改的URL,修改的URL包括一個預懸到一個原始主機名的新主機名,其中每當嵌入對象的一個高速緩沖拷貝不適用時,原始主機名就保持為用來檢索嵌入對象的修改URL的部分;及響應(yīng)一個供應(yīng)從一個客戶機瀏覽器接收的Web頁的請求,供應(yīng)該Web頁。
      全文摘要
      一種以真正全局規(guī)模支持主處理和內(nèi)容分發(fā)的網(wǎng)絡(luò)構(gòu)造或構(gòu)架。該構(gòu)架允許內(nèi)容提供者在整個世界的無限數(shù)量點處復制和供應(yīng)其最流行的內(nèi)容。構(gòu)架包括一組以分布方式操作的服務(wù)器。要供應(yīng)的實際內(nèi)容最好支持在有時稱作幻影服務(wù)器的主服務(wù)器(36)上。該內(nèi)容包括按常規(guī)從內(nèi)容提供者站點供應(yīng)的HTML頁對象。然而,按照本發(fā)明,Web頁一個基本HTML文檔部分從內(nèi)容提供者站點(1)供應(yīng),而用于該頁的一個或多個嵌入對象從主服務(wù)器(3、4)供應(yīng),最好這些主服務(wù)器(5)靠近客戶機。通過從內(nèi)容提供者的站點供應(yīng)基本HTML文檔,內(nèi)容提供者保持對內(nèi)容的控制。
      文檔編號G06F17/30GK1312923SQ99809674
      公開日2001年9月12日 申請日期1999年7月14日 優(yōu)先權(quán)日1998年7月14日
      發(fā)明者F·湯姆森·萊頓, 丹尼爾·M·樂文 申請人:麻省理工學院
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1