專利名稱:用于網絡尋址的系統(tǒng)的制作方法
技術領域:
本發(fā)明一般涉及用于提供因特網上所用的地址的系統(tǒng)。本發(fā)明尤其涉及用于構成地址信息以便提供所關心對象的多個源的方法。
背景技術:
對諸如web頁、所下載的文檔和所流動的電影文件等對象進行尋址的傳統(tǒng)方式采用了靜態(tài)格式或在其中地址格式只指示對象的單個位置的協(xié)議。因此,查找對象的位置取決于對象仍在靜態(tài)格式所指定的地址上。然而,通常,尤其在因特網的情況下,對象只在特定地址駐留一段時間。這段時間過后,該對象可能從該特定地址消除。因此,試圖在該地址處查找對象的人常常接收到一則指示該地址不再可訪問或者該對象不能使用的差錯消息。
此外,這種地址指示對象的單個位置。然而,對象的信息或內容可以駐留在多個地方,尤其在因特網上,對象(例如電影文件)可以駐留在多個服務器中。因此,由于用于對對象進行尋址的靜態(tài)格式只允許對位于這些多個位置之一處的對象進行尋址,因此,當對象從所尋址的地方消除時,用戶不再能利用所給地址來訪問該對象。
發(fā)明內容
在本發(fā)明的一種實施方式中,將利用含有協(xié)議標識符的地址以及端口標識符。該地址和端口標識符一起用來形成單個地址串。
在本發(fā)明的另一種實施方式中,提供了一種數據結構。這種數據結構提供了協(xié)議標識符字段、IP標識符字段、服務器標識符字段、服務器端口字段和文件標識字段。
在本發(fā)明的還有一種實施方式中,請求者提供一種作為地址的一部分的端口標識符,將該地址發(fā)送到一個中間設備,中間設備將端口標識符發(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是說明實現(xiàn)本發(fā)明的一種實施方式的方法的流程圖。
圖9是說明實現(xiàn)本發(fā)明的另一種實施方式的方法的流程圖。
圖10是說明一種實現(xiàn)本發(fā)明的實施方式的格式的方法的流程圖。
圖11是說明實現(xiàn)本發(fā)明的一種實施方式的方法的流程圖。
圖12a和12b是說明實現(xiàn)本發(fā)明的一種實施方式的方法的流程圖。
圖13是說明將第一地址與第二地址相結合以形成第三地址的圖解。
圖14示出了一種在請求者與提供商之間利用相同數據通路來請求數據和提供數據的系統(tǒng)。
圖15示出了本發(fā)明的提供一些端口標識符的一種實施方式,這些端口標識符使得在請求和發(fā)送數據時可以使用交替的數據通路。
圖16示出了本發(fā)明的提供一種包括元數據的數據結構的一種實施方式。
圖17示出了圖16中所示的數據結構的一個例子。
圖18示出了實現(xiàn)本發(fā)明的一種實施方式的方法。
圖19a和19b示出實現(xiàn)本發(fā)明的一種實施方式的方法。
具體實施例方式
本發(fā)明提供了一種用于實現(xiàn)尋址方案的系統(tǒng),該方案提供了一種對網絡上的對象進行尋址的動態(tài)方法。在一種實施方式中,本方法提供了第一地址,該地址與關于對象的元數據相結合以便形成也能對同一對象進行尋址的第三地址。本發(fā)明適合于在多種設置中實現(xiàn)。一種這樣的設置是在因特網上的視頻內容的傳送。因此,為了為一種設置提供本發(fā)明的實現(xiàn)方式,首先將描述一種能使用本發(fā)明的各種實施方式的系統(tǒng)。然后,詳述該尋址系統(tǒng)。
參照圖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ā)現(xiàn)所請求的內容對象或所請求的內容對象的片段時,將內容交換機116的請求轉向其他內容交換機來請求該內容對象。如果其他內容交換機116也沒有該內容對象,那么查詢活動目錄104,以得到是該內容對象的源的源服務器108,然后從那里下載該內容對象。當內容交換機116在搜集該內容對象的同時,客戶計算機112接收可用的開頭片段。內容對象可以被分片存儲在若干個內容交換機116中,然后進行請求的內容交換機116將檢索這些片段,以便按客戶計算機112的要求重新匯集整個內容對象。
在某些實施方式中,當要從內容交換機116中請求內容對象的用戶沒有發(fā)現(xiàn)所請求的內容對象或所請求的內容對象的片段時,可由內容交換機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的一種實施方式的框圖?;顒幽夸?04中包含有一個動態(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可以適當地呈現(xiàn)該內容。按照站點、目錄或文件,管理者可以在與內容對象相關的HTML SSI標記中選擇內容對象的編目。這種分類得到后被存儲在活動目錄中,使得可以在不同的編目中呈現(xiàn)內容對象。另外,緩和器(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)被更新為在線,那么信息再一次呈現(xiàn)給正在搜索內容對象的用戶。在某些情況下,源服務器108可以向活動目錄104表明它將離線一段時間。假定這段時間短暫,那么,活動目錄可以將信息保留在服務器數據庫228中,而不向用戶呈現(xiàn)。
系統(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。客戶計算機112利用來自路由選擇數據庫的信息將用戶對外部源服務器118的請求重新轉向內容交換機116。在內容交換機116填充了來自外部源服務器118的內容對象后,帶寬從外部源服務器118卸載到內容交換機116。用戶可以向該內容交換機的擁有者和/或源服務器的管理者支付這一增強型業(yè)務的費用。
動態(tài)DNS 204為源服務器108的每個IP地址提供源服務器名。源服務器名唯一地標識了因特網120上的源服務器108。這一信息被保存在用戶數據庫224中。內容交換機116不知道為該內容交換機116提供內容對象的源服務器108的IP地址,但知道源服務器名稱。當內容交換機116想將無法從其他內容交換機116得到的內容對象或內容對象的片段填充到其高速緩存器時,查詢動態(tài)DNS 204,以確定是該內容對象的源的源服務器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中的出現(xiàn)會影響路由選擇決定。
內容交換機信息存儲器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訪問內容對象?;顒幽夸浬系膚eb頁提供一個界面,以便將關于客戶計算機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)DNS 204查詢這一信息。給定源服務器名,動態(tài)DNS 204可以提供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)DNS 204來確定與各內容對象的源服務器名相應的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的一種實施方式的框圖。客戶計算機112與因特網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的連接。客戶計算機112與目錄和搜索頁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)DNS 204將內容控制器408引向具有該內容對象的源服務器108。在步驟776中,從該源服務器108的內容服務器308中下載該失缺片段。處理過程返回到步驟748,以檢索任何其他的失缺片段。
這一搜尋片段的過程以迭代方式繼續(xù)進行,直到所有失缺片段都被拷貝到內容存儲器412中。盡管這一實施方式依次檢索這些失缺片段,然而其他實施方式可以判斷這些失缺片段的位置,并且并行地、按任何次序或按找到的次序對它們進行檢索。
尋址系統(tǒng)本發(fā)明的一種實施方式提供了一種多地址系統(tǒng),它可用來與指示對象的位置的地址一同提供有關對象的附加信息。附加信息的一種可能性是原地址所指示的對象的另一備選位置。因此,將關于該對象的信息與原地址相結合可以為對象的尋址提供一種描述方式。
下面參照圖8,圖中示出了實現(xiàn)本發(fā)明的一種實施方式的一種方法。在方法800中,在810中為對象提供第一地址。除了提供第一地址之外,在812中還提供了描述該對象的特性的元數據。元數據用來表示除對象的第一地址外的信息,該信息描述了利用第一地址所尋址的對象的特性。因此,元數據可以表示利用第一地址所尋址的對象的另一備選位置或地址。此外,這種另一備選地址可以是原地址或發(fā)出對象的源。此外,元數據還可以表示描述關于所尋址的對象的其他特性的信息。此外,這種元數據未必局限于單種特性,而可以包括多種不同的特性。在814中,將元數據的至少一部分附加到原地址的至少一部分中。因此,在816中,可以利用標識對象的元數據。此外,在820中,如上所述,該元數據可以指示對象的源。
在圖9中,示出了本發(fā)明的另一種實施方式。在方法900中,在904中接收對象的地址。在908中,重新構成地址,以便形成可以標識對象的新地址。在重新構成地址時,利用原地址的至少一部分并且還利用關于對象的元數據來形成重新構成的地址。元數據可以指示對象的源。此外,元數據還可以指示對象的信息內容的另一備選源。此外,元數據還可以包括關于對象的另一備選信息。
在圖8和9中,可以以各種方式來實現(xiàn)新地址的格式化。圖10說明了如何構成這種新地址的一個例子。在圖10中,方法1000說明了這種格式。在1004中,提供協(xié)議標識符作為新地址的一部分。在上述實施方式中,協(xié)議可以采取實時流式傳送協(xié)議(RTSP)的形式(一種用于以分組形式通過IP流出實時多媒體的標準)。普通技術人員還可以理解其他備選協(xié)議,比如超文本傳送協(xié)議(HTTP)(用于傳送通過因特網傳送超文本文檔的傳送協(xié)議)。此外,還可以實現(xiàn)其他備選協(xié)議,可以是現(xiàn)有的協(xié)議或是將來出現(xiàn)的協(xié)議。在1008中,還可以提供域名作為新地址的一部分。例如,這種域名可以是目前作為因特網上目前所實現(xiàn)的一般頂級域名(TLD)的那些域名之一。此外,在1012中,還可以為對象提供目錄名作為新地址的一部分。目錄名可以是服務于上述域名的服務器中的目錄。此外,在1016中,還可以提供對象的文件名作為新地址的一部分。最后,元數據信息可以與地址的前述單元一起結合成單個地址。因此,通過將地址的各種單元排成預定的格式,當地址被實現(xiàn)成標準的統(tǒng)一資源定位器(URL)地址時,就可以不考慮元數據;而當新地址被實現(xiàn)成一個動態(tài)地址時要利用元數據。
在圖11中,方法1100說明了本發(fā)明的又一種實施方式。在圖11中,在1104中,提供表示對象曾經所在的第一地址。因此,對象可以仍在該第一地址,或者,對象可以不再駐留在該地址。在因特網中經常出現(xiàn)這樣的情況,因為,在漫長的一段時間后,當大多數用戶不再對該對象感興趣時,將從服務器中消除該對象。因此,用戶常常接收到指示查不到對象或者查不到所尋址的對象的差錯消息。在1108中,提供表示對象的副本的至少一個片段所在的第二地址。因此,該第二地址可以指示發(fā)起該內容的源。此外,該第二地址還可以指示對象或對象信息的片段所存儲在的另一備選位置。在1112中,將來自第一地址的信息與來自第二地址的信息相結合來形成第三地址。將第三地址格式化,使得它不僅可以指示對象曾經所在的第一地址而且可以指示對象的副本的至少一個片段所在的第二地址。第三地址可以用來嘗試從第一地址中檢索對象。此外,第三地址還可以用來嘗試從第二地址中檢索對象信息。因此,若有了已從該第一地址消除了對象的事實,則當嘗試從第一地址中檢索對象時會失敗。然后,利用第三地址進行第二嘗試,以便轉到第二地址所指示的位置來嘗試查找對象??赡艹霈F(xiàn)這樣的情況,對象信息分布在一個以上位置,在這種情況下,對象或僅對象信息的一個片段可以從第二地址中檢索。
在圖12A和12B中,方法1200示出了一種說明本發(fā)明的另一種實施方式的流程圖。在方法1200中,在1204中,接收表示對象的傳說位置的第一地址。接收表示對象的副本位置的第二地址,該對象由此發(fā)出。通過查閱對象的副本或拷貝,想使對象和副本含有相同的信息。有可能對象實際上是副本的拷貝。因此,副本可以是對象的源。此外,普通技術人員可以理解,對象可以是一個單元的信息或是一組媒體數據,比如電影。
在1212中,將來自第一地址的信息與來自第二地址的信息相結合以便形成第三地址。在1216中,形成第三地址,使得第三地址既可標識第一地址又可標識第二地址。在1220中,可以按統(tǒng)一資源定位器(URL)格式將第三地址的一部分格式化。當第三地址被格式化后,在1224中,可以接收來自請求設備(比如通過因特網請求電影的用戶)的對象請求。在1228中,利用第三地址,可以嘗試訪問第一地址處的對象。于是,用戶可以將第三地址發(fā)送到一個服務器,該服務器知道第三地址的格式是一種標識了所需對象的一個以上可能地址的格式。于是,服務器進行第一嘗試,以便從嵌入在第三地址中的第一地址中檢索對象。如果這一嘗試失敗,那么,在1232中,服務器利用嵌入在第三地址中的第二地址可以動態(tài)地嘗試訪問第二地址處的對象的副本。因此,第三地址中所嵌套的第二地址作為所需對象的后備源。此外,如果整個對象沒有存儲在第二地址中,那么,第二地址可以用來提供對象的片段或者提供通向對象信息的另一備選源的鏈接。一旦定位到對象,例如在第二地址處,在1236中,就可以獲得第二地址處的對象的副本信息。然后,在1240中,通過服務器將信息返回給請求該對象的用戶。此外,在1244中,對象的副本被傳送給原地址(即第一地址),并在將來被拷貝到這一位置,以便更有效地傳送。
圖13是說明將第一地址與第二地址相結合以形成動態(tài)第三地址的一個例子。在圖13中,第一地址表示為RTSP//server1.aerocast.com/foo.mov。這是靜態(tài)尋址方案中的標準URL格式。同樣,第二地址表示為1308中所示的這種格式RTSP//server2.aerocast.com/foo.mov。第一和第二地址都是靜態(tài)的,因為,它只能為用戶標識出文件“foo.mov”的單個位置。在這種格式中,沒有提供另一備選位置也沒有提供描述foo.mov文件的特性的元數據。然而,第三地址指示了一種動態(tài)格式,在該格式中指示了兩個位置。于是,如1312塊所示,第一和第二地址被結合成第三地址RTSP//server1.server2.aerocast.com/foo.mov。因此,接收多地址系統(tǒng)中的這種地址的服務器可以知道server 1是在域aerocast.com中可被訪問的第一服務器,以便嘗試訪問文件foo.mov。然而,如果這種嘗試失敗,那么,foo.mov文件的另一備選源將在aeroeast.com域的server 2中。因此,foo.mov文件的另一備選位置由元數據“server 2”來提供。
圖1至圖7a和7b中所示的系統(tǒng)可以利用這種多地址系統(tǒng)。例如,在圖2中,示為動態(tài)DNS 204的塊可用來提供動態(tài)功能,用于對系統(tǒng)的其他單元所需的各種媒體標題進行尋址。如圖6中所示,動態(tài)域名系統(tǒng)(DNS)可以得到電影源,并將該電影源與被認為是電影的當前地址的一個地址相結合,然后將這兩個地址合成為單個的第三地址。因此,當用戶需要某部電影時,進行第一嘗試,以便從嵌入在動態(tài)第三地址中的第一地址中得到該電影。如果嘗試失敗,那么,第三地址將指示應當按所嵌入的第二地址所表示的那樣訪問電影的原始源。因此,動態(tài)DNS可以作為兼有文件的當前位置(或被認為是當前位置的一個地址)和文件的原始源的一個數據庫。
再者,這種多地址系統(tǒng)只需忽略嵌入了第二地址的字段就可以用于標準的靜態(tài)尋址系統(tǒng)。因此,通過按標準的URL格式將地址格式化,并使第二地址處在會被URL格式所忽略的位置,那么,本質上可以使第二地址對URL尋址系統(tǒng)透明。
端口尋址作為地址中可含的元數據的另一個例子,也可以在地址串中包括端口標識符。端口可以標識處理基于給定協(xié)議的消息的應用程序。例如,當采用超文本傳送協(xié)議(HTTP)時,它與“端口80”相關聯(lián)。因此,默認情況下,當請求設備發(fā)送以“http//”開頭的地址時,接收設備將該地址信息傳送到與其端口80相關的應用(即處理HTTP的應用)中。同樣,當接收設備響應請求設備時,它根據http協(xié)議將其響應格式化。圖14示出了這種系統(tǒng)的一個例子。
在圖14中,請求者1410向中間設備1450發(fā)送一個地址。然后,這種中間設備(比如高速緩存服務器或路由器)確定它需要向另一個能提供必要數據的設備(例如提供商1490)請求所需信息。本例中,請求者1410在對中間設備1450進行尋址時采用了HTTP協(xié)議,而中間設備1450在對提供商1490進行尋址時采用了RTSP協(xié)議。根據來自中間設備1450的對必要數據的請求,提供商1490以其被尋址時的相同協(xié)議來響應。因此,在本例中,提供商1490根據RTSP協(xié)議來響應。因此,中間設備識別地址中的RTSP標題,并將它發(fā)送到應用程序所指定的端口3080中。然后,中間設備以HTTP協(xié)議將這一信息發(fā)送到請求者1410,因為該協(xié)議是請求者1410當初在對中間設備1450進行尋址時所用的協(xié)議。因此,只要使用相同的設備鏈,這種系統(tǒng)在發(fā)送數據時能夠保持正確的協(xié)議。然而,在將所請求的數據返回到請求者時,如果使用了不同的數據通路,那么就會出現(xiàn)問題。也就是說,如果提供商1490試圖通過網絡直接響應請求者1410,那么,提供商1490會根據默認以RTSP格式將響應格式化。因此,這種響應將被引向請求者的端口3080。然而,請求者1410希望在與HTTP協(xié)議相關的端口80上接收數據。因此,當嘗試直接連接時,所請求的數據不可能很好地與請求設備進行通信。
在圖15中,圖中示出了本發(fā)明的一種實施方式,它允許使用不同的數據通路。在圖15中,請求者1510對中間設備1550進行尋址。作為地址串的一部分,請求者采用了第一協(xié)議(在圖15中用“協(xié)議ID#1”表示)。此外,請求者使端口標識符(用“端口ID#1”表示)包含在圖15中的地址串中。例如,請求者可以采用HTTP作為協(xié)議標識符和用端口80作為端口標識符。然后,中間設備對請求進行處理并向提供商設備1590發(fā)送一個地址。在發(fā)送這一地址時,中間設備將格式變成圖15中的地址串中的第二協(xié)議(用協(xié)議ID#2表示)。然而,中間設備使端口標識符#1成為地址串的一部分。因此,例如,中間設備1550在地址串中可以采用RTSP作為第二協(xié)議和用端口80作為元數據。因此,提供商知道用于將其響應直接尋址到請求者1510的協(xié)議。這用從提供商1590到請求者1510的連線來表示。本例中,這種地址可以采用HTTP,這是因為,HTTP是被發(fā)送到提供商設備1590的與端口80相關的協(xié)議。因此,圖15說明了一種能夠作為地址串的一部分發(fā)送端口信息的系統(tǒng)。同樣,它說明了一種從返回數據通路中撇開中間設備的方法。
圖16示出了本發(fā)明的提供一種元數據地址的數據結構的一種實施方式。在圖16中,示出了地址串1600。該地址串包括協(xié)議標識符字段1610、網絡設備標識符字段1620、元數據字段1630和文件名字段1640。在圖17中,示出了用于TCP/IP格式的地址的一個例子。圖17中所示的地址表示一種采用HTTP作為協(xié)議的地址。網絡設備標識符用網際協(xié)議(IP)地址“204.162.80.181”表示。本例中的元數據字段用“PCN_000.80”表示?!癙CN_000”可以代表標題信息和備用服務器標識符?!?0”是一例端口標識符?!癋OO.DAT”是從IP地址“204.162.80.181”中請求的文件名的一個例子。因此,圖17中所示的例子表示一種提供了由服務器ID和端口ID構成的元數據的地址。如上所述,可以只選擇包括服務器ID作為元數據的一部分。同樣,可以只含端口ID作為元數據的一部分。
圖18示出了實現(xiàn)本發(fā)明的一種實施方式的方法1800。在圖18的塊1810中,提供一種含有協(xié)議標識符的地址。在塊1820中,還提供一個端口標識符。在塊1830中,使端口標識符和該地址串成為同一地址串的一部分。
在圖19a和19b中,在流程圖1900中示出本發(fā)明的另一種實施方式。在塊1910中,提供一個服務器。在塊1914中,提供一個協(xié)議標識符,比如HTTP、RTSP、FTP、SMTP或Telnet。協(xié)議標識符可以被認為是標識與對象一起使用的協(xié)議的地址的一部分,比如,HTTP、RTSP、NNTP、FTP、SHOUT、RTP、ACTP和SHTP。盡管這些都是一些現(xiàn)有協(xié)議的例子,然而,將來還有可能開發(fā)出其他協(xié)議。在塊1918中所示,還提供網絡設備標識符,以標識諸如所尋址的服務器的設備。網絡地址標識符是一個標識所尋址的網絡中的設備的地址。這種地址可以呈數字形式或文字形式。例如,基于網際協(xié)議(IP),比如IP版本4(IPv4),該地址可以采取4個用句點分隔的數字的形式,比如“128.46.73.208”。此外,通過使用查閱表,可以將這種地址變換成文字形式,使輸入地址的人便于記憶,比如“www.aerocast.com”。這種尋址系統(tǒng)僅僅只是選擇的問題。然而,為了便于描述本發(fā)明的這種實施方式,將采用IPv4系統(tǒng)。不過,應當理解,這一實施方式并不局限于該特定版本。作為另一個例子,這種網絡設備標識符可以是網際協(xié)議地址,比如“204.162.80.181”,或者是因特網的域名系統(tǒng)中的一個等同名稱,比如“AEROCAST.COM”。
在塊1922中,提供服務器標識符。這種服務器標識符可用來標識提供數據的后備源或原請求設備的身分的服務器。塊1926中,提供端口標識符。如上所述,這種端口標識符可以標識應將數據發(fā)送到設備的那個端口。端口標識符的例子是來自“眾所周知的”端口標識符表中的那些標識符,比如,用于HTTP的“80”,用于Telnet的“23”,用于SMTP(電子郵件)的“25”,和用于FTP的“21”。在塊1930中,提供文件標識符。
在塊1934中,將協(xié)議標識符、網絡設備標識符、服務器標識符、端口標識符和文件標識符結合在一起。此外,如塊1938中所示,可將這些字段組成一個地址,使得端口標識符與其他元數據(服務器標識符)排列在一起。
在塊1942中,將該地址從服務器發(fā)送到中間設備。在塊1946中,在中間設備處接收請求。在塊1950中,將該請求從中間設備發(fā)送到數據內容提供商。這些傳輸中的任一個都可以涉及與其他中間設備的多個鏈接。在塊1954中,在內容提供商處接收對數據的請求,在此可以得到數據,如塊1958中所示。最后,在塊1962中,可利用端口標識符將數據或其他消息發(fā)送到根據端口標識符字段的服務器的端口。
盡管本發(fā)明的各種實施方式被描述成一些實現(xiàn)本發(fā)明的方法或裝置,然而,應當理解,本發(fā)明還可以通過與計算機相結合的代碼(比如駐留在計算機中的或計算機可訪問的代碼)來實現(xiàn)。例如,可以用軟件和數據庫來實現(xiàn)上述許多方法。因此,除了用硬件來實現(xiàn)本發(fā)明的實施方式之外,還應注意,可以通過使用一種含有計算機可用媒體(其中包含有計算機可讀程序碼)的產品來實現(xiàn)這些實施方式,這種產品使得可以實現(xiàn)以上描述中所揭示的功能。因此,還要求在計算機程序碼的方式中也要考慮上述實施方式受本專利的保護。
還應注意,本發(fā)明的實施方式可以被實現(xiàn)成載波中所含的計算機信號以及通過傳輸媒體所傳播的電信號。因此,上述各種信息可以按某種結構(比如數據結構)被格式化,并作為電信號通過傳輸媒體被傳送。
還應注意,這里所述的許多結構和動作可以分別描述成實現(xiàn)功能的裝置或實現(xiàn)功能的步驟。因此,應當理解,這種語言可以涵蓋說明書中所述的所有這些結構或動作及其同等物(包括作為參考的內容)。
應當明白,從說明書中可以理解本發(fā)明的實施方式的裝置和方法以及許多附加優(yōu)點,并且,顯然在不背離本發(fā)明的思想和范圍的前提下或在犧牲其所有具體優(yōu)點的情況下,可以對其各部分的形式、結構和安排作出各種改變,這里的上述形式僅僅只是其舉例的實施方式。
權利要求
1.一種提供地址的方法,所述方法包括提供一個與網絡連接的請求設備;提供一個地址,所述地址包括協(xié)議標識符;提供一個端口標識符,所述端口標識符可操作地標識所述請求設備上的端口;使所述端口標識符成為所述地址的一部分;將所述地址從所述請求設備發(fā)送到所述網絡上;在中間設備處接收所述地址;和對數據提供商設備進行尋址,同時使所述端口標識符成為地址串的一部分。
2.如權利要求1所述的方法,還包括將消息從所述數據提供商發(fā)送到所述端口標識符所標識的所述請求設備的端口。
3.一種提供地址的方法,包括提供一個協(xié)議標識符;提供一個IP標識符;提供一個請求設備標識符;和提供一個請求設備端口標識符;
4.如權利要求3所述的方法,還包括將所述協(xié)議標識符與所述IP標識符、所述請求設備標識符和所述請求設備端口標識符相結合。
5.如權利要求3所述的方法,還包括提供一個文件標識符。
6.如權利要求5所述的方法,還包括將所述協(xié)議標識符與所述IP標識符、所述請求設備標識符、所述請求設備端口標識符和所述文件標識符相結合。
7.如權利要求6所述的方法,還包括組織所述地址結構,使得所述端口標識符與所述請求設備標識符相鄰。
8.一種用于網絡上的設備的數據結構,所述數據結構包括一個協(xié)議標識符字段;一個用于對中間設備進行尋址的網際協(xié)議標識符字段;一個請求設備標識符字段;和一個請求設備端口標識符字段。
9.如權利要求8所述的數據結構,其中,所述網際協(xié)議標識符字段位于所述協(xié)議標識符字段與所述請求設備標識符字段之間。
10.如權利要求8所述的數據結構,其中,所述請求設備標識符字段位于所述協(xié)議標識符字段與所述網際協(xié)議標識符字段之間。
11.如權利要求8所述的數據結構,其中,所述請求設備端口標識符字段與所述請求設備標識符字段相鄰。
12.如權利要求8所述的數據結構,還包括一個文件標識符字段,用于標識存儲在數據提供商設備上的文件。
13.一種計算機數據信號,包括一個協(xié)議標識符段;一個用于對中間設備進行尋址的網際協(xié)議標識符段;一個請求設備標識符段;和一個請求設備端口標識符段。
14.如權利要求13所述的計算機數據信號,還包括一個文件標識符段,用于標識存儲在數據提供商設備上的文件。
15.如權利要求13所述的計算機數據信號,其中,所述請求設備端口標識符段用來指定從中發(fā)出對數據的請求的請求設備上的端口。
16.一種用于網絡中的設備,所述設備包括一臺計算機,用來提供對所述網絡上的設備進行尋址的地址;所述計算機用來提供協(xié)議標識符字段的代碼;所述計算機用來提供對中間設備進行尋址時所用的網際協(xié)議標識符字段的代碼;所述計算機用來提供請求設備標識符字段的代碼;和所述計算機用來提供請求設備端口標識符字段的代碼。
17.如權利要求16所述的設備,還包括所述計算機用來提供文件標識符字段的代碼。
18.如權利要求17所述的設備,還包括所述計算機用來將所述協(xié)議標識符字段、所述網際協(xié)議標識符字段、所述請求設備標識符字段、所述請求設備端口標識符字段和所述文件標識符字段構成單個地址的代碼。
19.一種請求網絡上的數據的方法,所述方法包括提供一個請求設備;利用第一協(xié)議將對數據的一個請求發(fā)送到中間設備,所述第一協(xié)議與第一端口相關聯(lián);在所述中間設備處接收對數據的所述請求;在所述中間設備處解釋對數據的所述請求;利用第二協(xié)議將對數據的第二請求從所述中間設備發(fā)送到內容提供商,所述第二協(xié)議與第二端口相關聯(lián);在所述內容提供商處接收來自所述中間設備的對數據的所述第二請求;得到所述數據;將消息從所述內容提供商繞過所述中間設備發(fā)送到所述請求設備的所述第一端口。
20.如權利要求19所述的方法,其中,所述第一協(xié)議是HTTP。
21.如權利要求19所述的方法,其中,所述消息包括所述請求設備所請求的所述數據。
22.如權利要求19所述的方法,其中,所述第一端口不同于所述第二端口。
23.如權利要求19所述的方法,其中,所述將所述消息從所述內容提供商發(fā)送到所述請求設備的所述第一端口包括根據一個與用來將對數據的請求從所述中間設備發(fā)送到所述內容提供商的所述第二協(xié)議不同的協(xié)議來發(fā)送所述消息。
24.如權利要求19所述的方法,其中,所述內容提供商從第二內容提供商中獲得所述數據。
25.如權利要求19所述的方法,其中,所述將對數據的所述請求發(fā)送到所述中間設備包括在對所述中間設備進行尋址時,使所述第一端口成為地址串的一部分。
26.如權利要求19所述的方法,其中,所述將對數據的請求從所述中間設備發(fā)送到所述內容提供商包括在對所述內容提供商進行尋址時,使所述第一端口成為地址串的一部分。
全文摘要
一種涉及將內容對象分配給客戶計算機的系統(tǒng)。一種系統(tǒng)包括服務器、第一內容高速緩存器、第二內容高速緩存器和首選表。第一服務器在第一地址,而第二服務器在第二地址。服務器包括要被拷貝到第一和第二內容高速緩存器中的內容對象。發(fā)自客戶計算機的優(yōu)先權表至少包括第一和第二地址之一。一種多地址系統(tǒng)提供了要與對象的第一位置相結合的元數據??梢詫⒁粋€端口標識符加到地址中,使得可以查到所需端口。這種端口標識符使得在查詢時可以尋找到預定端口。
文檔編號G06F17/30GK1444816SQ01813317
公開日2003年9月24日 申請日期2001年6月1日 優(yōu)先權日2000年6月1日
發(fā)明者內森·F·拉希博斯基, 馬克·R·湯普森 申請人:奧羅卡斯特.Com公司