資源的透明代理緩存的製作方法
2023-06-04 21:04:06 1
專利名稱:資源的透明代理緩存的製作方法
資源的透明代理緩存
背景技術:
服務供應商是出售與服務供應商相關聯的網絡(例如,網際網路、數據網、電信網等)所提供的帶寬或訪問上述網絡的帶寬的實體(例如,企業或組織)。服務供應商可以包括電信公司、數據載體、無線通信供應商、網際網路服務供應商、提供高速網際網路訪問的有線電視運營商等。諸如例如視頻、音頻、圖像、軟體下載的內容使用的快速增長對服務供應商產生更高的帶寬需求,在重大內容和事件附近具有尖峰。為了處理這種更高的帶寬需求,服務供應商在他們的網絡中部署伺服器的透明超文本傳輸協議(HTTP)代理緩存設備,諸如緩存伺服器。代理緩存設備(這裡也稱作「代理緩存」)可以緩存受歡迎的內容,這使服務供應商能夠將網絡應用最優化,並且節省回程帶寬成本。通常在層7 (開放系統互連(ISO)模型的應用層)上實現代理緩存。代理緩存可以與將請求內容的客戶端設備和存儲所請求內容的源設備互連的網絡設備(例如,路由器)相關聯。因為代理緩存利用源設備的地址(例如,網際網路協議(IP)地址)向客戶端設備發 送信息(例如,數據包)且利用客戶端設備的IP位址向源設備發送信息,所以代理緩存對於客戶端設備和源設備來說是「透明的」。這種配置確保代理緩存對於客戶端設備或源設備來說是不可見的。使交換通信量的客戶端與源設備互相連接的網絡設備可以利用過濾器或基於策略的路由(PBR),以從網絡設備向代理緩存發送諸如對內容的請求的通信量子集。在這種配置中,代理緩存將終止與客戶端設備的連接(例如,傳輸控制協議(TCP)連接)。如果請求是關於存儲在代理緩存中的內容,則代理緩存利用源設備的IP位址向客戶端設備提供內容。如果所請求的內容沒有存儲在代理緩存中,則代理緩存利用客戶端設備的IP位址連接至源設備,並且從源設備請求內容。代理緩存利用源設備的IP位址向客戶端設備提供源設備所返回的內容,並且可以緩存該內容用於將來使用。然而,以這種方式部署的代理緩存承受著與非對稱路由和數據包處理開銷相關聯的問題。當數據包在一條路徑上從客戶端設備橫貫(traverse)至源設備而應答數據包在不同路徑中從源設備橫貫至客戶端設備時,非對稱路由在許多服務供應商網絡中發生。在某些情況下,應答數據包可以繞開代理緩存而直接到達客戶端設備。由於應答數據包不與任何連接狀態匹配,所以客戶端設備將丟棄應答數據包,並且將導致代理緩存處超吋。在代理緩存的配置中,由於客戶端設備訪問廣泛種類的內容且這些內容的相當大的部分不可緩存(例如,動態數據),所以緩存命中率(例如,代理緩存存儲客戶端設備所請求的內容的可能性)通常很低(例如,小於20%)。儘管緩存命中率很低,但是所有客戶端設備請求流過代理緩存,並且不必要地増加了代理緩存中的數據包處理開銷。
發明內容
根據ー個方面,可以通過計算設備執行ー種方法。該方法包括通過計算設備從客戶端設備接收對於能夠從源設備獲得的資源的請求;通過計算設備確定資源是否在緩存伺服器中被緩存;當資源在緩存伺服器中被緩存時,通過計算設備提供指示客戶端設備從緩存伺服器請求資源的第一命令;響應於提供第一命令,通過計算設備從客戶端設備接收對於資源的第一新請求;通過計算設備以及基於第一新請求使客戶端設備能夠從緩存伺服器接收資源;當資源沒有在緩存伺服器中被緩存時,通過計算設備創建防火牆過濾器;當資源沒有在緩存伺服器中被緩存時,通過計算設備提供指示客戶端設備從源設備請求資源的第二命令;響應於提供第二命令,經由防火牆過濾器從客戶端設備接收對於資源的第二新請求;以及經由防火牆過濾器以及基於第二新請求使客戶端設備能夠從源設備接收資源,而無需訪問緩存伺服器。根據另一方面,一種網絡設備可以包括存儲器,存儲關於存儲在緩存伺服器中的資源的信息;以及處理器。處理器可以從客戶端設備接收對於能夠從源設備獲得的資源的請求,並且可以基於所存儲的信息,確定資源是否在緩存伺服器中被緩存。當資源在緩存伺服器中被緩存時,處理器可以提供指示客戶端設備從緩存伺服器請求資源的第一命令,並且可以響應於提供第一命令,從客戶端設備接收對於資源的第一新請求。處理器可以基於第一新請求,使客戶端設備能夠從緩存伺服器接收資源,當資源沒有在緩存伺服器中被緩存時,可以創建防火牆過濾器,並且當資源沒有在緩存伺服器中被緩存時,可以提供指示客戶端設備從源設備請求資源的第二命令。處理器可以響應於提供第二命令,經由防火牆過 濾器從客戶端設備接收對於資源的第二新請求,可以經由防火牆過濾器以及基於第二新請求使客戶端設備能夠從源設備接收資源,而無需訪問緩存伺服器,並且可以在客戶端設備從源設備接收資源後去除防火牆過濾器。根據又一方面,一個或多個非易失性計算機可讀介質可以存儲可通過計算設備的一個或多個處理器執行的指令。該介質可以包括一條或多條指令,用於從客戶端設備接收對於能夠從源設備獲得的資源的請求;一條或多條指令,用於確定資源是否在緩存伺服器中被緩存;一條或多條指令,用於當資源在緩存伺服器中被緩存時提供指示客戶端設備從緩存伺服器請求資源的第一命令;一條或多條指令,用於響應於提供第一命令,從客戶端設備接收對於資源的第一新請求;一條或多條指令,用於基於第一新請求,使客戶端設備能夠從緩存伺服器接收資源;一條或多條指令,用於當資源沒有在緩存伺服器中被緩存時,創建防火牆過濾器;一條或多條指令,用於當資源沒有在緩存伺服器中被緩存時,提供指示客戶端設備從源設備請求資源的第二命令;一條或多條指令,用於響應於提供第二命令,經由防火牆過濾器從客戶端設備接收對於資源的第二新請求;以及一條或多條指令,用於經由防火牆過濾器以及基於第二新請求,使客戶端設備能夠從源設備接收資源,而無需訪問緩存伺服器。
併入且構成該說明書一部分的附圖示出了這裡描述的一個或多個實施方式,與這些描述一起解釋這些實施方式。圖中圖I是其中可以實施這裡描述的系統和/或方法的示例性網絡的示圖;圖2是圖I中示出的客戶端設備、緩存伺服器、或源設備的示例性部件的示圖;圖3是圖I中示出的請求監控器、應答監控器、或網絡設備的示例性部件的示圖;圖4A和圖4B是圖I中示出的能夠通過網絡的示例性部分執行的示例性操作的示圖5是圖I中示出的請求監控器的示例性功能部件的示圖;圖6是通過圖5中所示的緩存命中/缺失分離器來保持的示例性信息的示圖;圖7是圖I中所示的應答監控器的示例性功能部件的示圖;圖8是圖I中所示的緩存伺服器的示例性功能部件的示圖;圖9和圖10是用於提供根據這裡描述的實施方式的代理緩存方案的請求監控功能的示例性處理的流程圖;圖11是用於提供根據這裡描述的實施方式的代理緩存方案的應答監控功能的示例性處理的流程圖;圖12A和圖12B示出了用於提供根據這裡描述的實施方式的模塊化的透明代理緩存的示例性處理的流程圖; 圖13是能夠通過圖I中示出的網絡的另ー示例性部分來執行的示例性操作的示圖;圖14是能夠通過圖I中示出的網絡的又一示例性部分來執行的示例性操作的示圖;以及圖15是用於對根據這裡描述的實施方式的代理緩存方案中的內容通信量進行優化的示例性處理的流程圖。
具體實施例方式下面參照附圖進行詳細的描述。不同附圖中的相同參考標號可以指的是相同或類似的元件。這裡描述的系統和/或方法可以提供分離緩存命中(cache hit)與緩存缺失(cache miss)的模塊化的透明代理緩存方案,其中緩存命中可以指的是,當所請求的資源存儲在諸如緩存伺服器的代理緩存中的時候,而緩存缺失可以指的是,當所請求的資源未存儲在諸如緩存伺服器的代理緩存中的時候。該系統和/或方法可以使緩存命中通信量能夠通過緩存伺服器利用存儲資源的源設備的IP位址來提供,並且可以使緩存缺失通信量在(例如,請求資源的)客戶端設備與源設備之間流動而沒有任何層7攔截。緩存伺服器可以利用ー組經配置的與源設備相關聯的IP位址來異步地檢索以及存儲諸如內容、服務等的資源。在一個實例中,當緩存缺失發生時,該系統和/或方法可以將重定向命令提供回請求資源的客戶端設備。響應於重定向命令,客戶端設備可以產生可以提供給源設備的新資源請求而沒有緩存伺服器的幹預。在示例性實施方式中,該系統和/或方法可以從客戶端設備接收對於能夠從源設備獲得的資源的請求,並且可以確定所請求的資源可能在緩存伺服器中被緩存(例如,緩存命中)還是可能未被緩存(例如,緩存缺失)。當所請求的資源可能在緩存伺服器中被緩存時,該系統和/或方法可以向緩存伺服器轉發請求。緩存伺服器可以基於請求檢索被緩存的資源,並且可以向客戶端設備轉發緩存資源。當所請求的資源可能沒有在緩存伺服器中被緩存時,該系統和/或方法可以向緩存伺服器轉發請求,而緩存伺服器可以基於請求向客戶端設備轉發重定向命令。重定向命令可以使客戶端設備從源設備獲得資源。在另ー示例性實施方式中,該系統和/或方法可以從客戶端設備接收對於資源的請求,並且可以確定所請求的資源在緩存伺服器中被緩存(例如,緩存命中)還是沒有被緩存(例如,緩存缺失)。如果發生緩存命中,則該系統和/或方法可以提供指示客戶端設備從緩存伺服器請求資源的命令,並且可以基於命令從客戶端設備接收用於資源的新請求。該系統和/或方法可以基於新請求使客戶端設備能夠從緩存伺服器接收所請求的資源。如果發生緩存缺失,則該系統和/或方法可以創建防火牆過濾器,並且可以提供指示客戶端設備從源設備請求資源的命令。該系統和/或方法可以基於命令經由防火牆過濾器並且從客戶端設備接收對於資源的新請求,並且可以基於新請求使客戶端設備能夠經由防火牆過濾器從源設備接收所請求的資源。該系統和/或方法可以在客戶端設備接收所請求的資源後去除防火牆過濾器。圖I是在其中可以實施這裡描述的系統和/或方法的示例性網絡100的示圖。如圖所示,網絡100可以包括客戶端設備110 ;緩存伺服器設備120 (這裡稱作「緩存伺服器120」);源設備130,請求監控器設備140 (這裡稱作「請求監控器140」);應答監控器設備150 (這裡稱作「應答監控器150」);網絡160 ;以及設置在或附接至網絡160中的網絡設備170。網絡100的設備可以經由有線和/或無線連接或鏈路而互相連接。為簡單起見,已經在圖I中示出單個客戶端設備110、緩存伺服器120、源設備130、請求監控器140、應答監控器150、網絡160、網絡設備170。實際上,可以存在更多客戶端設備110、緩存伺服器120、源 設備130、請求監控器140、應答監控器150、網絡160和/或網絡設備170。並且,在某些情況下,網絡100的一個或多個設備可以執行被描述為通過網絡100的另一個或多個設備執行的一個或多個任務。客戶端設備110可以包括能夠經由網絡160和/或網絡設備170訪問緩存伺服器120和/或源設備130的任何設備。例如,客戶端設備110可以包括無線電電話、可以結合具有數據處理和數據通信功能的可攜式無線電電話的個人通信系統(PCS)終端、可以包括無線電電話、尋呼機、網際網路/內聯網訪問等的個人數字助理(PDA)、無線設備(例如,無線電話)、智慧型電話、工作站計算機、膝上計算機、個人計算機、或其它類型的計算或通信設備。緩存伺服器120可以包括以這裡描述的方式收集、處理、搜索和/或提供信息的一個或多個伺服器設備、或其它類型的計算或通信設備。在一個示例性實施方式中,緩存伺服器120可以充當來自從源設備130尋找資源的客戶端設備110的請求的媒介。這裡使用的術語「資源」旨在寬泛地理解為包括諸如視頻、音頻、圖像、軟體下載等的內容;諸如傳送高清晰度和用戶產生的內容、消費者和商業新聞以及信息服務、電子郵件系統等的服務;和/或內容和服務的組合。客戶端設備110可以連接至緩存伺服器120,並且可以請求能夠從源設備130獲得的某些資源。緩存伺服器120可以評價請求(例如,根據諸如通過IP位址或協議對通信量進行過濾的過濾規則)。如果請求生效,則緩存伺服器120可以通過連接至源設備130並且以客戶端設備110的名義請求資源而提供所請求的資源。緩存伺服器120可以改變來自客戶端設備110的請求和/或可以改變來自源設備130的應答。緩存伺服器120可以為請求服務,而無需接觸源設備130。在這種情況下,緩存伺服器120可以緩存(或存儲)先前從源設備130請求的特定資源,並且可以向客戶端設備110提供特定資源而不涉及源設備130。源設備130可以包括以這裡描述的方式收集、處理、搜索和/或提供信息的一個或多個伺服器設備、或其它類型的計算或通信設備。在一個示例性實施方式中,源設備130可以包括客戶端設備110可經由網絡160和/或網絡設備170訪問的資源。在一個實例中,源設備130可以向客戶端設備110提供資源(例如,經由網絡160和/或網絡設備170)。可選地,源設備130可以向用於存儲的緩存伺服器120提供特定資源。緩存伺服器120可以存儲特定資源,使得緩存伺服器120可以當被客戶端設備110請求時向客戶端設備110提供特定資源,而不涉及源設備130。請求監控器140可以包括以這裡描述的方式收集、處理、捜索和/或提供信息的一個或多個伺服器設備、或其它類型的計算或通信設備。在一個示例性實施方式中,請求監控器140可以在TCP/IP的層分離諸如對於存儲在緩存伺服器120中的資源的請求的緩存命中通信量和諸如對於沒有存儲在緩存伺服器120中的資源的請求的緩存缺失通信量。請求監控器140可以基於存儲在存儲器中的信息執行這種分離,利用所觀測的通信量流(例如,經由網絡160和/或網絡設備170提供的通信量)和控制協議來動態更新該信息。在一個示例性實施方式中,請求監控器140可以從客戶端設備110接收對於能夠從源設備130獲得的資源的請求,可以確定所請求的資源在緩存伺服器120中可能被緩存(例如,緩存命中)還是可能沒有被緩存(例如,緩存缺失)。如果所請求的資源可能在緩存伺服器120中被緩存,則請求監控器140可以向緩存伺服器120轉發請求。緩存伺服器 120可以基於請求檢索緩存資源,並且可以向客戶端設備110轉發被緩存的資源。如果所請求的資源可能沒有在緩存伺服器120中被緩存,則請求監控器140可以向緩存伺服器120轉發請求,並且緩存伺服器120可以基於請求向客戶端設備110轉發重定向命令。重定向命令可以使客戶端設備110從源設備130獲得資源。應答監控器150可以包括以這裡描述的方式收集、處理、捜索和/或提供信息的一個或多個伺服器設備、或其它類型的計算或通信設備。在一個示例性實施方式中,應答監控器150可以監控從源設備(例如,源設備130)向客戶端設備(例如,客戶端設備110)提供的通信量(例如,應答流),並且可以基於ー組可配置的參數,諸如對象大小、緩存終止時間、可緩存的總帶寬等來確定通信量是否包括可能存儲在緩存伺服器120中的資源。應答監控器150可以向請求監控器140提供具有可緩存的資源的源設備的地址(例如,IP位址)。應答監控器150可以基於所接收的通信量產生報告。例如,應答監控器150可以生成描述通過緩存伺服器120提供的潛在帶寬儲蓄的報告、基於諸如源設備IP位址、多用途網際網路郵件擴展(MME)類型、MME規模等的各種參數描述通信量分布的報告、和/或其它類似的報告。網絡160可以包括服務供應商網絡,諸如區域網(LAN);廣域網(WAN);城域網(MAN);電話網(例如,公共交換電話網或蜂窩網);網際網路;或這些網絡的組合。網絡設備170可以包括通信量傳送設備,諸如網關、路由器、交換機、防火牆、網絡接ロ卡(NIC)、集線器、網橋、代理伺服器、光分插復用器(OADM),或處理和/或傳送通信量(例如,數據包)的其它類型的設備。在一個實例中,網絡設備170可以使客戶端設備110、緩存伺服器120、源設備130、請求監控器140、和/或應答監控器150能夠彼此通信。在另ー實例中,網絡設備170可以使客戶端設備110請求和接收來自緩存伺服器和/或源設備130的資源。儘管圖I示出網絡100的示例性設備,但是在其它實施方式中,網絡100可以包括比圖I所示的更少的設備、不同的設備、不同配置的設備、或附加設備。圖2是可以對應於客戶端設備110、緩存伺服器120或源設備130(圖I)的設備200的示例性部件的示圖。在某些情況下,設備200可以對應於請求監控器140和/或應答監控器150 (圖I)。在其它情況下,客戶端設備110、緩存伺服器120、源設備130、請求監控器140或應答監控器150可以包括一個或多個設備200。如圖2所示,設備200可以包括總線210、處理單元220、主存儲器230、只讀存儲器(ROM) 240、存儲設備250、輸入設備260、輸出設備270和/或通信接口 280。總線210可以包括允許在設備200的部件之間進行通信的路徑。處理單元220可以包括一個或多個處理器、微處理器、專用集成電路(ASIC)、現場可編程門陣列(FPGA),或其它類型的解釋和執行指令的處理單元。主存儲器230可以包括存儲由處理單元220執行的指令和信息的隨機存取存儲器(RAM)或其它類型的動態存儲設備。ROM 240可以包括存儲由處理單元220使用的靜態信息和/或指令的ROM設備或其它類型的靜態存儲設備。存儲設備250可以包括磁和/或光記錄介質及其相應的設備,或諸如快閃記憶體的可移動存儲器。輸入設備260可以包括允許操作者向設備200輸入信息的機構,例如鍵盤、滑鼠、 開關、按鈕、聲音識別和/或生物計量機構、觸控螢幕等。輸出設備270可以包括向操作者輸出信息的機構,包括顯示器、揚聲器、發光二極體(LED)等。通信接口 280可以包括任何使設備200能夠與其它設備和/或系統進行通信的類似收發器的機構。例如,通信接口 280可以包括經由網絡與另一設備或系統進行通信的機構。在一個實施方式中,通信接口 280可以包括諸如乙太網接口的有線接口,或諸如射頻接口的無線接口。如這裡所描述的,設備200可以響應於執行包含在諸如主存儲器230的計算機可讀介質中的軟體指令的處理單元220來執行特定操作。計算機可讀介質可以限定為非易失性(non-transitory)存儲設備。存儲設備可以包括在單個物理存儲設備內或分布在多個物理存儲設備上。可以經由通信接口 280從諸如存儲設備250的另一計算機可讀介質,或從另一設備讀取軟體指令至主存儲器230。包含在主存儲器230中的軟體指令可以使處理單元220執行這裡描述的處理。可選地,可以使用硬連線電路代替軟體指令或與軟體指令相結合來執行這裡描述的處理。因此,這裡描述的實施方式不限於任何特定的硬體電路和軟體的組合。儘管圖2示出設備200的示例性部件,但是在其它實施方式中,設備200可以包括比圖2示出的更少的部件、不同的部件、不同配置的部件、或附加部件。可選地,或另外,設備200的一個或多個部件可以執行被描述為通過設備200的一個或多個其它部件執行的一個或多個其它任務。圖3是可以對應於請求監控器140、應答監控器150、網絡設備170 (圖I)的設備300的示例性部件的示圖。在某些情況下,請求監控器140、應答監控器150、網絡設備170可以包括一個或多個設備300。如圖3所示,設備300可以包括輸入埠 310、切換機構320、輸出埠 330、控制單元340。輸入埠 310可以是物理鏈路的附接點並且可以是用於諸如數據包的輸入通信量的入口點。輸入埠 310可以執行數據鏈路層封裝和解封裝。在示例性實施方式中,輸入埠 310可以發送和/或接收數據包。切換機構320可以使輸入埠 310和輸出埠 330互相連接。可以利用許多不同的技術實現切換機構320。例如,可以經由總線、交叉開關(crossbar)、和/或利用可以用作臨時緩衝區以在通信量最終被調度為傳送至輸出端ロ 330之前存儲來自輸入端ロ 310的通信量的共享存儲器,實現切換機構320。輸出端ロ 330可以存儲數據包,並且可以調度用於輸出物理鏈路上的服務的數據包。輸出端ロ 330可以包括支持優先級和保證(guarantee)的調度算法。輸出端ロ 330可以支持數據鏈路層封裝和解封裝,和/或各種更高層協議。在示例性實施方式中,輸出端ロ330可以發送數據包和/或接收數據包。控制單元340可以使用路由協議和ー個或多個用於轉發數據包的轉發表。控制單元340可以連接有輸入端ロ 310、切換機構320、輸出端ロ 330。控制單元340可以計算轉發表、實施路由協議和/或運行軟體以配置和管理設備300。控制單元340可以處理任何其目標地址在轉發表中沒找到的數據包。在示例性實施方式中,控制單元340可以包括總線350,總線350可以包括允許再處理器360、存儲器370、通信接ロ 380之間進行通信的路徑。處理器360可以包括ー個或多個處理器、微處理器、ASIC、FPGA,或其它類型的可以解釋和執行指令的處理單元。存儲器 370可以包括RAM、R0M設備、磁和/或光記錄介質及其相應的設備、和/或其它類型的可以存儲通過處理器360執行的信息和指令的靜態和/或動態存儲設備。存儲器370同樣可以在期望數據包直接返回切換機構320、在切換機構320中排隊、最終被調度為發送至輸出端ロ 330之前,臨時存儲來自輸入端ロ 310的通過處理器360處理的輸入通信量(例如,數據包的報頭或整個數據包)。通信接ロ 380可以包括使控制單元340與其它設備和/或系統通信的類似收發器的裝置。如這裡所描述的,設備300可以執行特定操作。設備300可以響應於執行包含在諸如存儲器370的計算機可讀介質中的軟體指令的處理器360執行特定操作。可以從諸如數據存儲設備的另ー計算機可讀介質,或經由通信接ロ 380從另ー設備將軟體指令讀取至存儲器370。包含在存儲器370中的軟體指令可以使處理器360執行這裡描述的處理。可選地,可以使用硬連線電路代替軟體指令或與軟體指令相結合來執行這裡描述的處理。因此,這裡描述的示例性實施方式不限於任何特定的硬體電路和軟體的組合。儘管圖3示出設備300的示例性部件,但是在其它示例性實施方式中,設備300可以包括比圖3示出的更少的部件、不同的部件、不同配置的部件、或附加部件。可選地,或另夕卜,設備300的一個或多個部件可以執行(描述為通過設備300的一個或多個其它部件執行的)一個或多個其它任務。圖4A和圖4B是能夠通過網絡100的示例性部分400執行的示例性操作的示圖。如圖4A和圖4B所示,示例性網絡部分400可以包括客戶端設備110、緩存伺服器120、源設備130、請求監控器140、應答監控器150、網絡設備170。客戶端設備110、緩存伺服器120、源設備130、請求監控器140、應答監控器150、網絡設備170可以包括上面參照圖I 圖3描述的ー個或多個特徵。如圖4A所示,客戶端設備110可以向網絡設備170提供對於資源的請求405,並且網絡設備170可以向請求監控器140提供請求405。請求監控器140可以接收請求405,並且可以基於信息(例如,在請求監控器140中提供且在下面參照圖6描述的)確定通過請求405所請求的資源可能在緩存伺服器120中被緩存(例如,緩存命中)還是可能沒有在緩存伺服器120中被緩存(例如,緩存缺失)。對於圖4A中所示的操作,假設所請求的資源沒有在緩存伺服器120中被緩存。因此,請求監控器140可以向網絡設備170提供緩存缺失的指示410。儘管在圖4A中未示出,但請求監控器140可以接收來自客戶端設備110或其它客戶端設備(例如,經由網絡設備170或其它網絡設備)的額外的資源請求,並且可以過濾額外的資源請求(例如,包括請求405)以產生過濾後請求415。在一個示例性實施方式中,請求監控器140可以基於與源設備(例如,源設備130)相關聯的IP位址的「監視列表(watchlist) 」過濾額外的資源請求(例如,產生過濾後請求415)。可以通過請求監控器140經由控制協議(例如,TCP)預配置和/或動態更新監視列表。監視列表可以包括具有與「攔截列表」(例如,同樣在請求監控器140中提供的)不匹配的HTTP GET請求(例如,所請求的資源)的IP數據包。下面參照圖6描述攔截列表。如圖4A進一步所示,請求監控器140可以經由控制協議向緩存伺服器120報告請求405和/或過濾後請求415。應答監控器150可以監控從源設備130向客戶端設備110提供的通信量(例如,應答流量)。應答監控器150可以監控從其它源設備向其它客戶端設備提供的通信量,並且 可以基於一套可配置的參數(例如,對象規模、緩存終止時間、可緩存的總帶寬等)確定通信量是否包括可以在緩存伺服器120中緩存(或存儲)的資源。如圖4A進一步所示,應答監控器150可以向請求監控器140提供具有可緩存的資源的源設備(例如,源設備130)的地址420 (例如,IP位址)。請求監控器140可以接收地址420,並且可以向監視列表添加地址420。應答監控器150同樣可以產生基於所監控的通信量的報告425。在一個實例中,報告425可以包括描述通過緩存伺服器120提供的潛在帶寬儲蓄的報告、基於諸如源設備IP位址、MME類型、MME規模等的各種參數描述通信量分布的報告。緩存伺服器120可以從請求監控器140接收過濾後請求415 (例如,其可以包括請求405),並且可以從過濾後請求415中提取在數據包中提供的諸如統一資源定位符(URL)的信息。所提取的信息可以包括通過過濾後請求415識別的源設備處可得到的且與監視列表(例如,包括具有可緩存的資源的源設備的IP位址)相匹配的資源。如參考標號430所示,緩存伺服器120可以將所提取的信息添加為要攝取的候選資源,並且可以攝取候選資源。攝取430可以指的是緩存伺服器120從源設備檢索候選資源且在與緩存伺服器120相關聯的存儲器中存儲所檢索的資源。在一個實例中,緩存伺服器120在處理請求405時從源設備130攝取(430)候選資源。在另一實例中,緩存伺服器120可以在不同時間(例如,在處理請求405之後)攝取(430) —個或多個候選資源。緩存伺服器120可以在與緩存伺服器120相關聯的存儲設備存儲檢索的候選資源。攔截通信量可以包括通過以源設備130為目的地的客戶端設備110產生的通信量,但是在到達源設備130之前被請求監控器140和/或網絡設備170攔截。請求監控器140可以向緩存伺服器120提供這種攔截通信量。對於從請求監控器140接收的攔截通信量(例如,請求405),緩存伺服器120可以接受與攔截通信量相關聯的連接(例如,TCP連接),並且可以利用源設備(例如,源設備130)的IP位址為客戶端設備110服務。緩存伺服器120可以用與緩存缺失攔截通信量不同的方式處理緩存命中攔截通信量。由於圖4A示出請求405的緩存缺失情形,所以緩存伺服器120不向源設備130提供對於請求405的代理,而是產生重定向命令435。重定向命令可以包括具有HTTP應答狀態代碼「302」的命令。緩存伺服器120可以(經由網絡設備170)向客戶端設備110提供重定向命令435,並且可以關閉(或終止)與客戶端設備110的連接。重定向命令435可以指示客戶端設備110重連接並且重試請求405。客戶端設備110可以接收重定向命令435,可以重試請求405 (例如,作為新請求440),並且可以向網絡設備170提供新請求440。新請求440可以包括與通過請求405所請求的相同的資源。在向客戶端設備110提供重定向命令435之前,緩存伺服器120可以向請求監控器140提供控制消息。控制消息可以指示請求監控器140在例外列表(例如,在請求監控器140中提供的且在下面結合圖6描述的)中添加客戶端設備110 (例如,5元組)的條目。為了解決客戶端設備110經由不同端ロ編號重試請求405,請求監控器140可以忽略在5元組中設置的源端ロ(例如,src端ロ)。因此,請求監控器140可以從特定源端ロ切斷4元組。控制消息可以確保來自客戶端設備110的請求405的下一次嘗試不會被請求監控器140攔截而改為提供給源設備130。可選地,或另夕卜,緩存伺服器120可以將資源(例如,通過請求405請求的或其它緩存缺失資源)添加為要攝取的候選資源(例如,經由攝取430)。緩存伺服器120可以從源設備130或其它源設備檢索候選資源,並且可以在與緩存伺服器120相關聯的存儲設備中存儲所檢索的候選資 源。如圖4A進ー步示出的,網絡設備170可以向源設備130提供新請求440。源設備130可以接收新請求440,可以檢索通過新請求440所請求的資源445,並且可以向網絡設備170提供資源445。網絡設備170可以向客戶端設備110轉發資源445,並且客戶端設備110可以接收和/或利用資源445。在一個示例性實施方式中,網絡設備170可以向請求監控器140提供所有或一部分資源445,並且請求監控器140可以在監視列表中提供與資源445相關聯的信息。在另ー示例性實施方式中,網絡設備170可以向應答監控器150提供資源445的一部分447用於分析。圖4B可以示出用於請求405的緩存命中情形。如圖所示,客戶端設備110可以向網絡設備170提供對於資源的請求405,並且網絡設備170可以向請求監控器140提供請求405。請求監控器140可以接收請求405,並且可以基於在請求監控器140中提供的如面參照圖6描述的信息確定通過請求405所請求的資源可能在緩存伺服器120中被緩存(例如,緩存命中)還是可能沒有在緩存伺服器120中被緩存(例如,緩存缺失)。對於圖4B中示出的操作,假設所請求的資源在緩存伺服器120中被緩存。因此,請求監控器140可以向網絡設備170提供緩存命中的指示450。如圖4B進ー步示出的,請求監控器140可以向緩存伺服器120轉發請求405和/或過濾後請求415,並且緩存伺服器120可以接收請求405和/或過濾後請求415。緩存伺服器120可以檢索通過請求405請求的被緩存的資源455,並且可以向客戶端設備110提供被緩存的資源455 (經由網絡設備170)。在一個實例中,緩存伺服器120可以基於指定存儲在緩存伺服器120中的資源的類型以及如何從緩存伺服器120提供資源的緩存規則,提供被緩存的資源455。客戶端設備110可以接收和/或利用被緩存的資源455。在一個示例性實施方式中,緩存伺服器120可以基於過濾後請求415為在請求監控器140中保存的監視列表中提供的源設備的每個IP位址分析潛在的緩存命中率。例如,緩存伺服器120可以選擇在監視列表中提供的特定的IP位址,並且可以確定在過濾後請求415 (例如,與特定IP位址相關聯)中提供的資源是否存儲在緩存伺服器120中。如果在一個過濾後請求415中提供的資源存儲在緩存伺服器120中,則緩存伺服器120可以將資源確定為緩存命中。對於特定的IP位址,然後緩存伺服器120可以通過所有所確定的緩存命中除以在過濾後請求415 (例如,與特定IP位址相關聯)中提供的資源的總數,以為特定的IP位址計算潛在緩存命中率。當與特定的IP位址(例如,特定的源設備的)相關聯的潛在緩存命中率超過可配置的閾值時,緩存伺服器120可以經由控制協議向保存在請求監控器140中的攔截列表添加特定的IP位址,如參考標號460所不。儘管圖4A和圖4B示出網絡部分400的示例性部件,但是在其它實施方式中,網絡部分400可以包括比圖4A和圖4B中示出的更少的部件、不同的部件、不同配置的部件、或附加部件。可選地,或另外,網絡部分400的一個或多個部件可以執行被描述為通過網絡部分400的一個或多個其它部件執行的一個或多個其它任務。圖5是請求監控器140的示例性功能部件的示圖。如圖所示,請求監控器140可以包括緩存命中/缺失分離器500、請求報告器510、例外列表條目去除器520。在一個示例性實施方式中,參照圖5描述的一個或多個功能部件可以通過設備200 (圖2)或設備300 (圖 3)的一個或多個示例性部件實現。緩存命中/缺失分離器500可以從客戶端設備110接收請求405,並且可以接收從客戶端設備110或其它客戶端設備請求的額外資源。緩存命中/缺失分離器500可以過濾額外的資源請求(例如,包括請求405)以產生過濾後請求415。在一個實例中,緩存命中/缺失分離器500可以基於通過緩存命中/缺失分離器500保存的關於與源設備(例如,源設備130)相關聯的IP位址的監視列表,過濾額外的資源請求(例如,以產生過濾後請求415)。緩存命中/缺失分離器500可以向請求報告器510提供請求405和/或過濾後請求415。緩存命中/缺失分離器500可以基於信息(例如,在下面參照圖6描述的攔截列表、例外列表、流量信息、和/或監視列表)確定通過請求405所請求的資源可能在緩存伺服器120中被緩存(例如,緩存命中)還是可能沒有在緩存伺服器120中被緩存(例如,緩存缺失)。在一個示例性實施方式中,當請求405的目的地IP位址在攔截列表中提供而沒有在例外列表中提供時,緩存命中/缺失分離器500可以確定通過請求405所請求的資源可能在緩存伺服器120中被緩存。當請求405的目的地IP位址沒有在攔截列表中提供而在例外列表中提供時,緩存命中/缺失分離器500可以確定通過請求405所請求的資源可能沒有在緩存伺服器120中被緩存。如果緩存命中/缺失分離器500確定通過請求405所請求的資源可能沒有在緩存伺服器120中被緩存,則緩存命中/缺失分離器500可以向網絡設備170提供緩存缺失的指示410,並且緩存伺服器120可以(經由網絡設備170)向客戶端設備110提供重定向命令435。重定向命令435可以指示客戶端設備110重連接以及重試請求405。如果緩存命中/缺失分離器500確定通過請求405所請求的資源可能在緩存伺服器120中被緩存,則緩存命中/缺失分離器500可以向網絡設備170提供緩存命中的指示450。如圖5進一步示出的,緩存命中/缺失分離器500可以從應答監控器150接收地址420,並且可以向通過緩存命中/缺失分離器500保存的監視列表添加地址420。當與請求405和/或過濾後請求415的特定的IP位址(例如,特定的源設備的)相關聯的潛在的緩存命中率超過可配置的閾值時,緩存伺服器120可以經由控制協議向保存在緩存命中/缺失分離器500中的攔截列表添加特定的IP位址,如參考標號460所不。請求報告器510可以從緩存命中/缺失分離器500接收請求405和/或過濾後請求415。請求報告器510可以經由控制協議向緩存伺服器120提供請求405和/或過濾後請求415。例外列表條目去除器520可以接收以諸如客戶端設備110的特定客戶端設備結束的連接的指示530。在一個實例中,基於超時值或當客戶端設備110產生具有重置連接(RST)標誌的數據包或具有不再有來自發送器的數據(FIN)標誌的數據包時,可以接收指示530。客戶端設備110—旦收到重定向命令435就可以產生這種數據包。例外列表條目去除器520可以確定與指示530相關聯的數據包是否與在緩存命中/缺失分離器500中所保存的例外列表中提供的特定5元組條目相匹配。如果與指示530相關聯的數據包與例外列表中的特定5元組條目匹配,則例外列表條目去除器520可以從例外列表中去除特定5元組條目,如參考標號540所示。
儘管圖5示出請求監控器140的示例性功能部件,但是在其它實施方式中,請求監控器140可以包括比圖5示出的更少的功能部件、不同的功能部件、不同配置的功能部件、或附加功能部件。可選地,或另外,請求監控器140的一個或多個功能部件可以執行被描述為通過請求監控器140的一個或多個其它功能部件執行的一個或多個其它任務。圖6是通過緩存命中/缺失分離器500保存的示例性信息和/或操作信息的邏輯的示圖。如圖所示,緩存命中/缺失分離器500可以包括攔截列表600、例外列表610、流量信息620、監視列表630。在ー個例性實施方式中,信息可以存儲在與設備200 (圖2)或設備300 (圖3)的一個或多個示例性部件相關聯的一個或多個存儲器中。攔截列表600可以包括用於源設備(例如,源設備130)的地址(例如,IP位址)的條目,對於該源設備,從客戶端設備(例如,客戶端設備110)所請求的資源應該被攔截且路由至緩存伺服器120而不是發送至源設備。如圖6所示,攔截列表600可以包括源設備欄位、標識符欄位、與這些欄位相關聯的多個條目。源設備欄位可以包括識別資源請求應該被攔截且路由至緩存伺服器120的源設備的條目。標識符欄位可以包括提供諸如IP位址的在源設備欄位中被識別的源設備的識別信息的條目。在一個示例性實施方式中,攔截列表600可以接收請求405 (或一個過濾後請求415),並且可以確定通過請求405所請求的資源是否與攔截列表600中提供的IP位址(例如,源設備的)相關聯。例如,如果通過請求405所請求的資源與IP位址1(例如,源設備I的)相關聯,則攔截列表600可以將請求405路由至緩存伺服器120。然而,如果通過請求405所請求的資源與IP位址11 (例如,源設備11的)相關聯,則攔截列表600可以不將請求405路由至緩存伺服器120。例外列表610可以包括儘管與攔截列表600中提供的條目相匹配卻應該轉發給源設備的用於資源請求數據包的條目。用於資源請求數據包的條目可以通過與每個數據包相關聯的5元組(例如,源IP位址(src-IP)、目的地IP位址(dst_IP)、源端ロ(src-port)、目的地端ロ(dst-port)、協議(proto))標引。如圖6所示,例外列表610可以包括IP 5元組欄位、時間窗ロ欄位、與這些欄位相關聯的多個條目。IP 5元組欄位可以包括提供轉發給源設備(例如,儘管在攔截列表600中匹配)的資源請求數據包的5元組的條目。在一個示例性實施方式中,依靠通過客戶端設備110使用的諸如網絡地址轉換(NAT)方案或直接尋址方案的尋址方案,5元組條目的源埠可以被忽略或被建立以用作基於範圍的匹配。時間窗口欄位可以包括在預期客戶端設備(例如,與在IP 5元組欄位中提供的5元組條目相關聯的)與請求監控器140重連接的期間內的時間窗口的條目。在一個實例中,時間窗口可以包括倒計時和終止的時間。在時間窗口欄位中提供的特定時間窗口終止之後,可以從例外列表610去除與特定時間窗口相關聯的特定5元組條目。可以限制在時間窗口欄位中提供的時間窗口以確保不妨礙可以利用相同IP位址以及連接相同源設備的客戶端設備長時間利用緩存伺服器120。在一個示例性實施方式中,可以用2元組欄位、3元組欄位.....N元組欄位
(N ^ 2)代替例外列表610的5元組欄位。例外列表610可以在這種欄位中存儲IP數據包的2元組、3元組、...、N元組。如圖6進一步示出的,例外列表610可以接收IP 5元組數據包640 (例如,與請求405和/或過濾後請求415相關聯的),並且可以在例外列表610的IP 5元組欄位中作 為整體地添加IP 5元組數據包640的5元組。例外列表610可以從例外列表條目去除器520 (圖5)接收指示540,以從例外列表610中去除特定5元組條目,並且可以從例外列表610去除特定5元組條目,如通過參考標號650所示。流量信息620可以包括用於基於例外列表610被重定向至緩存伺服器120的客戶端設備的連接(例如,TCP連接)或指向源設備的客戶端設備的連接的條目。如圖6所示,流量信息620可以包括連接欄位、目的地欄位、與這些欄位相關聯的多個條目。連接欄位可以包括識別基於例外列表610指向緩存伺服器120或源設備的客戶端設備的連接的條目。目的地欄位可以包括提供在連接欄位中識別的連接的目的地設備的條目。例如,流量信息620可以表明TCP連接I指向源設備I,以及TCP連接2指向緩存伺服器120。如圖6進一步示出的,流量信息620可以從客戶端設備(例如,客戶端設備110)接收TCP連接660,並且可以用TCP連接660和與TCP連接660相關聯的目的地來填充(populate)流量信息620。監視列表630可以包括來自客戶端設備(例如,客戶端設備110)的請求可以從其中檢索資源的源設備(例如,源設備130)的地址(例如,IP位址)的條目。如圖6所示,監視列表630可以包括源設備欄位、標識符欄位、與這些欄位相關聯的多個條目。源設備欄位可以包括識別可以從其中檢索資源的源設備的條目。標識符欄位可以包括提供諸如IP位址的在源設備欄位中識別的源設備的識別信息的條目。如圖6進一步示出的,監視列表630可以(例如,經由緩存伺服器120)從應答監控器150接收具有可緩存的資源的源設備的地址420 (例如,IP位址),並且可以當與特定的IP位址460相關聯的潛在的緩存命中率超過可配置的閾值時從緩存伺服器120接收特定IP位址460 (例如,特定源設備的)。監視列表630可以用IP位址420和460並且用識別與IP位址420和460相關聯的源設備的信息來填充監視列表630。在一個例性實施方式中,請求監控器140可以利用攔截列表600、例外列表610、流量信息620和/或監視列表630中的一個或多個來確定是否決定通過請求405所請求的資源可能在緩存伺服器120中被緩存(例如,緩存命中)或可能沒有在緩存伺服器120中被緩存(例如,緩存缺失)。儘管圖6示出可以在緩存命中/缺失分離器500中保存的示例性信息,但是在其它實施方式中,緩存命中/缺失分離器500可以包括比在圖6中示出的更少的信息、不同的信息、不同配置的信息或附加信息。圖7是應答監控器150的示例性功能部件的示圖。如圖所示,應答監控器150可以包括源IP位址指示器700和報告生成器710。在一個示例性實施方式中,可以通過設備200 (圖2)或設備300 (圖3)的一個或多個示例性部件來實現參照圖7描述的ー個或多個功能部件。源IP位址指示器700可以接收從源設備(例如,源設備130)向客戶端設備(例如,客戶端設備110)提供的應答流量720,並且可以經由控制協議(例如,從網絡管理員)接收可配置參數730。應答流量720可以包括從源設備到客戶端設備的應答,並且可以包括HTTP應答報頭。可配置參數730可以包括對象規模(例如,被緩存的資源的)、緩存終止時間(例如,緩存伺服器120的)、可緩存的總帶寬(例如,緩存伺服器120的)等。源IP位址指示器700可以基於包括在應答流量720中的HTTP應答報頭,檢查應答流量720 (例如,用於可被緩存的資源的)。源IP位址指示器700可以基於應答流量720的檢查以及基於可配置參數730,確定應答流量720是否包括可以存儲在緩存伺服器120中的資源。如圖7進ー步示出的,源IP位址指示器700可以向緩存伺服器120提供(例如,基於應答流量720 的檢查)被確定為包含有可緩存的資源的源設備(例如,源設備130)的地址420(例如,IP位址)。報告生成器710可以接收應答流量720。報告生成器710可以基於應答流量720產生報告425。在一個實例中,報告425可以包括描述通過緩存伺服器120提供的潛在帶寬儲蓄的報告730、基於各種參數(例如,源設備IP位址、MME類型、MME規模等)描述通信量分布的報告740、或其它類型的報告。儘管圖7示出應答監控器150的示例性功能部件,但是在其它實施方式中,應答監控器150可以包括比圖7示出的更少的功能部件、不同的功能部件、不同配置的功能部件、或附加功能部件。可選地,或另外,應答監控器150的一個或多個功能部件可以執行被描述為通過應答監控器150的一個或多個其它功能部件執行的一個或多個其它任務。圖8是緩存伺服器120的示例性功能部件的示圖。如圖所示,緩存伺服器120可以包括請求提取器810、緩存命中率確定器820、緩存命中/缺失伺服器830、資源攝取器840。在一個示例性實施方式中,可以通過設備200 (圖2)的一個或多個示例性部件來實現參照圖8描述的ー個或多個功能部件。請求提取器810可以從請求監控器140接收請求405和/或過濾後請求415,並且可以從請求405和/或過濾後請求415中提取信息(例如,數據包中提供的URL 850)。URL850可以包括在通過請求405和/或過濾後請求415識別的源設備上可得到的資源。請求提取器810可以向資源攝取器840提供URL 850作為要攝取的候選資源(例如,從源設備檢索且存儲在緩存伺服器120中)。緩存命中率確定器820可以從請求監控器140接收攔截通信量(例如請求405和/或過濾後請求415)。緩存命中率確定器820可以基於請求405和/或過濾後請求415確定在監視列表630 (例如,保存在請求監控器140中的)中提供的每個IP位址(例如,源設備的)的潛在緩存命中率。當緩存命中率確定器820確定與特定IP位址(例如,特定源設備的)相關聯的潛在緩存命中率超過可配置的閾值時,緩存命中率確定器820可以向攔截列表600 (例如,保持在請求監控器140中)添加特定IP位址,如參考標號460所示。
緩存命中/缺失伺服器830可以處理不同於緩存缺失攔截通信量的緩存命中攔截通信量。對於緩存缺失攔截通信量,緩存命中/缺失伺服器830可以產生重定向命令435,可以(經由網絡設備170)向客戶端設備110提供重定向命令435,並且可以關閉與客戶端設備110的連接。在向客戶端設備110提供重定向命令435之前,緩存命中/缺失伺服器830可以向請求監控器140提供控制消息860。控制消息860可以指示請求監控器140在請求監控器140中提供的例外列表610中添加用於客戶端設備110的條目(例如,5元組)。控制消息860可以確保來自客戶端設備110的請求405(例如,新請求440)的下一次嘗試不會被請求監控器140攔截而是改為提供給源設備130。可選地,或另外,緩存命中/缺失伺服器830可以向資源攝取器840提供與緩存缺失信息870相關聯的(例如,通過請求405、過濾後請求415、和/或其它緩存缺失請求所請求的)資源作為要攝取的候選資源。對於緩存命中攔截通信量,緩存命中/缺失伺服器830可以檢索通過請求405和/或過濾後請求415所請求的被緩存的資源455,並且可以(經由網絡設備170)向客戶端設備110提供被緩存的資源455。在一個實例中,緩存命中/缺失伺服器830可以基於指定存儲在緩存伺服器120中的資源的類型以及如何從緩存伺服器120提供資源的緩存規則, 提供被緩存的資源455。資源攝取器840可以從請求提取器810接收URL 850,並且可以從緩存命中/缺失伺服器830接收與緩存缺失信息870相關聯的資源作為要攝取的候選資源。如參考標號430所示,資源攝取器840可以攝取候選資源。在一個實例中,資源攝取器840可以在處理請求405的同時從源設備130攝取430候選資源。在另一實例中,資源攝取器840可以在不同時間(例如,在處理請求405之後)從不同源設備攝取430 —個或多個候選資源。緩存伺服器120可以在與緩存伺服器120相關聯的存儲設備中存儲所檢索的資源。在攝取430期間,例如,資源攝取器840可以向源設備130提供對於候選資源的請求,並且源設備130可以接收該請求。源設備130可以基於請求檢索候選資源,並且可以向資源攝取器840提供候選資源。資源攝取器840可以在與緩存伺服器120相關聯的存儲設備中存儲所接收的候選資源。儘管圖8示出緩存伺服器120的示例性功能部件,但是在其它實施方式中,緩存伺服器120可以包括比圖8描述的更少的功能部件、不同的功能部件、不同配置的功能部件、或附加功能部件。可選地,或另外,緩存伺服器120的一個或多個功能部件可以執行被描述為通過緩存伺服器120的一個或多個其它功能部件執行的一個或多個其它任務。在一個示例性實施方式中,緩存伺服器120、請求監控器140、應答監控器150可以部署為服務供應商網絡中的獨立部件。在另一示例性實施方式中,緩存伺服器120、請求監控器140、應答監控器150可以集成為單個設備(例如,單個伺服器、單個媒體流量控制器、單個網絡設備等)。在又一個示例性實施方式中,請求監控器140的功能性可以集成於緩存伺服器120或網絡設備170中。在進一步的示例性實施方式中,請求監控器140與應答監控器150可以作實施為對網絡設備170執行的應用。在這種實施方式中,請求監控器140可以使用網絡設備170的線卡中的流量信息(例如,類似於流量信息)來實施例外列表610。在另一示例性實施方式中,一個或多個緩存伺服器120、請求監控器140、應答監控器150的功能性可以集成於網絡設備170中。在又一個示例性實施方式中,請求監控器140可以用作對於部署縮放或添加冗餘的多個緩存伺服器的負載均衡器。在這種實施方式中,請求監控器140可以使用流量信息620來了解與每個攔截的TCP連接相關聯的緩存伺服器。在可選實施方式中,這裡描述的系統和/或方法可以使用可選的源設備IP位址,而不是例外列表610。對於具有提供相同資源的多個IP位址的許多源設備來說是共同的(例如,用於負載均衡的域名系統(DNS)循環法)。在這種情形中,這裡描述的系統和/或方法可以從監視列表630中省略一個或多個冗餘IP位址,並且可以使用被省略的IP位址作為重定向命令435的目標(圖4)。在另一可選實施方式中,這裡描述的系統和/或方法可以用請求監控器140中提供的配置驅動監視列表(例如,類似於監視列表630)來替換應答監控器150。例如,這裡描述的系統和/或方法可以構成域的列表,並且請求監控器140可以執行DNS查找以建立配置驅動監視列表。圖9和圖10是提供根據這裡描述的實施方式的代理緩存方案的請求監控功能的示例性處理900的流程圖。在一個實施方式中,處理900可以通過請求監控器140執行。在 另ー個實施方式中,處理900的某些或全部可以通過除了請求監控器140之外的或與請求監控器140相結合的ー個或多個設備執行來執行。可以並發或獨立執行在圖9和圖10中示出的ー個或多個處理塊。如圖9所示,處理900可以包括從客戶端設備接收對於資源的請求(塊910),並且基於信息確定所請求的資源可能被緩存(緩存命中)還是可能沒有被緩存(緩存缺失)(塊920)。例如,在上面參照圖4A描述的實施方式中,客戶端設備110可以向網絡設備170提供對於資源的請求405,並且網絡設備170可以向請求監控器140提供請求405。請求監控器140可以接收請求405,並且可以基於信息(例如,在請求監控器140中提供的)來確定通過請求405所請求的資源可能在緩存伺服器120中被緩存(例如,緩存命中)還是可能沒有在緩存伺服器120中被緩存(例如,緩存缺失)。如在圖9中進ー步示出的,當所請求的資源可能被緩存(塊920-緩存命中)時,處理900可以包括向緩存伺服器轉發請求,其中緩存伺服器基於請求檢索被緩存的資源,並且向客戶端設備轉發被緩存的資源(塊930)。例如,在上面參照圖4B描述的實施方式中,緩存伺服器120可以接收請求405和/或過濾後請求415。緩存伺服器120可以檢索通過請求405所請求的被緩存的資源455,並且可以(經由網絡設備170)向客戶端設備110提供被緩存的資源455。客戶端設備110可以接收和/或利用被緩存的資源455。返回至圖9,當所請求的資源可能沒有被緩存(塊920-緩存缺失)時,處理900可以包括向緩存伺服器轉發請求,其中緩存伺服器基於請求向客戶端設備轉發重定向命令,並且客戶端設備基於重定向命令從源設備獲得資源(塊940)。例如,在上面參照圖4A描述的實施方式中,請求監控器140可以經由控制協議向緩存伺服器120報告請求405和/或過濾後請求415。緩存伺服器120可以產生重定向命令435 (具有HTTP應答狀態代碼「302」的命令),可以(經由網絡設備170)向客戶端設備110提供重定向命令435,並且可以關閉與客戶端設備110的連接。重定向命令435可以指示客戶端設備110重連接以及重試請求405。客戶端設備110可以接收重定向命令435,可以重試請求405 (例如,作為新請求440),並且可以向網絡設備170提供新請求440。新請求440可以包括用於通過請求405所請求的相同資源的請求。處理塊920可以包括圖10中描述的處理塊。如圖10所示,處理塊920可以包括創建包括與路由至緩存伺服器的通信量相關聯的源IP位址的條目的攔截列表(塊1000);創建包括儘管在攔截列表中匹配卻路由至源設備的數據包的IP 5元組的條目的例外列表(塊1010);創建包括指向緩存伺服器或源設備的連接的條目的流量信息(塊1020);和/或創建包括源設備IP位址的條目的監視列表(塊1030)。處理塊920還可以包括,基於攔截列表和例外列表確定所請求的資源是否可能被緩存(塊1040)。 例如,在上面參照圖5和圖6描述的實施方式中,請求監控器140可以包括緩存命中/缺失分離器500。緩存命中/缺失分離器500可以包括攔截列表600、例外列表610、流量信息620、監視列表630。如上所述,攔截列表600可以包括源設備(例如,源設備130)的地址(例如,IP位址)的條目,對於該源設備來說來自客戶端設備(例如,客戶端設備110)的資源請求應該被攔截且路由至緩存伺服器120而不是發送給源設備。例外列表610可以包括儘管與攔截列表600中提供的條目匹配卻應該轉發至源設備的資源請求數據包的條目。用於資源請求數據包的條目可以通過與每個數據包相關聯的5元組來標引索引。流量信息620可以包括被重定向至緩存伺服器120的客戶端設備的連接(例如,TCP連接)或指向基於例外列表610的源設備的客戶端設備的連接的條目。監視列表630可以包括從其可以檢索資源的源設備的地址的條目。緩存命中/缺失分離器500可以基於信息(例如, 攔截列表600、例外列表610、流量信息620、和/或監視列表630)確定通過請求405所請求的資源可能在緩存伺服器120中被緩存(例如,緩存命中)還是可能沒有在緩存伺服器120中被緩存(例如,緩存缺失)。圖11是提供根據這裡描述的實施方式的代理緩存方案的應答監控功能的示例性處理1100的流程圖。在一個實施方式中,可以通過應答監控器150執行處理1100。在另一實施方式中,處理1100的某些或全部可以通過除了應答監控器150之外的或與應答監控器150相結合的一個或多個設備來執行。可以並發或獨立執行圖11中所示的一個或多個處理塊。如圖11所示,處理1100可以包括從源設備向客戶端設備提供的通信量(塊1110),並且基於參數確定通信量是否包括要在緩存伺服器中被緩存的資源(塊1120)。例如,在上面參照圖4A描述的實施方式中,應答監控器150可以監控從源設備130到客戶端設備110提供的通信量(例如,應答流量)。應答監控器150可以監控從其它源設備向其它客戶端設備提供的通信量,並且可以基於一套可配置的參數(例如,對象規模、緩存終止時間、可緩存的總帶寬等)確定通信量是否包括可以存儲在緩存伺服器120中的資源。從圖11進一步示出的,處理1100可以包括,向請求監控器提供被確定為具有可緩存的資源的源設備的IP位址(塊1130),和/或基於通信量確定來產生潛在帶寬儲蓄報告和通信量分布報告(塊1140)。例如,在上面參照圖4A描述的實施方式中,應答監控器150可以向請求監控器140提供具有可緩存的資源的源設備(例如,源設備130)的地址420(例如,IP位址)。請求監控器140可以接收地址420,並且可以向監視列表添加地址420。應答監控器150同樣可以基於所監控的通信量產生報告425。在一個實例中,報告425可以包括描述通過緩存伺服器120提供的潛在帶寬儲蓄的報告、基於各種參數(例如,源設備IP位址、MIME類型、MIME規模等)描述通信量分布的報告、或其它類型的報告。圖12A和圖12B示出提供根據這裡描述的實施方式的模塊化的透明代理緩存的示例性處理1200的流程圖。在一個實施方式中,可以通過緩存伺服器120執行處理1200。在另ー實施方式中,處理1200的某些或全部可以通過除了緩存伺服器120之外的或與緩存伺服器120相結合的ー個或多個設備來執行。可以並發或獨立執行圖12A和圖12B中所示的ー個或多個處理塊。如圖12A所示,處理1200可以包括,從請求監控器接收對於與包括具有可緩存資源的源設備的IP位址的監視列表中的條目相匹配的資源的請求(塊1205),並且添加所請求的資源作為要存儲的候選資源(塊1210)。例如,在上面參照圖4A描述的實施方式中,緩存伺服器120可以從請求監控器140接收過濾後請求415 (例如,其可以包括請求405),並且可以從過濾後請求415中提取諸如數據包中提供的URL的信息。所提取的信息可以包括在通過過濾後請求415識別的且匹配監視列表(例如,其包括具有可緩存的資源的源設備的IP位址)的源設備上可得到的資源。緩存伺服器120可以添加所提取的信息作為要攝取的候選資源。在一個實例中,請求監控器140可以基於與源設備相關聯的IP位址的監視列表,過濾額外的資源請求(例如,創建過濾後請求415)。如圖12A進ー步示出的,處理1200可以包括,為監視列表中的每個IP位址分析緩存命中率(圖1215),並且當IP位址的緩存命中率超過閾值時向攔截列表添加IP位址(塊 求415為請求監控器140中保存的監視列表中提供的每個IP位址(例如,源設備的)分析潛在的緩存命中率。當與特定源設備的特定IP位址相關聯的潛在的緩存命中率超過可配置的閾值時,緩存伺服器120可以經由控制協議向保存在請求監控器140中的攔截列表添加特定的IP位址,如參考標號460所示。如圖12B所示,處理1200可以包括確定通過從請求監控器接收的攔截通信量所請求的資源被存儲(緩存命中)還是沒有被存儲(緩存缺失)(塊1225)。當所請求的資源被存儲(塊1225-緩存命中)時,處理1200可以包括向客戶端設備提供所存儲的資源(塊1230)。例如,在上面參照圖4A和圖4B描述的實施方式中,緩存伺服器120可以接收與攔截通信量相關聯的連接(例如,TCP連接),並且可以利用源設備130的IP位址為客戶端設備110服務(例如,屏蔽與緩存伺服器120相關聯的地址)。對於緩存命中,緩存伺服器120可以接收請求405和/或過濾後請求415。緩存伺服器120可以檢索通過請求405請求的被緩存的資源455,並且可以(經由網絡設備170)向客戶端設備110提供被緩存的資源 455。如圖12B進ー步所示,當所請求的資源可能沒有被存儲(塊1225-緩存缺失)吋,處理1200可以包括向客戶端設備返回重定向命令(塊1235),關閉與客戶端設備的連接(塊1240),並且添加從攔截通信量所請求的資源作為要存儲的候選資源(塊1245)。例如,在上面參照圖4A描述的實施方式中,在請求405的緩存缺失情形中,除了提供對於請求405的代理(例如,以源設備130的名義提供資源),緩存伺服器120可以產生重定向命令435 (例如,具有HTTP應答狀態代碼「302」的命令),可以(經由網絡設備170)向客戶端設備110提供重定向命令435,並且可以關閉與客戶端設備110的連接。緩存伺服器120可以添加資源(例如,通過請求405所請求的或其它緩存缺失資源)作為(例如,經由攝取430)要攝取的候選資源。返回至圖12B,處理1200可以包括從源設備檢索候選資源(塊1250),並且存儲檢索的候選資源(塊1255)。例如,在上面參照圖4A描述的示例性實施方式中,緩存伺服器120可以添加所提取的信息作為要攝取的候選資源(例如,從源設備檢索且存儲在緩存伺服器120中),並且可以攝取候選資源,如參考標號430所示。緩存伺服器120可以在與緩存伺服器120相關聯的存儲設備中存儲所檢索的候選資源。圖13是能夠通過網絡100的另一示例性部分1300執行的示例性操作的示圖。如圖13所示,示例性網絡部分1300可以包括客戶端設備110、緩存伺服器120、源設備130、網絡設備170。客戶端設備110、緩存伺服器120、源設備130、網絡設備170可以包括在上面參照圖I 圖12B中的一個或多個描述的特徵。如圖13所示,網絡設備170可以包括緩存命中/缺失模塊1310。在一個實例中,緩存命中/缺失模塊1310可以包括在設置在網絡設備170的服務平面中的硬體上執行的緩存命中/缺失軟體。客戶端設備110可以向網絡設備170提供對於資源的請求1320,並且網絡設備170可以經由緩存命中/缺失模塊1310接收請求1320。緩存命中/缺失模塊1310可以用作對於來自客戶端設備110的請求的代理,並且可以將答覆發送回至客戶端設 備110直到緩存命中/缺失模塊1310確定請求1320是HTTP GET請求(例如,請求特定的資源)或HTTP HEAD請求(例如,請求類似於GET請求的資源)。一旦緩存命中/缺失模塊1310確定請求1320是HTTP GET或HEAD請求,則緩存命中/缺失模塊1310可以確定通過請求1320所請求的資源在緩存伺服器120中被緩存(例如,緩存命中)還是沒有在緩存伺服器120中被緩存(例如,緩存缺失)。在一個示例性實施方式中,緩存命中/缺失模塊1310基於網絡設備170中提供的信息(例如,如上面參照圖6描述的,攔截列表600、例外列表610、流量信息620、和/或監視列表630)確定通過請求1320所請求的資源是否在緩存伺服器120中被緩存。如果緩存命中/缺失模塊1310確定通過請求1320所請求的資源沒有在緩存伺服器120中被緩存(例如,緩存缺失),則緩存命中/缺失模塊1310可以在網絡設備170中建立臨時防火牆過濾器1330。防火牆過濾器1330可以包括在與網絡設備170相關聯的防火牆中設置的臨時過濾器,並且可以使來自客戶端設備110的資源請求能夠利用轉發平面發送至源設備130。在建立防火牆過濾器1330之後、之前、或同時,緩存命中/缺失模塊1310可以產生重定向命令1340 (例如,具有HTTP應答狀態代碼「302」的命令),可以向客戶端設備110提供重定向命令1340,並且可以關閉與客戶端設備110的連接。重定向命令1340可以指示客戶端設備110重連接以及重試請求1320。緩存命中/缺失模塊1310同樣可以向緩存伺服器120通知與請求1320相關聯的緩存缺失,並且可以指示緩存伺服器120獲得通過請求1320所請求的資源,如通過參考標號1350所示。緩存伺服器120可以接收指令1350,並且可以從源設備130檢索新資源1355 (例如,通過請求1320請求的)。在一個示例性實施方式中,緩存命中/缺失模塊1310與緩存伺服器120可以分別進行通信,直到緩存伺服器120從源設備130檢索到新資源1355。客戶端設備110可以接收重定向命令1340,可以重試請求1320(例如,作為發起與源設備130的TCP連接的新請求1360),並且可以向網絡設備170的防火牆過濾器1330提供新請求1360。新請求1360可以包括對於通過請求1320所請求的相同資源的請求。防火牆過濾器1330可以接收新請求1360,並且可以向源設備130轉發新請求1360,而不涉及緩存命中/缺失模塊1310。源設備130可以接收新請求1360,可以檢索通過新請求1360所請求的資源1370,並且可以向網絡設備170提供資源1370。網絡設備170可以向客戶端設備110轉發資源1370,並且客戶端設備110可以接收和/或利用資源1370。在客戶端設備110接收資源1370之後,防火牆過濾器1330可以向緩存命中/缺失模塊1310提供表示與資源1370的檢索相關聯的會話完成的通知1380。當緩存命中/缺失模塊1310接收到通知1380吋,緩存命中/缺失模塊1310可以(例如,從與網絡設備170相關聯的防火牆)去除防火牆過濾器1330,如通過參考標號1390所示,使得任何來自客戶端設備110的新請求可以再次通過緩存命中/缺失模塊1310。儘管圖13示出網絡部分1300的示例性部件,但是在其它實施方式中,網絡部分1300可以包括比圖13示出的更少的部件、不同的部件、不同配置的部件、或附加部件。可選 或多個其它部件執行的一個或多個其它任務。圖14是能夠通過網絡100的又一示例性部分1400執行的示例性操作的示圖。如圖14所示,示例性網絡部分1400可以包括客戶端設備110、緩存伺服器120、網絡設備170 (具有緩存命中/缺失模塊1310)。客戶端設備110、緩存伺服器120、緩存命中/缺失模塊1310可以包括在上面參照圖I 圖13中的一個或多個描述的特徵。如圖14進ー步示出的,客戶端設備110可以向網絡設備170提供對於資源的請求1410,並且網絡設備170可以經由緩存命中/缺失模塊1310接收請求1410。緩存命中/缺失模塊1310可以用作對於來自客戶端設備110的請求的代理,並且可以將答覆發送回客戶端設備110直到緩存命中/缺失模塊1310確定請求1410是HTTP GET或HEAD請求。一旦緩存命中/缺失模塊1310確定請求1410是HTTP GET或HEAD請求,則緩存命中/缺失模塊1310可以確定通過請求1410所請求的資源在緩存伺服器120中被緩存(例如,緩存命中)還是沒有在緩存伺服器120中被緩存(例如,緩存缺失)。如果緩存命中/缺失模塊1310確定通過請求1410所請求的資源在緩存伺服器120中被緩存(例如,緩存命中),則緩存命中/缺失模塊1310可以產生重定向命令1420(例如,具有HTTP應答狀態代碼「302」的命令),可以向客戶端設備110提供重定向命令1420,並且可以關閉與客戶端設備110的連接。重定向命令1420可以指示客戶端設備110重連接以及重試請求1410。客戶端設備110可以接收重定向命令1420,可以重試請求1410 (例如,發起與緩存伺服器120的TCP連接的新請求1430),並且可以向網絡設備170提供新請求1430。新請求1430可以包括對於通過請求1410所請求的相同資源的請求,但是可以包括緩存伺服器120的地址(例如,雖然請求1410可能不包括緩存伺服器120的地址)。緩存命中/缺失模塊1310可以接收新請求1430,並且可以確定新請求1430包括緩存伺服器120的地址。基於緩存伺服器120的地址,緩存命中/缺失模塊1310可以向緩存伺服器120轉發新請求1430。緩存伺服器120可以接收新請求1430,可以檢索通過新請求1430所請求的資源1440,並且可以向網絡設備170提供資源1440。網絡設備170可以向客戶端設備110轉發資源1440,並且客戶端設備110可以接收和/或利用資源1440。儘管圖14示出網絡部分1400的示例性部件,但是在其它實施方式中,網絡部分1400可以包括比圖14示出的更少的部件、不同的部件、不同配置的部件、或附加部件。可選地,或另外,網絡部分1400的一個或多個部件可以執行被描述為通過網絡部分1400的ー個或多個其它部件執行的一個或多個其它任務。
圖15是用於優化根據這裡描述的實施方式的代理緩存方案中的內容流量的示例性處理1500的流程圖。在一個實施方式中,可以通過網絡設備170執行處理1500。在另一實施方式中,處理1500的某些或全部可以通過除了網絡設備170之外的或與網絡設備170相結合的一個或多個設備來執行。可以並發或獨立執行在圖15中描述的一個或多個處理塊。如圖15所示,處理1500可以包括,經由緩存命中/缺失模塊從客戶端設備接收對於資源的請求(塊1510),並且經由緩存命中/缺失模塊確定所請求的資源被緩存(緩存命中)還是沒有被緩存(緩存缺失)(塊1520)。例如,在上面參照圖13描述的實施方式中,客戶端設備可以向網絡設備170提供對於資源的請求1320,並且網絡設備170可以經由緩存命中/缺失模塊1310接收請求1320。緩存命中/缺失模塊1310可以用作對於來自客戶端設備110的請求的代理,並且可以將答覆發送回客戶端設備110直到緩存命中/缺失模塊1310確定請求1320是HTTP GET請求(例如,請求特定的資源)或HTTP HEAD請求(例如,請求類似於GET請求的資源)。一旦緩存命中/缺失模塊1310確定請求1320是HTTPGET或HEAD請求,則緩存命中/缺失模塊1310可以確定通過請求1320所請求的資源在緩 存伺服器120中被緩存(例如,緩存命中)還是沒有在緩存伺服器120中被緩存(例如,緩存缺失)。如圖15進一步示出的,當所請求的資源被緩存(塊1520-緩存命中)時,處理1500可以包括提供指示客戶端設備從緩存伺服器請求資源的命令(塊1530),基於命令從客戶端設備接收新請求(塊1540),並且基於新請求使客戶端設備能夠從緩存伺服器接收所請求的資源(塊1550)。例如,在上面參照圖14描述的實施方式中,如果緩存命中/缺失模塊1310確定通過請求1410所請求的資源在緩存伺服器120中被緩存(例如,緩存命中),則緩存命中/缺失模塊1310可以產生重定向命令1420,並且可以向客戶端設備110提供生重定向命令1420。重定向命令1420可以指示客戶端設備重連接以及重試請求1410。客戶端設備110可以接收重定向命令1420,可以重試請求1410(例如,作為發起與緩存伺服器120的TCP連接的新請求1430),並且可以向緩存命中/缺失模塊1310提供新請求1430。新請求1430可以包括緩存伺服器120的地址,而請求1410可能不包括緩存伺服器120的地址。基於緩存伺服器120的地址,緩存命中/缺失模塊1310可以向緩存伺服器120轉發新請求1430。緩存伺服器120可以接收新請求1430,可以檢索通過請求1430所請求的資源1440,並且可以向網絡設備170提供資源1440。網絡設備170可以向客戶端設備110轉發資源1440。返回至圖15,當所請求的資源沒有被緩存(塊1520-緩存缺失)時,處理1500可以包括,經由緩存命中/缺失模塊創建防火牆過濾器,並且提供指示客戶端設備從源設備請求資源的命令(塊1560);基於命令經由防火牆過濾器從客戶端設備接收對於資源的新請求(塊1570);基於新請求使客戶端設備能夠經由防火牆過濾器從源設備接收所請求的資源(塊1580);並且在客戶端設備接收到所請求的資源之後去除防火牆過濾器(塊1590)。例如,在上面參照圖13描述的實施方式中,如果緩存命中/缺失模塊1310確定通過請求1320所請求的資源沒有在緩存伺服器120中被緩存(例如,緩存缺失),則緩存命中/缺失模塊1310可以在網絡設備170中建立臨時的防火牆過濾器1330。在建立防火牆過濾器1330之後、之前、或同時,緩存命中/缺失模塊1310可以產生重定向命令1340,並且可以向客戶端設備110提供重定向命令1340。重定向命令1340可以指示客戶端設備110重連接且重試請求1320。客戶端設備110可以接收重定向命令1340,可以重試請求1320 (例如,作為發起與源設備130的TCP連接的新請求1360),並且可以向網絡設備170的防火牆過濾器1330提供新請求1360。防火牆過濾器1330可以接收新請求1360,並且可以向源設備130轉發新請求1360。源設備130可以接收新請求1360,可以檢索通過新請求1360所請求的資源1370,並且可以向網絡設備170提供資源1370。網絡設備170可以向客戶端設備110轉發資源1370。在客戶端設備110接收到資源1370之後,緩存命中/缺失模塊1310可以(例如,從與網絡設備170相關聯的防火牆)去除防火牆過濾器1330,如參考標號1390所示,使得來自客戶端設備HO的任何新請求可以再次通過緩存命中/缺失模塊1310。這裡描述的系統和/或方法可以提供分離緩存命中和緩存缺失的模塊化的透明代理緩存方案,其中緩存命中可以指的是,當所請求的資源存儲在諸如緩存伺服器的代理緩存中的時候,而緩存缺失可以指的是,當所請求的資源未存儲在諸如緩存伺服器的代理緩存中的時候。該系統和/或方法可以使速緩存命中通信量能夠通過緩存伺服器利用存儲資源的源設備的IP位址來提供,並且可以使緩存缺失通信量在(例如,請求資源的)客戶 端設備與源設備之間流動而沒有任何層7攔截。緩存伺服器可以利用ー組經配置的與源設備相關聯的IP位址異步檢索以及存儲諸如內容、服務等的資源。在一個實例中,當緩存缺失發生吋,該系統和/或方法可以將重定向命令提供回請求資源的客戶端設備。響應於重定向命令,客戶端設備可以產生可以提供給源設備的新資源請求而沒有緩存伺服器的幹預。這裡使用的術語「部件」 g在廣泛地理解為包括硬體(例如,處理器、微處理器、ASIC、FPGA、晶片、存儲設備(例如,ROM、RAM等)等)或硬體和軟體的組合(例如,執行包含在存儲設備中的軟體的處理器、微處理器、ASIC等)。這裡使用的術語「數據包」g在廣泛地理解為包括幀、數據報文、數據包(packet)、或信元(cell);幀的片段、數據報文的片段、數據包的片段、或信元的片段;或另ー類型、配置、或數據的封裝。前述實施方式提供了圖解和描述,但是並未意在窮盡或將本發明限制為所公開的準確形式。修改和變化根據上面的教導是可能的,或可以從本發明的實踐中獲得。例如,雖然已經參照圖9 圖12B和圖15描述了一系列塊,但是在其它實施方式中可以修改塊的順序。此外,可以並行執行非相關塊。顯而易見,如上所述的示例性方面可以用圖中示出的實施方式中的軟體、固件、硬體的許多不同形式來實施。用於實施這些方面的實際軟體代碼或專用控制軟體不應理解為限制。因此,不參照特定的軟體代碼描述方面的操作和行為——應當理解,可以基於這裡的說明將軟體和控制硬體設計為實施這些方面。儘管在說明書的權利要求和/或公開中記載了特徵的特定組合,但是這些組合併未意在限制本發明的公開。實際上,這些特徵中的許多可以用沒有在申請文件中的權利要求和/或公開中具體記載的方式進行組合。儘管下面列出的每個從屬權利要求可以直接僅引用另ー個權利要求,但是本發明的公開包括與權利要求書中的其它每個權利要求相結合的每個從屬權利要求。本申請中使用的元件、動作或指令不應被解釋為對於本發明是關鍵的或必須的,除非明確地描述為這樣。同樣,如這裡使用的,冠詞「一(a)」旨在包括一個或多個項目。當僅僅指的是一個項目時,使用術語「一個(one)」或類似的語言。此外,除非明確表述為其他,否則詞組「基於」旨在表示「至少 部分地基於」。
權利要求
1.一種用於提供代理緩存的方法,所述方法包括 通過計算設備從客戶端設備接收對於能夠從源設備獲得的資源的請求; 通過所述計算設備確定所述資源是否被緩存在與所述源設備相關聯的緩存伺服器中; 當所述資源被緩存在所述緩存伺服器中時,通過所述計算設備提供指示所述客戶端設備從所述緩存伺服器請求所述資源的第一命令; 響應於提供所述第一命令,通過所述計算設備從所述客戶端設備接收對於所述資源的第一新請求; 通過所述計算設備以及基於所述第一新請求使所述客戶端設備能夠從所述緩存伺服器接收所述資源; 當所述資源沒有被緩存在所述緩存伺服器中時,通過所述計算設備創建防火牆過濾器; 當所述資源沒有被緩存在所述緩存伺服器中時,通過所述計算設備提供指示所述客戶端設備從所述源設備請求所述資源的第二命令; 響應於提供所述第二命令,經由所述防火牆過濾器從所述客戶端設備接收對於所述資源的第二新請求;以及 經由所述防火牆過濾器以及基於所述第二新請求使所述客戶端設備能夠從所述源設備接收所述資源,而無需訪問所述緩存伺服器。
2.根據權利要求I所述的方法,還包括 響應於所述客戶端設備從所述源設備接收到所述資源,去除所述防火牆過濾器。
3.根據權利要求2所述的方法,其中,包括在所述計算設備中的緩存命中/缺失模塊創建和去除所述防火牆過濾器。
4.根據權利要求3所述的方法,其中,所述緩存命中/缺失模塊包括在所述計算設備的服務平面中。
5.根據權利要求3所述的方法,其中,接收對於所述資源的請求包括 通過所述緩存命中/缺失模塊向所述客戶端設備發送一個或多個答覆,直到所述緩存命中/缺失模塊確定所述請求包括超文本傳輸協議(HTTP) GET請求或HTTP HEAD請求中的一個。
6.根據權利要求I所述的方法,還包括 當所述資源沒有被緩存在所述緩存伺服器中時,請求所述緩存伺服器從所述源設備檢索所述資源。
7.根據權利要求I所述的方法,其中,所述防火牆過濾器向所述源設備提供所述第二新請求,並且所述方法還包括 基於所述第二新請求從所述源設備接收所述資源;以及 向所述客戶端設備轉發所述資源。
8.一種網絡設備,包括 存儲器,存儲關於存儲在緩存伺服器中的資源的信息;以及 處理器,被配置為 從客戶端設備接收對於能夠從源設備獲得的資源的請求,基於所存儲的信息,確定所述資源是否被緩存在所述緩存伺服器中, 當所述資源被緩存在所述緩存伺服器中時,提供指示所述客戶端設備從所述緩存伺服器請求所述資源的第一命令, 響應於提供所述第一命令,從所述客戶端設備接收對於所述資源的第一新請求, 基於所述第一新請求,使所述客戶端設備能夠從所述緩存伺服器接收所述資源, 當所述資源沒有被緩存在所述緩存伺服器中時,創建防火牆過濾器, 當所述資源沒有被緩存在所述緩存伺服器中時,提供指示所述客戶端設備從所述源設備請求所述資源的第二命令, 響應於提供所述第二命令,經由所述防火牆過濾器從所述客戶端設備接收對於所述資源的第二新請求, 經由所述防火牆過濾器以及基於所述第二新請求使所述客戶端設備能夠從所述源設備接收所述資源,而無需訪問所述緩存伺服器,以及 響應於所述客戶端設備從所述源設備接收到所述資源,去除所述防火牆過濾器。
9.根據權利要求8所述的網絡設備,其中,所述處理器還被配置為 從所述客戶端設備接收對於能夠從所述源設備獲得的另一資源的另一請求, 基於所述信息,確定所述另一資源是否被緩存在所述緩存伺服器中, 當所述另一資源被緩存在所述緩存伺服器中時,提供指示所述客戶端設備從所述緩存伺服器請求所述另一資源的第三命令, 響應於提供所述第三命令,從所述客戶端設備接收對於所述另一資源的第三新請求,以及 基於所述第三新請求,使所述客戶端能夠從所述緩存伺服器接收所述另一資源。
10.根據權利要求9所述的網絡設備,其中,所述處理器還被配置為 當所述另一資源沒有被緩存在所述緩存伺服器中時,重新創建所述防火牆過濾器, 當所述另一資源沒有被緩存在所述緩存伺服器中時,提供指示所述客戶端設備從所述源設備請求所述另一資源的第四命令, 響應於提供所述第四命令,經由所述防火牆過濾器,從所述客戶端設備接收對於所述資源的第四新請求,以及 經由所述防火牆過濾器以及基於所述第四新請求,使所述客戶端設備能夠從所述源設備接收所述另一資源,而無需訪問所述緩存伺服器。
11.根據權利要求8所述的網絡設備,還包括 緩存命中/缺失模塊,被配置為創建和去除所述防火牆過濾器。
12.根據權利要求11所述的網絡設備,其中,所述緩存命中/缺失模塊包括在所述網絡設備的服務平面中。
13.根據權利要求11所述的網絡設備,其中,所述緩存命中/缺失模塊還被配置為 向所述客戶端設備發送答覆,直到所述緩存命中/缺失模塊確定所述請求包括超文本傳輸協議(HTTP) GET請求或HTTP HEAD請求中的一個。
14.根據權利要求8所述的網絡設備,其中,所述處理器還被配置為 當所述資源沒有被緩存在所述緩存伺服器中時,請求所述緩存伺服器從所述源設備檢索所述資源。
15.—種系統,包括 一個或多個網絡設備,用於 存儲關於存儲在緩存伺服器中的資源的信息;以及 從客戶端設備接收對於能夠從源設備獲得的資源的請求, 基於所存儲的信息,確定所述資源是否被緩存在一個或多個設備的第一設備中, 當所述資源被緩存在所述第一設備中時,提供指示所述客戶端設備從所述第一設備請求所述資源的第一命令, 響應於提供所述第一命令,從所述客戶端設備接收對於所述資源的第一新請求, 基於所述第一新請求,使所述客戶端設備從所述第一設備接收所述資源, 當所述資源沒有被緩存在所述第一設備中時,創建防火牆過濾器, 當所述資源沒有被緩存在所述第一設備中時,提供指示所述客戶端設備從所述源設備請求所述資源的第二命令, 響應於提供所述第二命令,經由所述防火牆過濾器,從所述客戶端設備接收對於所述資源的第二新請求, 經由所述防火牆過濾器以及基於所述第二新請求,使所述客戶端設備能夠從所述源設備接收所述資源,而無需訪問所述第一設備,以及 響應於所述客戶端設備從所述源設備接收到所述資源,去除所述防火牆過濾器。
16.根據權利要求15所述的系統,其中,所述一個或多個設備還用於 響應於所述客戶端設備從所述源設備接收所述資源,去除所述防火牆過濾器。
17.根據權利要求15所述的系統,其中,所述一個或多個設備還用於 實現被配置為創建和去除所述防火牆過濾器的模塊。
18.根據權利要求17所述的系統,其中,所述模塊被包括在所述一個或多個設備中的一個的服務平面中。
19.根據權利要求17所述的系統,其中,所述請求包括超文本傳輸協議(HTTP)GET請求或HTTP HEAD請求中的一個。
20.根據權利要求15所述的系統,其中,所述一個或多個設備還用於 當所述資源沒有被緩存在所述第一設備中時,請求所述第一設備中的一個從所述源設備檢索所述資源。
全文摘要
本發明公開了資源的透明代理緩存。一種設備,從客戶端設備接收對於能夠從源設備獲得的資源的請求,並且確定資源是否在緩存伺服器中被緩存。當資源被緩存時,該設備提供指示客戶端設備從緩存伺服器請求資源的第一命令,從客戶端設備接收對於資源的第一新請求,並且基於第一新請求使客戶端設備能夠從緩存伺服器接收資源。當資源沒有被緩存時,該設備創建防火牆過濾器,提供指示客戶端設備從源設備請求資源的第二命令,經由防火牆過濾器從客戶端設備接收對於資源的第二新請求,並且基於第二新請求使客戶端設備能夠從源設備接收資源。
文檔編號H04L29/06GK102685177SQ201110231959
公開日2012年9月19日 申請日期2011年8月12日 優先權日2011年3月18日
發明者拉納迪普·達斯, 羅伯特·哈伯德 申請人:叢林網絡公司