專利名稱:客戶端確定性的路由選擇和透明的重新定向的制作方法
技術領域:
本發(fā)明一般涉及內容分配,尤其涉及將分配從內容提供商卸載到內容分配器。
背景技術:
需要在因特網上提供內容文件。一般來說,因特網是提供內容文件的良好媒體,然而,對于傳送諸如視頻和音頻的內容文件來說,它卻是不良媒體。與其他內容文件不同,視頻和音頻不僅必須要通過因特網傳送,而且還必須要以向請求者提供服務質量(QOS)的方式來傳送。為了提供QOS,內容提供商采用了各種方案。例如,內容提供商可以通過多個源來提供內容。采用多個源可以減小任何單個源上的負載,從理論上講,這可以改善QOS。進一步的改進還包括判斷哪個源負載最小,并將內容請求引向這個源。此外,還可以從在物理上與所發(fā)覺的請求者的地理位置最近的源中提供內容文件。盡管這些方法每個都可能使QOS提高,然而,當關于請求者的信息是推測的又不完整時,這些方法都是不可預見的。
除了上述方案的不可預見性之外,每種方案還都需要牽連到內容提供商。這種牽連使得必須付出在支持、設備和娛樂方面的不希望的費用。這些費用尤其對小內容提供商來說是沉重的負擔。因此,需要提供一種內容分配方法,它可以改善QOS同時最大限度地減小對內容提供商的牽連。
發(fā)明內容
本發(fā)明的一種實施方式提供了一種用于促進通過內容分配系統(tǒng)將內容對象從內容對象源分配給客戶計算機的方法。該方法包括使內容對象源與傳送節(jié)點相關聯(lián)。將內容對象源與傳送節(jié)點之間的關聯(lián)指示給客戶計算機。當客戶計算機接收到對可從內容對象源中得到的內容對象的請求時,由傳送節(jié)點來滿足這一請求,其中,所請求的內容對象源與相關聯(lián)的內容對象源相同。
參照說明書的其他部分以及附圖和權利要求書,可以認識到本發(fā)明的其他特征和優(yōu)點。下面,參照附圖來詳述本發(fā)明的進一步的特征和優(yōu)點,以及本發(fā)明的各種實施方式的結構和操作。
圖1是內容分配系統(tǒng)的一種實施方式的框圖;圖2是內容分配系統(tǒng)的活動目錄部分的一種實施方式的框圖;圖3A是內容分配系統(tǒng)的源服務器部分的一種實施方式的框圖;圖3B是內容分配系統(tǒng)的外部源服務器部分的一種實施方式的框圖;圖4A是內容分配系統(tǒng)的內容交換機部分的一種實施方式的框圖;圖4B是內容分配系統(tǒng)的內容交換機部分的另一種實施方式的框圖;圖4C是含有多個內容交換機服務器的內容交換機站點的一種實施方式的框圖;圖5是內容分配系統(tǒng)的客戶計算機部分的一種實施方式的框圖;圖6是內容分配系統(tǒng)的一種實施方式的框圖;圖7A是用于為用戶分配內容的過程的一種實施方式的流程圖的第一部分;圖7B是圖7A的流程圖的第二部分;圖8是查看者對象代理的一種實施方式的框圖;圖9是查看者對象代理后臺應用程序的流程圖;
圖10是查看者對象代理請求業(yè)務的流程圖;圖11是用于跟蹤源服務器與內容交換機之間的內容的方法的一種
具體實施例方式
本發(fā)明使得內容對象提供商可以將內容對象分配責任卸載到內容對象分配器。此外,本發(fā)明還為所卸載的內容對象傳送提供了足夠的QOS。
在這些圖中,類似部分和/或特征具有相同的標號。此外,同一類型的不同部分可以用標號后面跟一個破折號和一個第二標號來區(qū)分,第二標號可以區(qū)分類似部分。如果在說明書中只用第一標號,那么,該描述適用于具有相同第一標號的任一類似部分,而與第二標號無關。
參照圖1,圖中示出了內容分配系統(tǒng)100的一種實施方式的框圖。在該實施方式中,內容分配系統(tǒng)100包括一個活動目錄104,一個或多個源服務器108,一個或多個客戶計算機112,一個或多個內容交換機116,一個或多個外部源服務器118,因特網120,和一個瀏覽目錄124。特定客戶計算機112與活動目錄104交互,以選擇所要下載的內容對象。如果對象是流式媒體,那么它可以在下載過程中被播放,或者在稍后被存儲。內容對象可以是可從網絡中下載的任何類型的信息,比如,音頻、視頻或數據。來自客戶計算機112的對內容對象的請求與首選信息一同被轉發(fā)到合適的源服務器108。源服務器108決定從何處下載該對象。為了提供足夠的QOS,任一內容交換機116或者甚至是源服務器108本身都能提供該對象。
活動目錄104可以是面向選擇內容對象的客戶計算機112的界面。用于源服務器108的和可選地用于客戶計算機112的軟件都可以從活動目錄104中下載,以便啟動內容分配系統(tǒng)100。目錄界面頁或是搜索界面頁可以用來確定所想要的內容對象。這些界面以活動方式保持,以免與源服務器108上內容對象的鏈接被中斷。當內容交換機116需要來自源服務器108的內容對象時,活動目錄104可以提供一條回到適當源服務器108的路徑。
其他實施方式可以具有多個活動目錄。系統(tǒng)的用戶可以在多個活動目錄中劃分,以便分配負載。此外,可以冗余地使用其他活動目錄,使得,如果某個活動目錄離線,那么其他活動目錄可以吸收該負載。
在某些實施方式中,源服務器108提供內容對象的源,將用戶引向內容對象的優(yōu)選源,并向活動目錄104提供目錄信息。源服務器108將內容對象介紹給系統(tǒng)100。介紹涉及源服務器管理者對要使其對活動目錄104可用的內容對象的選擇。管理者可以是管理源服務器108的人或系統(tǒng)。內容對象可以包括以前存儲的信息或信息的流式饋入。根據預定的周期,源服務器108提供隨著源服務器108上的內容變更而更新的所選擇信息的編目。
源服務器108確定要將客戶計算機112引向的優(yōu)選源,以便下載內容對象。在將客戶計算機重新引向信息的優(yōu)選源時,客戶計算機112的首選表、內容交換機的負載以及內容對象的拷貝的位置都是源服務器108所要考慮的。這個源可以是源服務器108本身,或者是內容交換機116之一。
用戶引導客戶計算機112尋找所想要的內容對象并隨后下載該對象。利用從活動目錄104中下載的查看者對象代理軟件,客戶計算機112確定能以足夠的QOS傳送內容的內容交換機116。確定具有足夠的QOS的內容交換機116的過程包括,例如,接收來自那些在準備優(yōu)選表時很可能產生最佳結果的內容交換機的測試信息。如果想要定制的方法,那么用戶可以修改內容交換機116的優(yōu)選表。當源服務器108在決定內容對象的源時,利用首選信息來提供足夠的QOS。
外部源服務器118可以是可供客戶計算機112使用的內容對象的附加源。在一種實施方式中,外部源服務器118與內容交換機116連接。
內容交換機116是內容對象的高速緩存器。許多這樣的內容交換機116被分配到因特網120的不同地方,用以高速緩存內容對象。信息可以基于以下考慮被高速緩存,比如,基于用戶對信息的需求,基于希望其內容便于用戶使用的源服務器108的業(yè)務,或基于需要改善的QOS的用戶的業(yè)務。內容交換機116的分組可以成群地或單獨地為客戶計算機112對內容對象的需求服務。
當要從內容交換機116中請求內容對象的用戶沒有發(fā)現所請求的內容對象或所請求的內容對象的片段時,將內容交換機116的請求轉向其他內容交換機來請求該內容對象。如果其他內容交換機116也沒有該內容對象,那么查詢活動目錄104,以得到是該內容對象的源的源服務器108,然后從那里下載該內容對象。當內容交換機116在搜集該內容對象的同時,客戶計算機112接收可用的開頭片段。內容對象可以被分片存儲在若干個內容交換機116中,然后進行請求的內容交換機116將檢索這些片段,以便按客戶計算機112的要求重新匯集整個內容對象。
在某些實施方式中,當要從內容交換機116中請求內容對象的用戶沒有發(fā)現所請求的內容對象或所請求的內容對象的片段時,可由內容交換機116向外部源服務器118進行請求來檢索所請求的內容對象。
瀏覽目錄124用來補充源服務器108所報告的編目信息。當為用戶搜索內容對象時,活動目錄104可以顯示來自源服務器108的可用的內容對象以及瀏覽目錄124所揭示的其他內容對象。通過遍歷該web,瀏覽目錄124將這些內容對象以及它們所遇到的其他信息編目。例如,編目的關鍵字搜索可以將用戶引向從系統(tǒng)100上任何源服務器中得不到的內容對象。當客戶計算機112下載內容對象時,活動目錄104可以選擇內容交換機116之一來高速緩存該內容對象。盡管在這一實施方式中只采用了一個瀏覽目錄124,不過,其他實施方式可以采用多個瀏覽目錄來提供附加搜索結果。
因特網120包括了一些通過路由器鏈接起來的服務器。數據被劃分成一些分組,這些分組通過從一個路由器轉發(fā)至下一個路由器來穿過因特網120,直至到達目的地。每個分組都可能采取因特網上的不同路由,并在不同的時刻到達目的地。此外,某些分組在穿過因特網120的過程中可能因任一路由器的帶寬飽和而丟失。隨著內容對象的源與目的地之間轉發(fā)次數的增加,過分延遲和分組丟失的可能性也增大。
當內容對象通過因特網120穿過從源到目的地的路徑時,該路徑中的任何兩個路由器之間的最小帶寬規(guī)定了該路徑的最大帶寬。通常,從因特網120到客戶計算機的帶寬具有最小帶寬分配。在另一些場合中,路由器之間的其他某個轉發(fā)具有最小帶寬。在內容交換機116與客戶計算機112之間以最小的轉發(fā)次數在內容交換機116中高速緩存內容對象可以提高有足夠QOS的可能性。
以不超過客戶計算機到因特網120的數據率的所要求的數據率下載內容對象就認為是足夠的QOS。用戶所能期望的最大的QOS由其網絡連接速度、其計算機的處理能力和其他因素來決定。最小的QOS主觀上由用戶根據在某些限制范圍內其所期望的質量來決定。例如,具有400Kbps網絡連接和快速計算機的用戶可以選擇28Kbps、56Kbps或128Kbps流用于音頻剪切(chip),據此,用戶選擇128Kbps流。只要客戶計算機提供的數據率在128-400Kbps范圍內,那么,該流就可有足夠的QOS。
盡管上述實施方式主要將因特網120用于各種塊之間的連接,然而,其他實施方式可以使用因特網120外部的專用鏈路。另外,就提供高速緩存、加密和壓縮而言,系統(tǒng)100外部的內容對象也可以得益于系統(tǒng)100。
參照圖2,圖中示出了內容分配系統(tǒng)100的活動目錄部分104的一種實施方式的框圖。活動目錄104中包含有一個動態(tài)域名服務器(DNS)204,一個服務器管理器208,一個目錄頁212,一個搜索頁216,一個下載頁220,一個用戶數據庫224,一個服務器數據庫228,一個內容交換機數據庫232,和一個路由數據庫234。內容分配系統(tǒng)100與活動目錄104交互,以便向用戶提供目錄信息并幫助為用戶下載內容對象。
無論客戶計算機112的用戶還是源服務器108的管理者對內容分配系統(tǒng)100來說都是用戶。軟件從下載頁下載到用戶和/或管理者。用于客戶計算機112的軟件在某些實施方式中是可選的,它用來提高QOS。用于源服務器108的軟件使得活動目錄104可以更新系統(tǒng)100中可用的內容,并可以將客戶計算機112引向優(yōu)選源,以便接收該內容。
客戶計算機112加入到活動目錄104的域,以尋找所想要的內容對象。根據首選,用戶可以使用目錄頁212或搜索頁216來尋找內容對象。搜索頁216可以是傳統(tǒng)的布爾搜索引擎,用于訪問所有源服務器108所提供的內容對象的編目以及來自瀏覽目錄124的信息。其他實施方式可以只在未能從源服務器108中搜索到內容后顯示來自瀏覽目錄124的信息,或者全部省略來自瀏覽目錄124的信息。所有源服務器108的內容對象的編目被保存在服務器數據庫228中。
目錄頁212按主題所編排的編目分級結構編排可能的內容對象。例如,第一頁可以顯示普通關心的一些專題,在此用戶可以選擇體育運動。在作為該分級結構中的下一級的下一頁中,顯示了一些體育運動,在此用戶可以選擇足球。在該分級結構中的再下一級中,用戶可以選擇圣迭亞哥軍馬隊,以查看相關內容對象鏈接的另一頁。
管理者在源服務器108上將該內容編目,使得目錄頁212可以適當地呈現該內容。按照站點、目錄或文件,管理者可以在與內容對象相關的HTML SSI標記中選擇內容對象的編目。這種分類得到后被存儲在活動目錄中,使得可以在不同的編目中呈現內容對象。另外,緩和器(moderator)可以描述和安排目錄頁212的編目中的內容對象。例如,緩和器可以標記某些內容對象,以便更突出地顯示和/或附加內容對象的評論。
服務器管理器208保存關于所有客戶計算機112、所有源服務器108、所有外部源服務器118、所有內容交換機116和源服務器108上的所有內容對象的信息。與客戶計算機112和源服務器108有關的信息被保存在用戶數據庫224中。對于與客戶計算機112有關的每個用戶,其全名、登錄名、口令、獨特標識符、可用的代幣信用以及其他信息都被保存在用戶數據庫224中。這一數據庫224還保存源服務器108上次被驗證的時間,源服務器108的網際協(xié)議(IP)地址,內容管理器服務器在其上運行的端口,源服務器108的在線/離線狀態(tài),橫幅廣告URL,源服務器108的名稱,源服務器108的描述,使用源服務器108所需的信用或代用幣或別的記帳模式,和同時所允許的連接或查看者的個數。
關于所有源服務器108的內容對象的信息都被保存在服務器數據庫228中。對于每個內容對象,源服務器名、內容對象文件名和路徑與編目信息、簡要描述和關鍵字一起被保存。在導航目錄和搜索頁212、216期間,查詢服務器數據庫228,以便為用戶提供內容選擇。為了將當前信息保存在服務器數據庫228中,服務器管理器208定期地與源服務器108交互,以得到內容對象的編目的最新變更并判斷源服務器108是否已離線。只要源服務器108離線,服務器數據庫228中的與該源服務器108相應的項目就被消除,并且更新用戶數據庫224中的狀態(tài)信息。
在某些實施方式中,服務器數據庫228中的項目即使當源服務器108離線后仍然保留。其狀態(tài)被更新,以反映出與該源服務器相關的內容是不能使用的,但其信息仍保存在服務器數據庫228中。如果狀態(tài)被更新為在線,那么信息再一次呈現給正在搜索內容對象的用戶。在某些情況下,源服務器108可以向活動目錄104表明它將離線一段時間。假定這段時間短暫,那么,活動目錄可以將信息保留在服務器數據庫228中,而不向用戶呈現。
系統(tǒng)100可用的內容交換機116的一覽表被服務器管理器208保存在內容交換機數據庫232中。在某些實施方式中,內容交換機數據庫232可以包括內容分配系統(tǒng)100中所有可能的內容交換機116的IP地址一覽表。此外,內容交換機數據庫232還可以包括與每個內容交換機116相關的一些內容交換機字段。例如,內容交換機數據庫232中與每個內容交換機116相關的字段可以包括內容交換機標識符、內容交換機站點、內容交換機提供商、內容交換機名稱、內容交換機位置、內容交換機狀態(tài)、圖標或其他任何所想要的或所必須的信息。
內容交換機標識符和內容交換機站點共同標識特定內容交換機站點處的唯一內容交換機116。內容交換機提供商是內容交換機負責方的指示符,比如XYZ公司。內容名稱是域名,而內容交換機位置可以是內容交換機116的地理座標。在一例實施方式中,內容交換機數據庫232包括內容交換機數據庫232中的每個內容交換機116的內容交換機標識符、內容交換機站點、內容交換機IP地址、內容交換機提供商、內容交換機名稱、內容交換機位置和圖標。
通常,內容交換機數據庫232可以按地區(qū)來劃分,或按多種方法(包括改善的QOS判據或預訂業(yè)務判據,但并不局限于此)來劃分。此外,內容交換機數據庫232還可以包括選擇性的活動目錄104、源服務器108或其他任何有用或必要的信息的列表。
系統(tǒng)100中的內容交換機116定期地向服務器管理器208提供狀態(tài)。當內容交換機116可供使用或不能供使用時,其操作狀態(tài)被報告給服務器管理器208,并被記錄在內容交換機數據庫232中。在某些實施方式中,內容交換機數據庫232可以包括一些附加狀態(tài)信息,如內容交換機116負載、容量、利用率和健康狀況。
路由選擇數據庫234包括外部源服務器118一覽表。在某些實施方式中,路由選擇數據庫234包括與外部源服務器118有關的標識、狀態(tài)和組織信息。標識信息可以包括外部源服務器118的IP地址和域名。狀態(tài)信息可以包括關于外部源服務器的可用性、負載或其他狀態(tài)。組織信息可以包括選擇性的外部源服務器118一覽表。在一種實施方式中,路由選擇數據庫234包括每個外部源服務器118的IP地址和域名。在某些實施方式中,標識路由選擇數據庫234中的外部源服務器118的方法是一種將外部源服務器118與內容分配系統(tǒng)100相聯(lián)系的機制。
對于路由選擇數據庫中的每個外部源服務器118,都有用戶名一覽表,這些用戶名被允許利用內容交換機116來訪問關于外部源服務器118的信息。用戶名對客戶計算機112的用戶而言是唯一的??蛻粲嬎銠C通過內容交換機能為其選擇路由的外部源服務器118的一覽表被提供給該客戶計算機112??蛻粲嬎銠C112利用來自路由選擇數據庫的信息將用戶對外部源服務器118的請求重新轉向內容交換機116。在內容交換機116填充了來自外部源服務器118的內容對象后,帶寬從外部源服務器118卸載到內容交換機116。用戶可以向該內容交換機的擁有者和/或源服務器的管理者支付這一增強型業(yè)務的費用。
動態(tài)DNS204為源服務器108的每個IP地址提供源服務器名。源服務器名唯一地標識了因特網120上的源服務器108。這一信息被保存在用戶數據庫224中。內容交換機116不知道為該內容交換機116提供內容對象的源服務器108的IP地址,但知道源服務器名稱。當內容交換機116想將無法從其他內容交換機116得到的內容對象或內容對象的片段填充到其高速緩存器時,查詢動態(tài)DNS204,以確定是該內容對象的源的源服務器108的IP地址或域名。如果從動態(tài)DNS 204中檢索到域名,那么從DNS中檢索出與該域名相應的IP地址。
參照圖3A,圖中示出了內容分配系統(tǒng)100的源服務器部分108的一種實施方式的框圖。源服務器108由管理者來管理,并為內容分配系統(tǒng)100提供內容對象的一個源。QOS由源服務器108來提供,從而將客戶計算機引向能有效傳送所需內容對象的內容交換機116。源服務器108中包含有一個內容源304,一個內容服務器308,一個內容管理器312,一個局部內容編目316,一個內容位置數據庫320,內容交換機信息324,和一個健康狀況檢查330。
內容是由內容源304提供給源服務器108的。內容源304可以是實況web攝像機(live web cam)、視頻或音頻饋入、數據對象、數據流、錄相帶或錄音帶、光或磁盤、或者其他任意內容傳送機制。內容對象由內容源304傳送給內容服務器308,以便可能分配給系統(tǒng)100。
在各內容交換機116中,為其中所保存的那些內容對象或那些內容對象的片段保存了時間和日期信息。該時間和日期信息使得可以區(qū)分具有相同源服務器名稱、路徑名和文件名的內容對象。其他實施方式可以利用任何獨特碼(比如,檢查和、CRC或散列碼)來唯一標識內容對象。
源服務器308的所有內容對象都被存儲在內容服務器308中。管理者可以選擇要向系統(tǒng)100公布的一個內容對象或幾組內容對象,而將不適用于系統(tǒng)100的其他內容對象留在內容服務器308中。一些內容對象是慎重文件,而另一些內容對象卻是例如實況web攝像機所產生的內容流。運行內容服務器308的軟件可以與內容管理器312的軟件結合在一起。
內容管理器312向系統(tǒng)100公布所需的內容對象,并將用戶引向優(yōu)先的內容交換機116,以便下載與內容管理器312相關的內容對象。在管理者的引導下,內容管理器312利用文件名、目錄或驅動器卷選擇一些內容對象或幾組內容對象,以便向活動目錄104公布。內容服務器308中的某些內容對象可以被排除在公布之外,這樣,系統(tǒng)100就不能使用這些內容對象。
所選擇的向系統(tǒng)公布的內容對象被保存在局部內容編目316中。內容管理器312保持局部內容編目316中的項目是最新的,因為與那些項目相應的對象可能不能使用或被更新。對于每個項目,內容對象文件名和路徑與編目信息、簡要描述和關鍵字一起被保存。一旦接入到系統(tǒng)100,局部內容編目316就被內容管理器312發(fā)送給活動目錄104,以進入服務器數據庫228。局部內容編目316的變更被定期發(fā)送給服務器數據庫228,以保持目錄信息盡可能最新。更新可以定期進行,比如,每隔兩分鐘和/或每當在局部內容編目中進行變更時。
內容管理器312還知道與內容管理器312相關的內容對象的所有片段的位置。一旦接入到系統(tǒng)100,內容管理器312就狀態(tài)事宜與各內容交換機116聯(lián)系。內容交換機116定期地向相關的內容管理器312報告其內容對象或內部對象片段。利用這一信息,內容管理器312就可以將客戶計算機112引向可能具有下載所用的部分或全部所需內容對象的內容交換機116。
所有這些內容交換機108所報告的內容對象的位置信息被內容管理器保存在內容位置數據庫320中。通過查詢內容位置數據庫320,內容管理器312可以確定含有內容對象或內容對象的片段的內容交換機116。在客戶計算機112到內容源的路由選擇過程中,該內容對象在特定內容交換機112中的出現會影響路由選擇決定。
內容交換機信息存儲器324保存了關于所有活動內容交換機116的信息。一旦啟動源服務器108,活動目錄104中的內容交換機數據庫232就被下載到內容交換機信息存儲器324中。在啟動后,將查詢內容交換機信息存儲器324中所列的所有內容交換機116,以獲得作為內容交換機信息324的狀態(tài)信息。該狀態(tài)信息包括所使用的同時鏈接數、所允許的同時鏈接總數、帶寬利用率和高速緩存器周轉率(churn rate)。高速緩存器周轉率是指無用數據逗留在高速緩存器中的時間量,它表示高速緩存器的負載。例如,對于相對于高速緩存器中的存儲量更忙的內容交換機116來說,數據通常快速地從高速緩存器中清倉(flush)。然而,某些實施方式可能具有滯留性(sticky)內容對象,這種內容對象無論使用情況如何,都仍停留在內容交換機116中一段時間。
內容管理器312智能化地將需要內容對象的客戶計算機112引向該對象的優(yōu)選源??蛻粲嬎銠C112所提供的首選信息被用來確定客戶計算機112所優(yōu)選的內容對象的源。這一信息與內容對象的當前位置和可能的內容交換機的負載一起用來將客戶計算機112引向優(yōu)選的內容交換機116,以便下載該內容對象。
在某些實施方式中,內容管理器312可以控制對內容對象的訪問。當客戶計算機112試圖下載與內容管理器312相關的內容對象時,如果管理者已保護了該內容對象,那么可以顯示一個登錄對話框。用戶可以在登錄對話框中輸入用戶名和/或口令,以便將客戶計算機112重新引向該內容對象的源。用戶名和/或口令同樣也是活動目錄104所需的。在將客戶計算機112重新引向該源之前,先對照源服務器108中以前所存儲的可接受登錄信息一覽表,對用戶名和/或口令或登錄信息進行檢查。利用這種方法,可以控制對整個源服務器108或對源服務器108上的卷、目錄或對象內容的訪問。
某些實施方式允許源服務器108或活動目錄104將內容對象預裝到內容交換機116中。對內容對象的請求可以被監(jiān)測以確定需求??捎眯枨笮畔ⅰ涡畔⒑?或其他需考慮的事項來判斷哪些內容對象預裝到內容交換機116中。源服務器108或活動目錄104可以請求內容交換機116中的內容對象以便將它們預裝到那里。這些內容對象可以定期地被請求,以保持它們裝載在內容交換機中,這樣,它們不會因為停滯而不裝載。
健康狀況檢查330可以是硬件也可以是軟件應用程序,它可以提供相關源服務器108的操作特牲。在一種實施方式中,健康狀況檢查330提供了源服務器108狀態(tài)的單一指示。該單一指示是0和1之間的歸一化值,用于表示源服務器特性的一種綜合。例如,它可以包括CPU負載、CPU溫度、同時連接數和/或源服務器正發(fā)出的請求數。在另一種實施方式中,健康狀況檢查330可以監(jiān)測內容交換機116的特性,同時在另一內容交換機116或源服務器108上運行。
下面參照圖3B,圖中示出了內容分配系統(tǒng)100的外部源服務器部分118的一種實施方式的框圖。外部源服務器118與源服務器108的不同之外在于,外部源服務器118中沒有安裝內容管理器軟件。外部源服務器118中含有一個內容服務器308和一個內容源304。
外部源服務器118的管理者確定一個或多個被授權通過內容交換機116接收內容對象的客戶計算機112。路由選擇數據庫234由管理者來更新,以允許單個客戶計算機112可以通過內容交換機116訪問內容對象。活動目錄上的web頁提供一個界面,以便將關于客戶計算機112的信息輸入到路由選擇數據庫234中。其他實施方式可以自動操作外部源服務器118與路由選擇數據庫234之間的界面。
客戶計算機112將路由選擇數據庫234的更新局部下載和存儲。訪問外部源服務器118的后續(xù)嘗試可以重新引向內容交換機116,以便為該請求服務。這樣的重新引導使得外部源服務器118可以將客戶計算機112重新引向內容交換機116,而無需內容管理器軟件的幫助。
外部源服務器118可以指定一個或多個內容交換機116來傳送外部源服務器118的內容對象。路由選擇數據庫234可以將預訂的客戶計算機重新引向一個或多個這種內容交換機116。如果客戶計算機被允許使用兩個或兩個以上這種內容交換機116,那么,在該兩個或兩個以上內容交換機上可以進行客戶端路由選擇分析,使得可以對它們之間的相對QOS進行等級劃分。
外部源服務器118的內容對象可以被預裝到被分配來提供這些內容對象的內容交換機中。為了縮短第一次請求內容對象時的等待時間,活動目錄104可以瀏覽外部源服務器118,以確定該服務器118中可供使用的內容對象。這些可用內容對象可以加到瀏覽目錄124中。一旦得知可用內容對象,活動目錄104就從相關的內容交換機中請求各內容對象,以便使得可以將各內容對象裝載到相關內容交換機中。這樣,內容對象就可以預裝到相關的內容交換機中。
參照圖4A,圖中示出了內容分配系統(tǒng)100的內容交換機部分116的一種實施方式的框圖。內容交換機116在內容管理器312的控制下高速緩存客戶計算機112所請求的內容對象。內容交換機116中含有一個跟蹤系統(tǒng)402和一個內容節(jié)點406。跟蹤系統(tǒng)包括一個內容跟蹤器404、一個健康狀況檢查428、狀態(tài)信息420、一個局部內容編目416和一個源服務器數據庫424,而內容節(jié)點406包括一個內容控制器408和一個內容存儲器412。
健康狀況檢查428可以是硬件也可以是軟件應用程序,它可以提供相關內容交換機116的操作特牲。在一種實施方式中,健康狀況檢查428提供了內容交換機116狀態(tài)的單一指示。該單一指示是0和1之間的歸一化值,用于表示內容交換機特性的一種綜合,包括例如CPU負載、CPU溫度、同時連接數和內容交換機正發(fā)出的請求數。在另一種實施方式中,健康狀況檢查428可以監(jiān)測內容交換機116的特性,同時在另一內容交換機116、源服務器108或位置運行。
內容存儲器412保存了可從內容交換機116中下載到客戶計算機112中的內容對象。提供內容對象的源服務器108的名稱以及路徑信息和文件名與內容對象一起被存儲在內容存儲器412中。通過因特網120,客戶計算機112連接到內容存儲器412,并下載內容對象文件或數據流。隨著新內容對象被加到內容存儲器412中,原內容對象將被消除。內容對象的使用期限(age)與內容對象上次被訪問的時間有關。存儲器412中的某些內容對象沒有使用期限,這樣,這些內容對象將在存儲器412中保留一段預定時間。源服務器108可以安排內容交換機112來將內容對象存儲一段預定時間。
當客戶計算機112從內容存儲器412中請求一個內容對象時,內容對象可能當前沒有裝到內容存儲器412中。內容存儲器412將這一未完成的對內容對象的請求通知給內容控制器408。內容控制器408在其他內容交換機116中或從發(fā)起該內容對象的內容服務器308中查出失缺的內容對象或其片段。內容控制器408可以將失缺的內容對象裝到內容存儲器412中,這樣,客戶計算機112就能下載這一信息。
當內容存儲器412中失缺內容對象時,內容控制器408首先檢查其他內容交換機116,以判斷該對象是否可得到。如果內容交換機116都沒有所需的內容對象,那么,向發(fā)起該信息的內容服務器308查詢這一內容對象。內容存儲器412不包含始發(fā)內容服務器308的IP地址,因此,向動態(tài)DNS204查詢這一信息。給定源服務器名,動態(tài)DNS204可以提供IP地址,這樣,內容控制器408就可以從適當的內容服務器308中請求該內容對象。
內容跟蹤器404向系統(tǒng)100報告內容存儲器412中的當前項目和內容交換機116的狀態(tài)信息。局部內容編目416將每個內容對象或內容對象的片段的源服務器名、路徑和文件名記錄到內容存儲器412中。隨著內容存儲器412中加進新項目和從其中消除原項目,局部內容編目416被更新。當內容管理器312與系統(tǒng)100連接時,對所有內容跟蹤器404發(fā)出一個查詢,以判斷哪些內容對象片段被存儲在這些內容存儲器412中。當對內容存儲器412進行變更時,初始查詢提供了內容跟蹤器404進行更新的一條基線。這些變更可以直接被發(fā)送給有內容存儲到內容存儲器412中的每個內容管理器312。在這一過程中,利用動態(tài)DNS204來確定與各內容對象的源服務器名相應的IP地址。
內容跟蹤器404還向內容管理器312提供了內容交換機116的狀態(tài)信息。狀態(tài)信息通過廣播或多點播送方式被定期地(例如,每隔5分鐘和/或每當發(fā)生變更時)發(fā)送到每個這種內容管理器312。狀態(tài)信息可以包括與當前使用中的內容交換機的同時鏈接數、所允許的同時鏈接總數、帶寬利用率和高速緩存器周轉率。在其他實施方式中,狀態(tài)信息還可以置于一個中心位置,這樣,內容管理器312在確定將客戶計算機112引向何處以下載內容對象時,可以在該中心位置進行查詢。
內容跟蹤器404保存有源服務器數據庫424,以便跟蹤系統(tǒng)100中活動的源服務器108。在接入到系統(tǒng)后,所有源服務器108都向內容跟蹤器404標識其自身。內容跟蹤器404將源服務器名和IP地址記錄到源服務器數據庫424中。對動態(tài)DNS進行查詢可以提供給定源服務器名的IP地址。如果源服務器108將其即將發(fā)生的不可用性告知內容跟蹤器404,或者如果內容跟蹤器404無法聯(lián)系到特定的源服務器,那么將從源服務器數據庫424中消除該源服務器的項目。此外,與該源服務器108相應的內容也可以從內容存儲器412中消除,并且局部內容編目416被更新。在某些實施方式中,該內容對象和內容對象片段不被消除,而只是被加上需要存儲空間時的刪除標記。
在某些實施方式中,系統(tǒng)100可以指令內容控制器408獲取一些預定的內容對象并將其保留在內容存儲器412中。預期要用的內容對象可以被預裝,以滿足需求。通過對來自搜索和目錄頁212、216的那些內容對象的點擊情況進行監(jiān)視,可以確定某個內容對象的需求。例如,可以在關于著名人物的傳記節(jié)目通過網絡電視播送之前,趕緊將與該著名人物有關的內容對象裝載到內容存儲器412中。此外,用戶還可以預訂一種將內容對象裝載到某些內容交換機116中的業(yè)務。例如,預定的網絡節(jié)目可以被裝載,以便與用戶可通過因特網120收看的TV廣播相符,以代替TV廣播。該內容對預訂用戶而言可以無延遲地得到。
參照圖4B,圖中示出了內容分配系統(tǒng)100的內容交換機部分116的另一種實施方式的框圖。這一實施方式包括多個內容節(jié)點406,這些節(jié)點與單個跟蹤服務器402連接。內容總線428使得內容節(jié)點406可以檢查每個其他內容存儲器412以尋找失缺的內容對象。內容總線428還可以與在其他位置的其他內容節(jié)點連接。內容總線428可以是也可以不是部分地通過因特網120行進。
下面參照圖4C,圖中示出了含有多個內容交換機服務器116的內容交換機站點432的一種實施方式的框圖。即使內容交換機站點432包括多個內容交換機服務器116,對系統(tǒng)而言它也好象是單個內容交換機116。內容交換機站點432的負載被分配到這些內容交換機服務器116當中。開關436(比如4位開關)可以將內容對象請求分配給這些內容交換機116,并將假脫機(spool)響應聚合到因特網120中。
下面參照圖5,圖中示出了內容分配系統(tǒng)100的客戶計算機部分112的一種實施方式的框圖??蛻粲嬎銠C112與因特網120通信,以便將內容傳送給用戶??蛻粲嬎銠C112中含有一個查看者對象代理504,一個內容處理程序508,首選信息512,一個網絡接口516,和主服務器路由選擇520。
內容處理程序508通常是這樣的軟件,用于解釋或處理從因特網120中下載的內容對象。內容處理程序508的例子包括web瀏覽器、文件傳輸協(xié)議(FTP)軟件、考訪(gopher)軟件、新聞(NNTP)、郵件程序、流式媒體播放器、非流式媒體播放器以及其他軟件。通常從內容處理程序508直接發(fā)向因特網的因特網通信被重新引向查看者對象代理504。
查看者對象代理504作為因特網120與內容處理程序508的中介。查看者對象代理504安裝后,它可以確定它相對于因特網120上的已知點的一般位置。對作為提供足夠QOS的合理候選者的內容交換機116進行測試,以確定各內容交換機116與查看者對象代理504之間的所需轉發(fā)次數和等待時間。QOS因子的加權(比如,轉發(fā)次數和所達到的帶寬)作為首選信息512被記錄,并作為元數據通過HTTP標題被傳送到內容管理器312。
其他實施方式可以以任何類型的數據信道而不僅僅是通過HTTP標題來傳送元數據。例如,元數據可以通過專用端口、IP地址、URL、標題或其他邏輯信道進行傳播。
首選信息512是從客戶計算機112角度出發(fā)所進行的網絡分析的結果。當請求內容對象時,首選信息512被傳送到內容對象管理器312,內容對象管理器312又為客戶計算機112選擇一個適當的內容交換機116。可以定期地(例如每隔一小時)利用自動測試方式來更新或由用戶以人工方式來更新首選信息512。后續(xù)測試考慮到以前的結果,以便有效地考慮優(yōu)選的內容交換機。例如,第一次分析可以檢查100個內容交換機,而后續(xù)分析可以排除性能較差的內容交換機,這樣,只分析50個。
首選信息512包括內容交換機116及其根據客戶端網絡分析得到的相關QOS值的一覽表。在某些實施方式中,可以有多條通路通向外部源服務器118。該多條通路可以用端口、IP地址、服務器標識符(ID)和/或其他機制來區(qū)分??蛻舳司W絡分析可以用來確定與通向外部源服務器118或任何具有多條通路的內容對象的源的每條通路相關的QOS值。
在客戶計算機112的用戶選擇了內容對象后,將源服務器名提供給查看者對象代理504。查看者對象代理504利用源服務器名來查詢動態(tài)DNS 204,以得到源服務器108的IP地址。一旦得知IP地址,內容處理程序508被重新引向所需內容對象的內容管理器312。內容管理器312傳送首選信息,使得可以選擇到適當內容交換機116的路由。在這一實施方式中,首選信息512包括優(yōu)選的10個內容交換機,不過用戶可以調整。
在某些實施方式中,對路由選擇信息而言,查看者對象代理504可以與特定HTTP相關而與協(xié)議無關。因此,路由選擇信息可以根據HTTP來傳送,但實際路由選擇信息與協(xié)議無關。不過,熟練技術人員可以明白,查看者對象代理504根據需要還可以配置成與其他網絡協(xié)議一起工作。例如,查看者對象代理504還可以配置成按照FTP、NNTP、RTP、RTSP、SMTP或SHOUT等來操作。
客戶計算機112包括一個主服務器路由選擇520數據庫。這一主服務器路由選擇520可以包括與客戶計算機112可訪問的外部源服務器118有關的信息。在一種實施方式中,主服務器路由選擇520是活動目錄104中所含的路由選擇數據庫234的一部分。
客戶計算機112包括一個網絡接口516,該接口將查看者對象代理504與因特網120連接。網絡接口516的普通例子包括模擬調制解調器、DSL調制解調器、ISDN、電纜調制解調器、衛(wèi)星調制解調器、蜂窩調制解調器等。
在這一實施方式中,客戶計算機與家庭用戶相關。在其他實施方式中,客戶計算機可以為劇場放數字電影或者為公司網絡用戶、賓館顧客或公寓提供內容對象。
參照圖6,圖中示出了內容分配系統(tǒng)600的一種實施方式的框圖。該圖描述了數據塊之間的數據流,而沒有顯示通過因特網120的傳送。不過,應當理解,在其他實施方式中可使用因特網120。此外,該圖還對圖2-5中的那些塊稍作了一些簡化,并且為了簡化圖6,圖中沒有包括外部源服務器118和瀏覽目錄124。
網絡接口516是客戶計算機112到因特網120的連接??蛻粲嬎銠C112與目錄和搜索頁212、216連接,使得用戶可以選擇所要下載的內容對象。當選擇了內容對象時,利用動態(tài)DNS 204將客戶計算機112從活動目錄104重新引向適當的源服務器108。首選信息512被傳送給內容管理器312,以幫助它選擇內容對象的源。根據內容管理器312所作的選擇,從內容交換機116之一中或從內容服務器308中下載內容對象。
活動目錄104與系統(tǒng)600中的其他模塊進行交互??蛻粲嬎銠C112訪問目錄和搜索頁212、216以選擇內容對象。內容跟蹤器404和內容管理器312向服務器管理器208分別提供狀態(tài)和編目信息。帳目信息由源服務器108的管理者和由客戶計算機112的用戶提供給服務器管理器208,以保存用戶數據庫224。從源服務器名到源服務器108的IP地址的重新定向由動態(tài)DNS 204提供給查看者對象代理504、內容跟蹤器404和內容控制器408。
源服務器108與服務器管理器208、客戶計算機112、內容跟蹤器404、內容存儲器412和內容控制器408通信。局部內容編目316從內容管理器312提供給服務器管理器208,以便保持服務器數據庫228具有當前內容信息。首選信息512從客戶計算機112提供給內容管理器312,以便簡化內容對象的源的選擇。內容跟蹤器404與內容管理器312交互,以了解內容交換機116中存儲了什么內容對象。內容對象由內容存儲器412或客戶計算機112從內容服務器308中讀取。
內容交換機116還與系統(tǒng)600中的其他模塊交互。狀態(tài)信息被提供給活動目錄104和/或內容管理器312。動態(tài)DNS被內容控制器408和內容跟蹤器404用來尋找含有內容對象的源服務器108的IP地址。當內容存儲器412需要對象時,所選的內容交換機可以與其他內容交換機聯(lián)系。如果其他內容交換機也沒有該內容對象,內容控制器408從內容服務器308中請求該對象,以便傳送到所選擇的內容存儲器412。
下面參照圖7A-B,圖中示出了用于為用戶分配內容的過程的一種實施方式的流程圖。在所描述的過程之前,用戶和管理者分別下載和安裝客戶計算機112和源服務器108所用的軟件。管理者在內容服務器中選擇要向系統(tǒng)600公布的內容。為了確定首選信息512,查看者對象代理504自動查詢鄰近內容交換機116是否具有足夠QOS。
所述過程從步驟704開始,在該步驟中,用戶將web瀏覽內容處理程序508引向活動目錄104的目錄或搜索頁212、216。在這一實施方式中,在步驟708中,用戶利用布爾查詢來查詢搜索頁216上的搜索引擎以尋找內容對象。在步驟712中,搜索引擎可以搜索服務器數據庫228以獲得命中,也可以搜索瀏覽目錄124?;蛘?,用戶可以導航目錄頁212以尋找所想要的內容對象。
在步驟716中,搜索或目錄頁212、216顯示出用戶可以選擇的每個內容對象的鏈接。每個鏈接都包括內容對象的源服務器名108、端口、路徑和名稱。在步驟720中,在給出可用的選項后,用戶可以選擇與所想要內容對象相應的鏈接之一。查看者對象代理504查詢動態(tài)DNS204,以確定鏈接中的源服務器名的IP地址。一旦得知IP地址,內容處理程序就被重新引向從動態(tài)DNS 204中檢索到的IP地址以及鏈接中的路徑和文件名。
在步驟724中,一旦客戶計算機112與內容管理器312連接,首選信息512就被轉發(fā)到內容管理器312。在步驟728和732中,內容管理器312對內容位置數據庫320、首選信息512和狀態(tài)信息進行分析,以確定要將客戶計算機112重新引向的內容對象的源。
在步驟736中,判斷該源是內容交換機116還是內容服務器308。如果內容管理器312判定內容服務器308可以提供足夠的QOS或更高的QOS,那么可以選擇它。在某些實施方式中,如果沒有能提供足夠的QOS的內容交換機116,那么只能將內容服務器308作為源。如果選擇了內容服務器308,那么在步驟740中,源服務器108為客戶計算機112提供內容對象。
如果內容管理器312選擇內容交換機116來容納內容對象請求,那么將內容處理程序508重新引向所選擇的內容存儲器412,然后處理過程繼續(xù)進行到圖7B的步驟744中。在步驟744中,內容處理程序508從內容存儲器412中請求鏈接中的內容對象。在步驟748和752中,如果整個內容對象都在內容存儲器412中,那么將對象從內容存儲器412中下載到客戶計算機。
或者,如果內容對象的任一片段失缺,那么在內容存儲器412中匯集內容對象的整個拷貝。整個內容對象的構成對用戶是透明的。在步驟756和760中,內容控制器408查詢其他內容交換機116,以判斷哪些內容交換機具有該內容對象的失缺片段。在內容存儲器412中,將內容對象從頭到尾重新匯集,這樣,可以盡快得到開頭部分,以便客戶計算機112進行下載。
在步驟764中,以迭代方式從各內容交換機116中檢索失缺片段,直到整個內容對象都在內容存儲器412中。如果其他內容交換機116沒有該內容對象的失缺片段,那么在步驟768中,查詢源服務器108以尋找失缺片段。對動態(tài)DNS 204進行查詢,確定該內容對象的源服務器名的IP地址。在步驟772中,動態(tài)DNS204將內容控制器408引向具有該內容對象的源服務器108。在步驟776中,從該源服務器108的內容服務器308中下載該失缺片段。處理過程返回到步驟748,以檢索任何其他的失缺片段。
這一搜尋片段的過程以迭代方式繼續(xù)進行,直到所有失缺片段都被拷貝到內容存儲器412中。盡管這一實施方式依次檢索這些失缺片段,然而其他實施方式可以判斷這些失缺片段的位置,并且并行地、按任何次序或按找到的次序對它們進行檢索。
下面參照圖8,圖中示出了查看者對象代理504的一種實施方式的框圖。查看者對象代理504包括以下功能一個路徑評估器850,一個加權功能852,一個顯示功能或例程854,一個先行邏輯功能856,一個標準web訪問功能858,一個解壓縮功能860,一個解密功能862,一個電子商務功能866,一個安全功能864,和一個與查看者對象代理504中的各種其他功能連接的主體功能868。應當理解,查看者對象代理504中所含有的上述所列的可能功能只是說明性的,熟練技術人員可以認識到還可以有與查看者對象代理504有關的其他功能。
由于查看者對象代理504是一個所有的查看者請求的內容對象都通過它流動的代理,因此可以實現先行邏輯功能856。在一種實施方式中,先行邏輯功能856可以預料用戶的下一個瀏覽或移動,并在用戶實際請求之前取得相關的瀏覽信息存儲在客戶計算機112中。保持預先取得的信息,直到用戶實際請求了該信息。如果先行邏輯功能856預料錯了用戶的下一個瀏覽,那么刪除預先取得的數據。例如,先行邏輯功能856可以預先取得目錄頁212的分級結構之下的普通訪問頁(如參照圖2所述)。通過預先取得信息,先行邏輯功能856可以縮短訪問等待時間。
在某些實施方式中,提供了解壓縮功能860和解密功能862。這些功能860、862使得可以對從因特網上的源服務器108、內容交換機116、外部原服務器118或其他任何服務器接收到的信息進行解壓縮和解密。
對于任一用戶請求,查看者對象代理504根據解壓縮860和解密862功能的可用性,可以協(xié)商在利用因特網120上的服務器進行內容對象傳送過程中所要采用的壓縮和加密的方式。因此,用戶無論什么時候在因特網120上沖浪,查看者對象代理504都可以告訴任何相關服務器它所支持的壓縮和加密方式。這并不要求相關服務器要有特殊軟件,不過,在相關服務器支持與查看者對象代理504所支持的相同的壓縮、加密和安全功能的情況下,可以提高QOS。應當理解,可以采用許多通信機制來解壓縮和解密。例如,可以采用FTP、NNTP、RTP、RTSP或SMTP。
在一種實施方式中,解密和解壓縮協(xié)商利用HTTP來實現。具體地說,通過擴展的HTTP標題來實現這一協(xié)商。
此外,在某些實施方式中,對用戶而言,可以禁用解壓縮功能860和解密功能862之一,或者這兩者都禁用。如果用戶禁用各個功能860、862,那么,查看者對象代理504將不協(xié)商使用禁用功能。
在某些實施方式中,查看者對象代理504包括安全功能864。安全功能864適當時可以允許或拒絕訪問。具體地說,安全功能864提供控制,以便只有受托系統(tǒng)授權,才能將內容對象解密。例如,只有在特定硬件鎖式的硬件設備與客戶計算機112連接并且安全功能864通過查看者對象代理504報告了連接條件的情況下,受托系統(tǒng)才可以授權接受和/或解密數據。
在某些實施方式中,查看者對象代理504包括電子商務功能866。電子商務功能866可以與因特網120上駐留的電子商務引擎緊密結合。利用電子商務功能866,可為用戶提供一種購買內容對象的機制。例如,用戶數據庫224中所存儲的代幣信用可以作為使用源服務器108的信用,以便下載內容對象。
此外查看者對象代理504還包括標準web訪問功能858,這一功能提供對位于內容分配系統(tǒng)100之外的因特網域的訪問。在一種實施方式中,當查看者對象代理504接收來自內容處理程序508的對源于內容分配系統(tǒng)100之外的域的內容對象的用戶請求時,標準web訪問功能858判斷該內容對象以前是否保存在客戶計算機112中。如果所請求的內容對象以前已保存,那么,通過標準web訪問功能858來返回所保存的內容對象,以滿足用戶請求。如果所請求的內容對象以前未保存,那么,通過標準web訪問功能858來傳遞用戶請求,然后檢索內容對象,就好象內容處理程序508直接訪問了因特網120。
下面,對照如圖9所示的查看者對象代理后臺應用程序900的流程圖,描述路徑評估器850、加權功能852和顯示功能或例程854。后臺應用程序900利用各種查看者對象代理504功能來確定能為客戶計算機112提供足夠的QOS的合乎要求的內容交換機116。合乎要求的內容交換機116作為首選信息512被存儲到存儲器中,隨后被傳送到內容對象管理器312。
參照圖9,啟動980時進行安裝982,并運行顯示例程854。安裝982可以包括請求和初始化客戶計算機112中的圖形存儲器,初始化代理,和運行顯示例程854。此外,安裝982還可以包括初始化圖形顯示或代理的任何過程。
在安裝982之后,進行信息請求和接收984。在信息請求和接收984期間,將活動目錄104中的內容交換機數據庫232下載到客戶計算機112。如上所述,內容交換機數據庫232可以按地區(qū)來劃分,或按多種方法(包括改善的QOS判據或預訂業(yè)務判據,但并不局限于此)來劃分。因此,在某些實施方式中,信息請求和接收984使得可以檢索只含有地理上與客戶計算機112最近的內容交換機116的內容交換機數據庫232。例如,所檢索的內容交換機數據庫232可以只包含位于北美的內容交換機116。在另一些實施方式中,信息請求和接收984使得可以檢索只含有支持特定預訂業(yè)務或歸因于特定提供商的內容交換機116的內容交換機數據庫232?;蛘?,內容交換機數據庫232可以局限于歸因于特定因特網業(yè)務提供商或支持特定協(xié)議或者甚至以特定語言提供內容對象的內容交換機。在還有一些實施方式中,信息請求和接收984使得可以檢索包括所有可能的內容交換機116的內容交換機數據庫232。
在某些實施方式中,信息請求和接收984還包括請求和接收含有外部源服務器118的路由選擇信息的路由選擇數據庫234的某部分。路由選擇數據庫234的所接收部分被存儲在客戶計算機112的存儲器中,作為主服務器路由選擇520。
在其他用法中,通過信息請求和接收984所提供的信息可以用來為用戶產生一個顯示。例如,在某些實施方式中,作為內容交換機數據庫232的一部分所提供的位置座標和圖標信息可以作為通過顯示功能或例程854提供給用戶的圖形表示的一部分。該圖形表示可以向用戶示出可在內容分配系統(tǒng)100上或在因特網120上的其他地方所得到的內容。此外,圖形表示還可以示出從客戶計算機112到多個內容交換機116的各種路徑。在一種特殊實施方式中,內容交換機116和源服務器108的實際位置重疊在顯示給用戶的世界地圖上。
除了通過顯示功能854使用內容交換機數據庫232之外,來自內容交換機數據庫232的信息可用來執(zhí)行路徑QOS評估986。具體地說,客戶計算機112與內容交換機數據庫232中指定的各內容交換機116或節(jié)點之間的路徑的QOS可以被確定并被存儲在客戶計算機112的存儲器中。
應當理解,通過信息請求和接收984接收內容交換機116一覽表示例性說明了一種用于確定可能的內容交換機116的方法。在另一些實施方式中,可以得到可能的內容對象源一覽表,比如內容交換機116、外部源服務器118和源服務器108,或利用查看者對象代理504所編輯的一覽表。該表可基于對在內容分配系統(tǒng)100的內部或外部的早期內容對象傳送期間所得到的查看者對象代理504的了解。
在一種實施方式中,對與內容交換機數據庫232中所列的所有內容交換機116相關的路徑進行路徑QOS評估986。首先,分析與內容交換機數據庫232中所列的第一個內容交換機116相關的路徑。接著,在步驟988中,判斷內容交換機數據庫232中是否還提供有另一個內容交換機116。如果提供有另一個內容交換機116,那么,評估到該內容交換機116的路徑。這一過程一直進行,直到對與內容交換機數據庫232中所列的所有內容交換機116都進行了路徑QOS評估986。應當理解,路徑QOS評估可以針對任何內容對象源或傳送節(jié)點來進行,而未必局限于評估內容交換機116和源服務器108。還應當理解,傳送節(jié)點可以是內容交換機116,或是其他能存儲和傳送內容對象的服務器。還應當理解,正如與路徑QOS評估相關的所用情況,術語路徑包括了路由選擇。
在其他實施方式中,只評估內容交換機數據庫232中所列的內容交換機116的一個子集。只評估內容交換機數據庫232中的內容交換機116的一個子集可提供更有效的路徑QOS評估986。在知道某些內容交換機116不可能提供足夠的QOS從而不值得評估的情況下,可以達到這種提高的效。因此,例如,在客戶計算機112位于北美并發(fā)覺北美之外的內容交換機不可能提供足夠的QOS的情況下,只對位于北美的內容交換機116進行路徑QOS評估986。
或者,在發(fā)覺不同類型的內容交換機116可能提供類似業(yè)務的情況下,可以進行基于站點的路徑QOS評估986。具體地說,評估與內容交換機數據庫232中所表示的各內容交換機站點432相關的一個內容交換機116。據此,可以判斷哪些內容交換機站點432可能提供足夠的QOS。隨后,逐一分析與被判定可能提供足夠的QOS的內容交換機站點432相關的內容交換機116。這樣,就可以不評估與不可能提供QOS的內容交換機站點432相關的內容交換機116。
在另一種實施方式中,只針對支持特定協(xié)議的內容交換機116進行路徑QOS評估986。或者,只針對某個內容交換機站點432處(該站點432處至少一個內容交換機116支持特定協(xié)議)的內容交換機116進行路徑QOS評估986。
此外,在某些實施方式中,針對特定內容交換機116只進行一次路徑QOS評估986。因此,在特定內容交換機116具有多個IP地址、端口或名稱的情況下,只針對一個IP地址、端口或名稱進行路徑QOS評估986。這排除了路徑QOS評估986期間的冗余評估。然而,應當理解,在發(fā)覺可能有不同的QOS的情況下,也可以針對同一內容交換機116的多個IP地址、端口或名稱進行路徑QOS評估986。
選擇內容交換機數據庫232中的內容交換機116的哪一子集進行評估,可以基于客戶計算機112所提供的判據和基于活動目錄104、內容交換機116、源服務器108和/或用戶所提供的客戶計算機經驗。
在一種實施方式中,路徑QOS評估986可綜合利用以下網絡分析方法來完成,這些方法包括(但并不局限于此)跟蹤路由,通過文件傳送的帶寬測試,服務器健康狀況檢查,服務器負載/資源檢查,乒(ping)協(xié)議,路徑差別,網界網關協(xié)議(BGP)路由選擇信息,和端口響應時間。
跟蹤路由包括任何這樣的分析返回分組在特定內容交換機116與客戶計算機112之間所采取的路由。通常,跟蹤路由將返回所穿行轉發(fā)的次數、所穿行轉發(fā)的IP地址以及在客戶計算機112與內容交換機116之間穿行所需的時間。
通過文件傳送的帶寬測試包括任何這樣的分析執(zhí)行內容交換機116與客戶計算機112之間的成批信息傳送。在成批傳送期間,得出性能的各種指數,包括完成成批傳送所需的時間(但并不局限于此)。通常,內容交換機116與客戶計算機112之間所傳送的數據隨機性很大。數據的這種隨機性降低了對客戶計算機112與內容交換機116之間出現的任何壓縮的影響。
乒協(xié)議包括任何這樣的分析客戶計算機112向特定內容交換機116發(fā)送信息,和客戶計算機112等待來自內容交換機116的響應。通常,通過UDP或任何其他有損協(xié)議(即不保證響應的協(xié)議)來執(zhí)行乒協(xié)議。乒協(xié)議可用來檢驗內容交換機是否可使用。此外,接收應答所需的時間可作為QOS的指示。
服務器健康狀況檢查和服務器負載/資源檢查可以包括任何這樣的分析確定關于內容交換機116、源服務器108或其他傳送節(jié)點的健康狀況、負載和可用資源的各種試探法。通常,查詢內容交換機116,以確定各種操作特性,包括(但并不局限于此)平均和峰值CPU負載,CPU溫度,為解決高速緩存差錯在硬驅動器與RAM之間所傳送的頁數,內容交換機116向硬驅動器發(fā)出讀和寫操作的速率,內容交換機116當前正在服務的請求數,訪問該內容交換機的平均用戶數,同時連接數,內容交換機116的輸入/輸出速率,從內容交換機116中所請求的平均內容對象長度,與內容交換機116相關的局部存儲器(包括RAM和硬驅動器存儲器)的容量,局部存儲器中所含的平均內容對象長度,局部存儲器中所含的內容對象數,內容對象逗留在局部存儲器中的平均時間,在局部存儲器中找不到內容對象的情況的出現率,和其他任何出錯指示和/或狀態(tài)信息。
利用與特定內容交換機116或源服務器108相關的健康狀況檢查330、428,可以確定上述試探法。在一種實施方式中,健康狀況檢查330、428分別是內容交換機116或源服務器108上的軟件應用程序。當查看者對象代理504進行查詢時,健康狀況檢查330、428可以提供CPU負載,CPU溫度,同時連接數,和內容交換機116或源服務器108當前正在服務的請求數。在某些實施方式中,查看者對象代理504通過HTTP查詢內容對象交換機116,以檢索服務器健康狀況檢查試探法。然而,應當注意,熟練技術人員可以知道許多用于訪問服務器健康狀況試探法的機制,包括FTP、NNTP、RTP、RTSP,SHOUT,SMTP(但并不局限于此),或通過所指定的端口與該節(jié)點的連接。
在其他實施方式中,查看者對象代理504對健康狀況檢查330、428的狀態(tài)請求導致了所返回的單一狀態(tài)標志。該單一狀態(tài)標志介于0和1之間,1表示不良特性而0表示很好特性。良好和不良特性根據內容交換機116或其他傳送節(jié)點作為內容對象高速緩存器的能力或可能性來確定。因此,在一種實施方式中,值為0.9的標志表示不能將內容對象本地保存在內容交換機116一段延長時間。值為0.2的標志表示能夠保存內容對象一段延長時間。
為了確定該單一狀態(tài)標志,可以監(jiān)測和綜合許多機器特性。在一種實施方式中,單一狀態(tài)標志綜合包括了下列特性平均CPU負載,與內容交換機116相關的局部存儲器的容量,局部存儲器中所含的平均內容對象長度,內容對象逗留在局部存儲器中的平均時間。這些單獨特性的綜合可用來評定內容交換機作為內容高速緩存器的能力。為了將這些特性綜合為單一標志,首先將每個特性都歸一化成預定使用級的百分比。歸一化這樣來實現,即100%表示可能達到的最好的特性值而0表示最差的特性值。然后,將歸一化值乘以總狀態(tài)標志的預定百分比,將乘積值合計以形成一個介于1和0之間的單一標志。應當理解,也可以利用特性的一些別的集合來形成單一標志。例如,一種實施方式可以綜合平均CPU負載、CPU溫度、與源連接的平均用戶數以及內容交換機的輸入/輸出速率來形成該單一標志。
下面提供了一個形成單一標志的例子,其中包括最大值的90%的CPU負載,歸一化為20%的平均內容對象長度,局部存儲器中所含的歸一化為30%的局部存儲器的容量,歸一化為80%的局部存儲器中所含的平均內容對象長度,和歸一化為50%的內容對象逗留在局部存儲器中的平均時間。這些歸一值可以這樣被合計,以便每個特性在單一標志中起相同的作用。于是,每個歸一化值乘以20%再被合計,以形成該單一標志。因此,本例中該單一標志為54%即0.54。應當理解,本例子和實施方式僅僅只是說明性的,還可以采用其他一些方法將多個特性綜合成單一標志。
BGP路由選擇信息包括作為網界網關協(xié)議分析的結果所返回的任何信息。通常,這一信息與路徑拓撲結構有關,它包括自治系統(tǒng)(AS)路徑屬性和AS下一次轉發(fā),但并不局限于此。
路徑差別包括任何這樣的分析確定用于連接內容交換機116和客戶計算機112的備選路徑之間的帶寬或等待時間的差別。
端口響應時間包括任何這樣的分析提供端口響應的指示。通常,該測試提供了與內容交換機116端口的響應時間有關的信息。例如,端口時間可以包括任何這樣的分析確定傳送長度為零的消息所需的時間。通常,報告零長度傳送的結果,作為每秒的交換機消息數。每秒的交換機數可用來推斷內容交換機116的等待時間。
應當理解,任何上述方法都可以綜合用來提供一個用于連接內容交換機116和客戶計算機112的路徑的QOS或傳輸質量的指示值。此外,任何上述方法都可以與其他網絡分析方法相結合來提供QOS評估986。例如,在一種實施方式中,可綜合利用乒協(xié)議、跟蹤路由和健康狀況檢查來提供QOS評估。
在另一種實施方式中,所有上述方法綜合用來確定QOS。為了確定QOS,每種方法都被執(zhí)行,并且每種方法的QOS因子都被返回。然后,來自各種方法的QOS因子被歸一化并被合計,以形成每一所分析的路徑的單一QOS因子。可以對各種方法進行相同加權來歸一化這些QOS因子。
例如,在一種實施方式中,出現了下列歸一化和合計,其中(1)跟蹤路由返回9次轉發(fā),(2)通過文件傳送的帶寬測試返回300ms,(3)服務器健康狀況檢查返回表示健康的值1,(4)服務器負載/資源檢查返回65%的平均CPU負載,(5)BGP路由選擇信息返回4次轉發(fā),和(6)端口響應時間返回45ms。此外,再將每個返回值與各自的預定最大值進行比較,這些預定最大值例如是(1)跟蹤路由為30次轉發(fā),(2)通過文件傳送的帶寬測試為500ms,(3)服務器健康狀況檢查為1,(4)服務器負載/資源檢查為100%,(5)BGP路由選擇信息為6次轉發(fā),和(6)端口響應時間為100ms。
為了歸一化和合計,每個返回值都要除以它們各自的預定最大值。因此,跟蹤路由得到0.33,通過文件傳送的帶寬測試得到0.6,服務器健康狀況檢查得到1,服務器負載/資源檢查得到0.65,BGP路由選擇信息得到0.75,而端口響應時間得到0.45。接著,將所有這些歸一化值合計后得到3.78,作為總QOS因子。然后,再利用這種QOS因子來比較不同的內容交換機116。
在其他實施方式中,從每種方法所返回的值在合計之前先進行不同的加權。加權系數可由用戶來提供,以影響所返回的QOS因子。這種實施方式可利用來自前一實例的值來描述,在前一實例中,從各種方法返回的歸一化值是(1)跟蹤路由為0.33,(2)通過文件傳送的帶寬測試為0.6,(3)服務器健康狀況檢查為1,(4)服務器負載/資源檢查為0.65,(5)BGP路由選擇信息為0.75,和(6)端口響應時間為0.45。為了繼續(xù)說明,采用下列加權系數跟蹤路由為1,通過文件傳送的帶寬測試為3,服務器健康狀況檢查為1,服務器負載/資源檢查為4,BGP路由選擇信息為1,而端口響應時間為3。將各歸一化值乘以其各自的加權系數便可以得到(1)跟蹤路由為0.33,(2)通過文件傳送的帶寬測試為1.8,(3)服務器健康狀況檢查為1,(4)服務器負載/資源檢查為2.6,(5)BGP路由選擇信息為0.75,和(6)端口響應時間為1.35。接著,將所有這些歸一化值合計后得到7.83,作為總QOS因子。然后,再利用這種QOS因子來比較不同的內容交換機116。
除了提供加權系數之外,用戶還可以人工選擇內容交換機116的預置次序,或者只提供單個可接受的內容交換機116,這二者之一可以有效地取代路徑QOS評估986的自動分析。因此,用戶可以通過下列方法之一來得到任何所需的結果完全自動產生內容交換機116的QOS因子,人工加權路徑QOS評估986以得到針對內容交換機116所返回的QOS因子,或者取代自動分析而提供所需內容交換機116一覽表。
在某些實施方式中,可以利用上述方法的一個子集進行粗略QOS分析后再對有限個內容交換機116進行精細QOS分析,來完成多層路徑QOS評估986。這種多層分析由于避免了對不可能提供足夠的QOS的內容交換機進行精細QOS分析,從而提高了路徑QOS評估986的效率。相應地,在一例實施方式中,應用乒協(xié)議和跟蹤路由對內容交換機數據庫232中所含的所有內容交換機116進行粗略QOS分析。然后,利用服務器健康狀況檢查作為精細QOS分析,對根據粗略QOS提供了足夠QOS的預定個數(最好小于25個)的內容交換機116進行評估。精細QOS分析的結果確定了那些提供足夠QOS的內容交換機116。應當理解,可以應用各方法的任何綜合來進行精細或粗略QOS分析。此外,還應當理解,精細或粗略QOS分析本身都可以包括多層分析。
在對可能的路徑進行路徑QOS評估986并將每一評估路徑的QOS因子存儲到客戶計算機112的存儲器中后,將這些與評估路徑相關的內容交換機116區(qū)分優(yōu)先次序990。內容交換機116根據路徑QOS評估986中所確定的QOS因子來區(qū)分優(yōu)先次序。根據QOS因子,預定個數的內容交換機可以被選擇、排序并作為首選信息512被保存。在一種實施方式中,首選信息512包括優(yōu)選的10個內容交換機116。
如上所述,在另外一些實施方式中,可以對未必只是內容交換機116和源服務器108的任何內容對象源進行路徑QOS評估。在這種情況下,首選信息512可包括內容對象源、源服務器108以及內容交換機116。
首選信息512包括提供了足夠QOS的內容交換機116一覽表,其中該QOS是由從客戶計算機112角度出發(fā)進行的網絡分析所確定的。從客戶計算機112角度出發(fā)分析QOS,可以改善QOS。
在某些實施方式中,首選信息512用來形成路徑QOS評估986所要分析的內容交換機116的一個子集。例如,可以測試在同一站點存在的或者與同一提供商相關的內容交換機116(作為首選信息512中所含的內容交換機116)。因此,在后續(xù)路徑QOS評估986中,只重新評估最有可能提供足夠QOS的內容交換機116?;蛘?,路徑QOS評估986可以分析首選信息512中所含的內容交換機116以及自從上次形成首選信息512以來所加到內容交換機數據庫232中的其他內容交換機116。在這些方法中,可以利用查看者對象代理504的經驗來實現更有效的路徑QOS評估986。應當理解,上述實施方式只是說明性的,還有許多算法可用來選擇內容交換機116,以提高路徑QOS評估986的效率。例如,路徑QOS評估986的預先操作可以返回特定內容交換機116的很差的結果,該內容交換機決不再被分析,而是預定被拒絕。在某些實施方式中,這種預定拒絕可以由用戶人工完成。
可以為用戶顯示992路徑QOS評估986的結果。在某些實施方式中,顯示結果可以誘使用戶保持在客戶計算機112的桌面上一直運行查看者對象代理504應用程序,并幫助用戶在更改加權功能852以人工控制內容交換機116的選擇。在一種實施方式中,顯示功能854尤其還提供了一個區(qū)域地圖,它說明了客戶計算機112與所選擇的內容交換機116之間的一些轉發(fā)以及一些描述操作特性的統(tǒng)計。
除了在啟動980時更新首選信息512之外,還可以根據用戶請求994或根據時間間隔996來更新首選信息512。在一種實施方式中,以被設定為3600秒的時間間隔996來更新首選信息512。
除了參照圖9所述的后臺應用程序之外,查看者對象代理504還可以提供前臺操作,包括(但并不局限于此)服務于對來自內容分配系統(tǒng)100、外部源服務器118和因特網120中的內容對象的用戶請求,以及服務于電子商務請求。具體地說,查看者對象代理504可以處理如前面結合電子商務功能866所述的電子商務請求。
參照如圖10中所示的查看者對象代理請求業(yè)務1000的一種實施方式的流程圖,來描述對內容分配系統(tǒng)100、外部源服務器118和因特網120中的內容對象的訪問。參照圖10,查看者對象代理504接收到對一個內容對象的用戶請求1010。在一種實施方式中,通過內容處理程序508來訪問內容分配系統(tǒng)100。具體地說,內容處理程序508根據用戶命令發(fā)出對內容對象的請求。對內容對象的請求作為用戶請求1010被傳送到查看者對象代理504。
一旦接收到用戶請求1010,查看者對象代理504判斷內容分配系統(tǒng)訪問1020能否滿足所接收到的用戶請求1010。在一種實施方式中,可通過將用戶請求1010的源位置與已知的與內容分配系統(tǒng)100相關的源位置列表進行比較來判定。如果用戶請求1010的源位置符合與內容分配系統(tǒng)100相關的某個源位置,那么,內容分配系統(tǒng)訪問1020可滿足這一請求。相應地,執(zhí)行內容分配系統(tǒng)業(yè)務1030來滿足用戶請求1010。
在某些實施方式中,查看者對象代理504可通過將首選信息512傳送到源服務器108來執(zhí)行內容分配系統(tǒng)業(yè)務1030。利用首選信息512,源服務器108選擇能為用戶請求1010提供足夠QOS的內容交換機116或源服務器108。于是,源服務器108將所選內容交換機116或源服務器108的地址傳送到查看者對象代理504。在一種實施方式中,源服務器108動態(tài)地寫HTML,以便向查看者對象代理504提供所選內容交換機116或源服務器108的地址。接著,查看者對象代理504與所選內容交換機116或源服務器108協(xié)商兼容的壓縮、加密和安全性。在另一種實施方式中,查看者對象代理504可以利用首選信息512親自選擇內容交換機116,以提供所請求的內容對象。
查看者對象代理504通過請求所選內容交換機116或源服務器108中的內容對象來滿足用戶請求1010。當所請求的內容對象被接收到時,查看者對象代理504根據所協(xié)商的格式來提供解壓縮、解密和安全性。因此,通過將與具體客戶計算機112相關的信息傳送到源服務器108,源服務器108就可以選擇能提供足夠QOS的內容交換機116。通過從客戶計算機112角度出發(fā)進行分析和內容交換機選擇,可以實現更精細的QOS分析,從而得到更好的QOS。
如果內容分配系統(tǒng)訪問1020無法滿足用戶請求1010,那么,查看者對象代理504接下來就判斷外部源服務器訪問1040能否滿足該用戶請求1010。在一種實施方式中,可通過將用戶請求1010中所指示的域名與主服務器路由選擇520中所提供的外部源服務器118的域名進行比較來判定。如果用戶請求1010中所指示的域名符合某個外部源服務器118的域名,那么,通過執(zhí)行外部源服務器業(yè)務1050可從該符合的外部源服務器118滿足用戶請求1010。相應地,執(zhí)行外部源服務器業(yè)務1050來滿足用戶請求1010。在其他實施方式中,用戶請求1010可以包括目錄名、機器名、IP地址或者可以與主服務器路由選擇520中所含的外部源服務器的相應標識符相比較的另一標識符。
在一種實施方式中,查看者對象代理504通過訪問已知的內容交換機116來完成外部源服務器業(yè)務1050,以便提供源于所符合的外部源服務器118的內容對象。因此,查看者對象代理504將用戶請求1010從所符合的外部源服務器118重新引向該內容交換機116。這一重新引導對所符合的外部源服務器118和內容處理程序508來說都是透明的。在某些實施方式中,查看者對象代理504與所選內容交換機116協(xié)商兼容的壓縮、加密和安全性。而內容交換機116根據所協(xié)商的壓縮、加密和安全性來滿足用戶請求1010。在內容交換機116沒有所請求的內容對象的情況下,內容交換機116從所符合的外部源服務器118中請求所需的內容對象。不論哪種情況,所請求的內容對象都由內容交換機116提供給客戶計算機112。當所請求的內容對象被接收到時,查看者對象代理504根據所協(xié)商的格式來提供解壓縮、解密和安全性。因此,通過由內容交換機116來服務用戶請求1010,維護外部源服務器118的內容對象提供商不用負擔分配內容對象的任務。
在另一種實施方式中,查看者對象代理504可通過將首選信息512傳送到源服務器108來執(zhí)行外部源服務器業(yè)務1050。利用首選信息512,源服務器108選擇能為用戶請求1010提供足夠QOS的內容交換機116或源服務器108。源服務器108將所選內容交換機116或源服務器108的地址傳送到查看者對象代理504。
于是,查看者對象代理504通過從所選內容交換機116或源服務器108中請求內容對象來滿足用戶請求1010。所選內容交換機116或源服務器108從所符合的外部源服務器118中請求所需的內容對象,隨后通過向查看者對象代理504提供所請求的內容對象來滿足用戶請求1010。因此,通過提供適用于客戶計算機112的業(yè)務,可得到更好的QOS。此外,通過由內容交換機116來服務用戶請求1010,維護外部源服務器118的內容對象提供商不用負擔分配內容對象的任務。
如果外部源服務器訪問1040或內容分配系統(tǒng)訪問1020都不能滿足用戶請求1010,那么將用戶請求1010傳送到因特網120。在一種實施方式中,如參照標準web訪問功能858所述的方式來處理通過1060傳送到因特網120的用戶請求1010。
參照圖11,圖中示出了用于跟蹤源服務器108與內容交換機116之間的內容的方法的一種實施方式。盡管該圖主要說明了單個源服務器與單個內容交換機之間的交互,然而,應當理解,每個源服務器可以與許多內容交換機聯(lián)系,而每個內容交換機也可以與許多源服務器聯(lián)系。所有源服務器108與所有內容交換機116之間的交互使得系統(tǒng)600可以跟蹤內容對象片段。
該過程從內容交換機和源服務器處于離線或不能使用狀態(tài)開始。在步驟1104中,內容交換機116在開始操作后才可供使用。當第一次可供使用時,內容交換機116是空閑的,并等待客戶計算機112請求內容。當滿足了客戶計算機112的請求時,內容存儲器412使它本身填充一些內容對象或內容對象的片段。
在步驟1108中,該實施方式的源服務器108開始操作并可供使用。源服務器108向活動目錄104公布其局部內容編目,并向系統(tǒng)600中的所有內容跟蹤器404標識其自身。操作的內容交換機116的內容交換機數據庫232可供查詢使用,使得,內容管理器312得知內容跟蹤器404的地址。
每個內容交換機116都保存有已與它聯(lián)系的源服務器108的源服務器數據庫424。在源服務器108離線之前,源服務器108嘗試與所有內容交換機116聯(lián)系,以便向這些內容交換機116通報這一狀態(tài)的變更。離線的源服務器108將從源服務器數據庫424中消除。只要源服務器108未能對發(fā)送狀態(tài)的內容交換機116作出響應,該源服務器108就被認為是離線的并從源服務器數據庫424中消除。
每當內容交換機116準備離線,它就嘗試向系統(tǒng)600通報。具有一些內容對象或內容對象的片段的源服務器108得到通報,這樣,每個源服務器108中的內容交換機信息324和內容位置數據庫320可以保持最新。此外,活動目錄104也得到通報,因此,內容交換機數據庫232將準確反映系統(tǒng)600可用的內容交換機116。
在步驟1112中,步驟1108中所聯(lián)系的每個內容跟蹤器404都以狀態(tài)信息420和與內容管理器312相關的任何內容對象來響應內容管理器312。由于內容管理器312剛剛在線,因此,在內容存儲器412中不可能有發(fā)自與內容管理器312相關的內容服務器308的任何內容對象。內容管理器312將來自作出響應的各內容交換機116的狀態(tài)信息420作為內容交換機信息324來保存。在不同的實施方式中,所報告的狀態(tài)信息420可以有也可以沒有內容編目信息416。當選擇客戶計算機112到內容對象的源的路由時,該內容交換機信息324用來判斷所考慮的內容交換機的負載。各內容跟蹤器400定期地利用狀態(tài)信息來更新所有活動內容管理器312,使得內容交換機信息324是最新的。在另一種實施方式中,內容跟蹤器404可以在狀態(tài)中出現很大變化時而不是定期地提供更新的狀態(tài)信息420。
在步驟1116中,內容管理器312將客戶計算機112引向內容交換機116以滿足對內容對象的請求。在重新引導客戶計算機112之前,內容管理器312確定一個特定內容交換機是該內容對象的優(yōu)選源。如果并非整個內容對象都在優(yōu)選的內容交換機116中,那么,在步驟1120中,內容控制器408檢索失缺的內容對象片段。一旦來自內容交換機116的內容對象的開頭部分可供使用,客戶計算機112開始下載該內容對象。
內容跟蹤器404定期地或在出現變化時向所有內容管理器312報告內容存儲器412中所存儲的內容對象和/或內容對象片段。局部內容編目416存儲了內容存儲器412中所保存的內容對象和/或內容對象片段的一覽表。在步驟1124中,在步驟1120中可能補充的內容對象被回報給最初提供該內容對象的源服務器108。具有關于內容存儲器412的信息的每個源服務器108都接收來自內容跟蹤器404的報告。
稍后,在步驟1128中,將局部內容編目416中的更多的信息從內容跟蹤器404發(fā)送到內容管理器312。在步驟1132中,定時器的期滿將啟動這一報告,不過,其他實施方式還可以在出現變化時報告這一信息。根據所有內容交換機116的報告,內容管理器312將位置信息存儲在內容位置數據庫320中。內容管理器對內容位置數據庫320的將來查詢,使得可以知道哪些內容交換機116當前保持有該內容管理器312想將客戶計算機112重新引向的任何內容對象。
當狀態(tài)信息420和/或內容編目信息416的報告被發(fā)給了特定內容管理器312時,內容跟蹤器404判斷該內容管理器312是否在接受該信息。如果內容管理器接受信息,那么,處理過程返回到步驟1116,在此請求另一個內容對象。
如果內容管理器312例如已離線,那么內容跟蹤器404報告的信息不被接受??赡芤ㄟ^若干次失敗的聯(lián)系嘗試后,內容跟蹤器404才能斷定內容管理器312不能使用。在步驟1136中,探測出無響應的內容管理器312。通過對局部內容編目信息416進行查詢,可確定與這些不能使用的內容管理器312相關的任何內容對象。從內容存儲器412中消除這些相關內容對象以便為新內容對象留出空間,或者,這些內容對象被加上需要存儲空間時的刪除標記。應當注意,在上述過程中,內容跟蹤器可對動態(tài)DNS204進行查詢,以便將源服務器名轉換成IP地址。
下面參照圖12,圖中示出了用于將信息從內容管理器傳送到服務器管理器的過程的一種實施方式的流程圖。所示流程圖說明了活動目錄104與單個源服務器108之間的交互。然而,應當理解,活動目錄104可以以類似的方式與多個源服務器交互,以便拓展在服務器數據庫228中將這些源服務器編目的電子目錄。用戶利用搜索頁或目錄頁范例來查詢服務器數據庫228。
該過程從步驟1204開始,在該步驟中,內容管理器312向服務器管理器208提供狀態(tài)信息。在步驟1208中,服務器管理器208接收狀態(tài)信息并將其存儲到用戶數據庫224中。用戶數據庫224保存了關于系統(tǒng)600中當前活動的所有源服務器108的信息。
服務器管理器208控制每個源服務器108回報局部內容編目316的信息的頻度。在步驟1210中,由向內容管理器312提供回報時間間隔的服務器管理器208來控制每個源服務器報告局部內容編目316的頻率。對活動目錄104的負載或利用率進行分析,以確定更新服務器數據庫228中的信息時可采用的帶寬量。根據該負載確定情況,選擇回報時間間隔并將其傳送到內容管理器312。在一種實施方式中,回報時間間隔通常被設為兩分鐘,但如果活動目錄超載時該時間間隔可以加長。
每個源服務器108保存管理者所選擇的用于向系統(tǒng)600公布的所有內容對象的局部內容編目316。內容管理器312第一次與服務器管理器208聯(lián)系以報告局部內容編目316時,該編目316的所有項目都將被發(fā)送。在后續(xù)聯(lián)系中,只可以報告局部內容編目316的變更部分,以節(jié)省帶寬。在另外一些實施方式中,每次聯(lián)系都可以報告整個局部內容編目。在步驟1216中,服務器管理器208接收局部內容編目316或局部內容編目的變更部分,并將該信息存儲到服務器數據庫228中。即使在回報時間間隔期間,局部內容編目316沒有變化,源服務器108也與服務器管理器208聯(lián)系,使得可以知道該源服務器108仍可供使用。
服務器管理器208檢測是否有任何源服務器108可能因為該源服務器108離線或以其它方式不能使用而停止與它聯(lián)系。在步驟1220中,服務器管理器208為該源服務器108設置一個超時值。在本實施方式中,該超時值可以設為回報時間間隔的三倍,不過也可以采用其他倍數??蔀槌瑫r值設置一個計數器,用來確定計數器何時達到超時值。
如果在步驟1224中計數器達到了超時值,那么,在步驟1236中,活動目錄104消除該源服務器108的所有引用,或者為這些引用加上需要空間時的刪除標記。假定,如果計數器達到超時值之前源服務器108沒有開始聯(lián)系,那么該源服務器108不能使用。從服務器數據庫228中消除與和該源服務器108的局部內容編目316相應的項目,并從用戶數據庫224中消除該源服務器108的項目。通過從數據庫224、228中消除這些項目,與目錄或搜索頁212、216連接的任何用戶都看不到與和該源服務器108相關的內容對象的鏈接。此外,與局部內容目錄316相應的項目可以在計數器達到超時值后被加上刪除標記。當其他內容對象需要空間時,加有刪除標記的內容對象可以被改寫。
如果如步驟1228中所確定,源服務器108進行了聯(lián)系,那么活動目錄104知道源服務器108運轉正常。該聯(lián)系導致了存儲有超時值的計數器的復位。處理過程返回到步驟1210,在此,更新服務器數據庫228并確定新的回報時間間隔。該過程不斷循環(huán),直到源服務器108在存儲有超時值的計數器期滿之前未能報告為止。
參照圖13,圖中示出了用于由內容管理器312向服務器管理器208公布信息的過程的流程圖的一種實施方式。源服務器的管理者從活動目錄104的下載頁220中下載軟件。該軟件被安裝在源服務器108中。這里,內容對象以靜態(tài)形式或流動形式在內容服務器308上可用。所述過程從步驟1304開始,在該步驟中,源服務器開始操作,以準備內容對象和安裝軟件。
在1308中,管理者完成人工選擇過程,以選擇內容對象。在這一過程中,可以只將內容服務器308中的內容對象的一個子集用于系統(tǒng)600。所選擇的內容對象被送入到局部內容編目316中。
當第一次與活動目錄104聯(lián)系時,在步驟1308和1312中,內容管理器312將關于源服務器108的信息傳送到服務器管理器208,以便進入用戶數據庫224。如果這是內容管理器312第一次與活動目錄104聯(lián)系,那么,管理者可能提供所傳送的某些信息。管理者所補充的信息被保存并被提供有與用戶數據庫224的后續(xù)聯(lián)系。
在步驟1316中,內容管理器312與服務器管理器208聯(lián)系,以公布局部內容編目316中的信息。在步驟1320中,服務器管理器208獲得局部內容編目316并在服務器數據庫228中為每個內容對象都形成一個項目。在表示呈現給搜索內容的用戶的目錄和搜索頁212、216時,可以使用服務器數據庫228的這些內容。
服務器管理器208控制所有源服務器108報告其局部內容編目316的頻率。如果服務器管理器208超載,那么,給予內容管理器312的回報時長可以加長。服務器管理器208還可以請求內容管理器312在檢測到局部內容編目316的變化時進行回報。在本實施方式中,回報時長即間隔時間為兩分鐘,并在步驟1324中被提供給內容管理器312。
在向服務器管理器208回報之前,內容管理器312在步驟1328中等待間隔時間期滿。一旦定時器期滿,便掃描內容服務器308中的內容對象,以判斷是否應對局部內容編目316進行變更。一旦在步驟1332中作了變更,處理過程就返回到步驟1316,在此,再次向服務器數據庫228公布局部內容編目316。在第一次聯(lián)系時,在步驟1316中可提供整個局部內容編目,而在后續(xù)聯(lián)系中,只可以提供變更部分來更新信息,以減小信息的長度。
下面參照圖14,圖中示出了內容交換機116的一種實施方式的框圖,它示出了多個通過不同的端口1408連接的提供商。三條數據通路1404邏輯上由內容交換機116的網際協(xié)議端口1408隔開。這些端口1408用來多路分離這些邏輯數據通路1408,盡管它們可能在物理上共享共同的管道。利用多個端口1408,可以調節(jié)與這些端口1408相關的業(yè)務量。
例如,內容交換機116可用來提供外部源服務器118的內容對象。外部源服務器的管理者可能希望將業(yè)務量分配給三個帶寬提供商。端口A 1408-A可以與提供商A相關聯(lián),端口B1408-B可以與提供商B相關聯(lián),而端口C1408-C可以與提供商C相關聯(lián)。內容交換機可以監(jiān)測任一這些端口的活動性,并向提供商報告這一信息,使得提供商可以適當地給載送了帶寬的外部源服務器118開帳單。
客戶計算機112的請求可以根據外部源服務器118所確定的方案被分配給端口1408,以便在提供商之間分配帶寬。在一種實施方式中,各客戶計算機112根據加權功能循環(huán)地通過三個端口1408。在另一種實施方式中,各客戶計算機被分配使用不同的端口1408。在還有一種實施方式中,確定各端口1408的QOS將影響對客戶計算機112使用的端口1408的選擇。利用這些技術,系統(tǒng)600中的客戶計算機112可以影響從各提供商購買的帶寬量。
參照圖15,圖中示出了內容交換機116的另一種實施方式的框圖,它示出了多個通過不同的地址1508連接的提供商。在本實施方式中,三個IP地址1508用來邏輯上相互區(qū)分三個數據通路1504。盡管邏輯數據通路主要被預計用來按提供商分離帶寬,然而,邏輯數據通路還可以分離安全等級、內容對象的子集等等。
下面參照圖16,圖中示出了提供商1604和內容交換機116的分組的一種實施方式的分級表示。在本實施方式中,有兩個帶寬提供商1604。每個提供商1604除了各自的站點1608-1、1608-3外還有一個共享站點1608-2。站點1608是裝有一個或多個服務器1612的物理位置,并且與可能含有多個服務器1612的單一內容交換機116相應。
共享站點1608-2中的各服務器1612-3具有共享該站點1608-2的各提供商1604的各自的IP地址1616-3、1616-4。這兩個IP地址1616-3、1616-4使得可以邏輯分離發(fā)向給定共享站點1602-2的業(yè)務量。邏輯分離使得可以把內容對象請求和為這些請求服務的帶寬歸于各個提供商1604,盡管所有業(yè)務量有時可能共享同一物理管道。某些實施方式通過對IP地址1616進行過濾,可以保持與各提供商相關的業(yè)務量在物理上分離。在這種情況下,可以在提供商1604之間分配帶寬。
下面參照圖17,圖中示出了提供商和內容交換機的分組的另一種實施方式的分級表示。在本實施方式中,端口1716用來區(qū)別到服務器1612的邏輯數據通路。在服務于多個提供商1604的站點1608-2中,端口11716-3與提供商11604-1相關聯(lián),而端口21716-4與提供商21604-2相關聯(lián)。在某些實施方式中,各提供商可具有與其相關聯(lián)的一系列端口而不是所有服務器上的單一通用端口。
此外,內容對象提供商還具備能提供足夠QOS的被管理內容分配系統(tǒng)。由于內容對象從傳送節(jié)點(比如內容交換機116)來提供,因此,內容對象到請求者(比如客戶計算機)的傳送對內容對象提供商而言是透明的。內容對象提供商只需要使外部源服務器與內容分配系統(tǒng)相關聯(lián)。因此,內容對象提供商不必采用不可預見且高代價的方案來分配內容對象,而只需與內容分配系統(tǒng)100相關聯(lián)。這種關聯(lián)使得可有效地訪問內容對象提供商所提供的內容對象。本發(fā)明的分配方面的優(yōu)點對無力承擔與改進分配相關的費用的小內容對象提供商來說尤其重要。
再者,這種為內容對象提供商提供分配能力的方法不要求內容對象提供商提供外部源服務器中的內容管理器功能。確切地說,內容對象提供商可得益于在內容分配系統(tǒng)中其它地方的任何內容管理器。
另外,還可以采用本發(fā)明的一些變形和修改方式。例如,某些實施方式可以隨著從其他內容交換機和/或內容對象服務器中檢索來自一個內容對象存儲器的內容對象的其余部分,而開始對該內容對象的開頭部分進行假脫機操作。
盡管本發(fā)明參照其特定的一些實施方式進行了描述,然而,這些實施方式只是為了說明而并不是限定本發(fā)明,本發(fā)明的范圍只能由附屬權利要求書來確定。
權利要求
1.一種用于促進通過內容分配系統(tǒng)將內容對象從內容對象源分配給客戶計算機的方法,該方法包括使第一內容對象源與第一傳送節(jié)點相關聯(lián);向客戶計算機指示第一內容對象源和第一傳送節(jié)點;向客戶計算機提供一個內容對象請求,該內容對象請求指示所請求的內容對象源;由傳送節(jié)點來滿足內容對象請求,其中(1)所請求的內容對象源與相關聯(lián)的內容對象源相同,和(2)由此對所請求的內容對象源透明地滿足這一內容對象請求。
2.如權利要求1所述的用于促進通過內容分配系統(tǒng)將內容對象從內容對象源分配給客戶計算機的方法,該方法還包括將所請求的內容對象源與相關聯(lián)的內容對象源進行比較,以確定它們是否是同一內容對象源。
3.如權利要求1所述的用于促進通過內容分配系統(tǒng)將內容對象從內容對象源分配給客戶計算機的方法,其中滿足內容對象請求包括由傳送節(jié)點向內容對象源進行請求。
4.如權利要求1所述的用于促進通過內容分配系統(tǒng)將內容對象從內容對象源分配給客戶計算機的方法,其中向客戶計算機指示相關聯(lián)的內容對象源和傳送節(jié)點包括指示內容對象源的域名。
5.如權利要求1所述的用于促進通過內容分配系統(tǒng)將內容對象從內容對象源分配給客戶計算機的方法,其中向客戶計算機指示相關聯(lián)的內容對象源和傳送節(jié)點包括指示內容對象源的IP地址。
6.如權利要求1所述的用于促進通過內容分配系統(tǒng)將內容對象從內容對象源分配給客戶計算機的方法,其中向客戶計算機指示相關聯(lián)的內容對象源和傳送節(jié)點包括指示內容對象源的目錄名。
7.如權利要求1所述的用于促進通過內容分配系統(tǒng)將內容對象從內容對象源分配給客戶計算機的方法,其中向客戶計算機指示相關聯(lián)的內容對象源和傳送節(jié)點是根據客戶計算機請求進行的。
8.如權利要求1所述的用于促進通過內容分配系統(tǒng)將內容對象從內容對象源分配給客戶計算機的方法,其中使內容對象源與傳送節(jié)點相關聯(lián)包括保留傳送節(jié)點和相關聯(lián)的內容對象源的列表。
9.一種在內容分配系統(tǒng)中自動地將所請求的內容對象分配給客戶計算機的方法,該方法包括向客戶計算機提供一個內容對象請求,該請求標識所請求的內容對象源;向客戶計算機提供一個標識符,該標識符標識傳送節(jié)點;確定傳送節(jié)點是否與所請求的內容對象源相關聯(lián);和通過訪問傳送節(jié)點來滿足內容對象請求。
10.如權利要求9所述的在內容分配系統(tǒng)中自動地將所請求的內容對象分配給客戶計算機的方法,其中,向客戶計算機提供標識符還包括向客戶計算機提供多個標識符。
11.如權利要求10所述的在內容分配系統(tǒng)中自動地將所請求的內容對象分配給客戶計算機的方法,其中,多個標識符包括多個內容對象源的域名。
12.如權利要求10所述的在內容分配系統(tǒng)中自動地將所請求的內容對象分配給客戶計算機的方法,其中,多個標識符包括多個內容對象源的IP地址。
13.如權利要求10所述的在內容分配系統(tǒng)中自動地將所請求的內容對象分配給客戶計算機的方法,其中,多個標識符包括多個內容對象源的域名。
14.如權利要求10所述的在內容分配系統(tǒng)中自動地將所請求的內容對象分配給客戶計算機的方法,其中確定傳送節(jié)點是否與內容對象源相關聯(lián)是通過檢查多個標識符以確定多個標識符之一是否符合所請求的內容對象源來完成的。
15.一種對內容對象源而言是透明的由客戶計算機訪問內容對象源中的內容對象的方法,該方法包括接收一個內容對象請求,該內容對象請求標識所請求的內容對象源;向客戶計算機提供一個標識符,該標識符標識傳送節(jié)點和相關聯(lián)的內容對象源;將相關聯(lián)的內容對象源與所請求的內容對象源進行比較;和通過訪問傳送節(jié)點來滿足內容對象請求。
16.如權利要求15所述的對內容對象源而言是透明的由客戶計算機訪問內容對象源中的內容對象的方法,其中,向客戶計算機提供標識符是根據客戶計算機請求進行的。
17.如權利要求16所述的對內容對象源而言是透明的由客戶計算機訪問內容對象源中的內容對象的方法,其中,滿足內容對象請求包括由傳送節(jié)點向所請求的內容對象源進行請求。
18.如權利要求17所述的對內容對象源而言是透明的由客戶計算機訪問內容對象源中的內容對象的方法,其中,向客戶計算機提供標識符包括提供相關聯(lián)的內容對象源的域名。
19.如權利要求17所述的對內容對象源而言是透明的由客戶計算機訪問內容對象源中的內容對象的方法,其中,傳送節(jié)點存儲內容對象。
20.如權利要求17所述的對內容對象源而言是透明的由客戶計算機訪問內容對象源中的內容對象的方法,其中,向客戶計算機提供標識符包括提供相關聯(lián)的內容對象源的目錄名。
21.如權利要求17所述的對內容對象源而言是透明的由客戶計算機訪問內容對象源中的內容對象的方法,其中,向客戶計算機提供標識符包括提供相關聯(lián)的內容對象源的IP地址。
全文摘要
一種用于促進通過內容分配系統(tǒng)將內容從內容源分配給客戶計算機的方法。該方法包括使在內容分配系統(tǒng)之外的內容源與在內容分配系統(tǒng)之內的傳送節(jié)點相關聯(lián)。將內容源與傳送節(jié)點之間的聯(lián)系指示給客戶計算機。當客戶計算機接收到對內容源中的內容的請求時,將這一請求重新引向相關聯(lián)的傳送節(jié)點。因此,相關聯(lián)的傳送節(jié)點可以滿足這一請求。
文檔編號G06F13/00GK1446426SQ01813355
公開日2003年10月1日 申請日期2001年6月1日 優(yōu)先權日2000年6月1日
發(fā)明者內森·F·拉希博斯基, 馬克·R·湯普森 申請人:奧羅卡斯特·Com公司