亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

網(wǎng)絡集成動態(tài)資源路由的制作方法

文檔序號:7773626閱讀:139來源:國知局
專利名稱:網(wǎng)絡集成動態(tài)資源路由的制作方法
技術領域
本發(fā)明大體上涉及網(wǎng)絡中的數(shù)據(jù)傳輸,尤其涉及用于動態(tài)資源路由的方法和設備。
背景技術
服務提供商是出售與其相關的網(wǎng)絡(例如,互聯(lián)網(wǎng)、數(shù)據(jù)網(wǎng)絡、電信網(wǎng)絡等)所提供的帶寬或訪問上述網(wǎng)絡的實體(例如,企業(yè)或組織)。服務提供商可以包括電信公司、數(shù)據(jù)載體、無線通信提供商、互聯(lián)網(wǎng)服務提供商、提供高速互聯(lián)網(wǎng)接入的有線電視運營商等。諸如視頻、音頻、圖像、軟件下載的內(nèi)容使用的快速增長對服務提供商提出更高的帶寬需求,該帶寬需求對于重大內(nèi)容和事件具有尖峰。內(nèi)容可以從諸如安裝于服務提供商的網(wǎng)絡中的源服務器、鏡像服務器、緩存服務器等服務器提供給客戶端設備??蛻舳嗽O備可以使用諸如超文本傳輸協(xié)議(HTTP)、實時消息協(xié)議(RTMP)等互聯(lián)網(wǎng)協(xié)議請求訪問這些內(nèi)容。在客戶端設備請求訪問內(nèi)容時,該請求必須路由至網(wǎng)絡中合適的服務器。路由該請求需考慮數(shù)個因素,諸如,提高客戶端設備的體驗(例如,等待時間、內(nèi)容傳輸速度等)、網(wǎng)絡和內(nèi)容傳輸基礎設施的成本及其擴展性等。然而,由于服務提供商網(wǎng)絡的復雜性和載荷變動性日益增加,因此對于服務提供商來說,越來越難以將請求路由到合適的服務器。此外,客戶端設備的數(shù)量和類型,還有內(nèi)容量也在飛速增長。另外,服務提供商有必要將其服務聯(lián)合以提供全球性方案。為了解決這些問題,服務提供商目前采用了不同類型的方案,諸如基于域名系統(tǒng)(DNS)的方案、基于邊界網(wǎng)關協(xié)議(BGP)的方案,以及基于應用級的方案等。每個方案利用手動提供(manual provisioning)在現(xiàn)有網(wǎng)絡路由基礎設施的頂部提供覆蓋。手動提供涉及服務提供商通告服務器的互聯(lián)網(wǎng)協(xié)議(IP)地址。對于較大的內(nèi)容類型(如視頻、下載等),該方案并不能提供任何機會以在單個請求語境內(nèi)進一步優(yōu)化路由。在服務提供商有必要聯(lián)合其服務的情況下,該方案也不起作用。在基于DNS的方案中,客戶端設備通常執(zhí)行DNS查找,將域名解析為IP地址。DNS服務專用于基于諸如地理位置、服務器載荷、內(nèi)容位置等因素來動態(tài)地選擇服務器IP地址。然而,基于DNS的方案僅提供以域級粗粒度的路由。在基于BGP的方案中,在多個位置中支持給定的服務器IP地址。例如,每個不同區(qū)域可以包括具有相同IP地址的服務器,且服務器可以通告該IP地址。然而,基于BGP的方案僅提供以服務器水平的粗粒度的路由,并且尤其不能處理網(wǎng)絡問題(例如,網(wǎng)絡阻塞、服務器故障等)。關于基于應用級的方案,服務器能夠經(jīng)由(例如)HTTP協(xié)議將客戶端設備重新定向至不同的服務器。例如,一些服務提供商以應用級采用在其網(wǎng)絡中的內(nèi)容服務器??梢酝ㄟ^顯式地將內(nèi)容請求路由(例如,經(jīng)由DNS或BGP)至以應用級實現(xiàn)的內(nèi)容路由器來執(zhí)行基于應用級的方案。另一個應用級路由實例包括門戶服務器,它基于內(nèi)容請求源自何處而在門戶服務器返回的超文本標記語言(HTML)頁面中嵌入不同的統(tǒng)一資源定位器(URL)。然而,由于與內(nèi)容服務器相關的連接設置和額外路由,因此基于應用級的方案增加了客戶端設備的等待時間。此外,基于應用級的方案難于擴展,如果所有請求必須路由到內(nèi)容服務器,則該內(nèi)容服務器可能會變成網(wǎng)絡的瓶頸。

發(fā)明內(nèi)容
根據(jù)一方面,一種由計算設備執(zhí)行的方法可以包括由計算設備從客戶端設備接收對于資源的請求;由計算設備基于請求中提供的信息確定是否在該計算設備處終止針對該請求的連接;如果在該計算設備處未終止連接,計算設備將請求轉(zhuǎn)發(fā)至網(wǎng)絡;如果在該計算設備處終止連接,計算設備將為資源選擇目標設備;計算設備將請求提供至選定的目標設備;計算設備從選定的目標設備接收資源;以及計算設備將資源提供至客戶端設備。
根據(jù)另一方面,網(wǎng)絡設備可以包括用于存儲資源的本地緩存的存儲器和處理器。該處理器可以接收來自客戶端設備的對于資源的請求,并可以基于請求中提供的信息在網(wǎng)絡設備處終止對于該請求的連接。該處理器可以確定資源是否存儲在本地緩存中,如果資源存儲在本地緩存中,則可以選擇本地緩存作為資源的目標設備,如果資源未存儲在本地緩存中,則可以從存儲了資源的多個設備中選擇目標設備。該處理器可以將請求提供至選定的目標設備,可以接收來自選定的目標設備的資源,并且可以向客戶端設備提供資源。根據(jù)又一方面,一個或多個非易失性計算機可讀介質(zhì)可以存儲由邊緣設備的一個或多個處理器可執(zhí)行的指令。該介質(zhì)可以包括一個或多個指令,用于接收來自客戶端設備的資源請求;一個或多個指令,用于基于請求中提供的信息在該邊緣設備處終止對于該請求的連接;一個或多個指令,用于在該邊緣設備處終止連接的情況下,為資源選擇目標設備;一個或多個指令,用于將請求提供至選定的目標設備;一個或多個指令,用于從選定的目標設備接收資源;以及一個或多個指令,用于將資源提供至客戶端設備。


并入且構(gòu)成該說明書一部分的附圖示出本文描述的一個或多個實施方式,連同這些描述一起解釋這些實施方式。在圖中圖I是在其中可以實現(xiàn)本文描述的系統(tǒng)和/或方法的示例性網(wǎng)絡的示圖;圖2是圖I中描述的客戶端設備、緩存服務器、源設備、路由中介服務器(routingbrokerserver)、或其他設備的示例性部件的示圖;圖3是圖I中描述的網(wǎng)絡設備的示意性部件的示圖;圖4是能夠由圖I中示出的網(wǎng)絡的示例性部分執(zhí)行的示例性操作的示圖;圖5A和圖5B是能夠由圖I中示出的網(wǎng)絡的示例性部分執(zhí)行的另一示例性操作的示圖;圖6是能夠由圖I中示出的網(wǎng)絡的示例性部分執(zhí)行的又一示例性操作的示圖;圖7是能夠由圖I中示出的網(wǎng)絡的示例性部分執(zhí)行的示例性操作的示圖;圖8是能夠由圖I中示出的網(wǎng)絡的示例性部分執(zhí)行的另一示例性操作的示圖;圖9是圖I中示出的網(wǎng)絡設備的應用代理的示例性功能部件的示圖;圖10至圖13是根據(jù)本文描述的實施方式、用于提供網(wǎng)絡集成動態(tài)資源路由的示例性處理的流程圖。
具體實施例方式參照附圖進行下面詳細的描述。不同附圖中的相同參考標號可以表示相同或類似的元件。本文描述的系統(tǒng)和/或方法通過在核心網(wǎng)絡的邊緣網(wǎng)絡設備中添加應用級智能從而可以將資源路由集成至核心網(wǎng)絡(例如,服務提供商網(wǎng)絡)的基礎設施。應用級智能可以包括應用代理,其終止與所有客戶端設備資源請求或其子集相關的給定應用的連接。對每個資源請求,該應用代理可以確定存儲了資源的目標服務器,可以連接到確定的服務器,并且可以在客戶端設備與確定的服務器之間代理(proxy)資源請求以及返回的資源。在示例性實施方式中,系統(tǒng)和/或方法可以接收來自客戶端設備的資源請求,進而基于請求的IP信息確定是否終止針對該請求的連接。如果針對該請求的連接未被終止, 可以將該請求轉(zhuǎn)發(fā)至核心網(wǎng)絡(諸如,服務提供商網(wǎng)絡)用于額外的路由。如果針對該請求的連接被終止,可以為資源確定目標源設備(target source device),進而可以向確定的目標源設備提供請求??梢越邮諄碜阅繕嗽丛O備的資源,并可以將其提供給客戶端設備。圖I是在其中可以實現(xiàn)本文描述的系統(tǒng)和/或方法的示例性網(wǎng)絡100的示圖。如圖所示,網(wǎng)絡100可以包括客戶端設備110 ;緩存服務器設備120 (本文稱作“緩存服務器120”);源設備(origin device) 130 ;路由中介服務器設備140 (本文稱作“路由中介服務器140”);其他設備150 ;網(wǎng)絡160 ;以及設置在或附接至網(wǎng)絡160的網(wǎng)絡設備170。如圖I所示,網(wǎng)絡設備170可以包括應用代理172和本地緩存174。網(wǎng)絡100的設備可以經(jīng)由有線和/或無線連接或鏈路互連。為簡單起見,已經(jīng)在圖I中示出單個客戶端設備110、緩存服務器120、源設備130、路由中介服務器140、其他設備150、網(wǎng)絡160、以及網(wǎng)絡設備170。實際上,可以存在更多的客戶端設備110、緩存服務器120、源設備130、路由中介服務器140、其他設備150、網(wǎng)絡160和/或網(wǎng)絡設備170。同樣地,在某些情況下,網(wǎng)絡100的一個或多個設備可以執(zhí)行被描述為由網(wǎng)絡100的另一個或多個設備執(zhí)行的一個或多個任務。客戶端設備110可以包括能夠經(jīng)由網(wǎng)絡160和/或網(wǎng)絡設備170訪問緩存服務器120、源設備130和/或其他設備150的任何設備。例如,客戶端設備110可以包括無線電話(radiotelephone),可以將蜂窩無線電話(cellular radiotelephone)與數(shù)據(jù)處理和數(shù)據(jù)通信功能結(jié)合的個人通信系統(tǒng)(PCS)終端,可以包括無線電話、尋呼機、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問等的個人數(shù)字助理(PDA),例如無線電話(wireless telephone)的無線設備(wirelessdevice),智能電話,工作站電腦,膝上型電腦,個人計算機,或其他類型的計算或通信設備。緩存服務器120可以包括以本文描述的方式收集、處理、搜索和/或提供信息的一個或多個服務器設備、或其他類型的計算或通信設備。在一個示例性實施方式中,緩存服務器120可以充當來自客戶端設備110的、尋找來自源設備130資源的請求的中介。本文使用的術語“資源”旨在廣泛地理解為包括諸如視頻、音頻、圖像、軟件下載等的內(nèi)容;諸如傳送高清晰度和用戶生成的內(nèi)容、消費者和商業(yè)新聞以及信息服務、電子郵件系統(tǒng)等的服務;和/或內(nèi)容與服務的組合??蛻舳嗽O備110可以經(jīng)由網(wǎng)絡160和/或網(wǎng)絡設備170連接至緩存服務器120,并且可以請求從源設備130可得到的一些資源。緩存服務器120可以評價請求(例如,根據(jù)過濾規(guī)則,諸如通過IP地址或協(xié)議對通信量進行過濾)。如果請求有效,則緩存服務器120可以通過連接至源設備130并且代表客戶端設備110請求資源,從而提供所請求的資源。緩存服務器120可以滿足該請求而不聯(lián)系源設備130。在這種情況下,緩存服務器120可以緩存(或存儲)先前請求的、來自源設備130的特定資源,并且可以經(jīng)由網(wǎng)絡設備170向客戶端設備110提供特定資源而不涉及源設備130。源設備130可以包括以本文描述的方式收集、處理、搜索和/或提供信息的一個或多個服務器設備、或其他類型的計算或通信設備。在一個示例性實施方式中,源設備130可以包括客戶端設備110經(jīng)由網(wǎng)絡160和/或網(wǎng)絡設備170可訪問的資源。 在一個實例中,源設備130可以向客戶端設備110 (例如,經(jīng)由網(wǎng)絡160和/或網(wǎng)絡設備170)提供資源??商鎿Q地,源設備130可以向緩存服務器120提供特定資源用于存儲。緩存服務器120可以存儲特定資源,使得緩存服務器120可以在客戶端設備110請求時向客戶端設備110提供特定資源,而不涉及源設備130。路由中介服務器140可以包括以本文描述的方式收集、處理、搜索和/或提供信息的一個或多個服務器設備、或其他類型的計算或通信設備。在一個示例性實施方式中,路由中介服務器140可以接收來自各種源的信息并且可以存儲這些信息。例如,路由中介服務器140可以接收來自本地緩存174的信息(例如,有關本地緩存174可用性的信息、標識存儲在本地緩存174中資源的信息等);來自網(wǎng)絡160的信息(例如,有關網(wǎng)絡160和/或網(wǎng)絡設備170可用性的信息、網(wǎng)絡拓撲和成本等);來自緩存服務器120的信息(例如,有關緩存服務器120可用性的信息、標識存儲在緩存服務器120中資源的信息等);來自其它設備150的信息(例如,有關其它設備150可用性的信息、標識存儲在其它設備150中資源的信息、應用層流量優(yōu)化(ALTO)服務(例如,如請求注解(RFC) 5693中闡述的)信息,該信息識別具有除了與網(wǎng)絡100相關的服務提供商之外的服務提供商提供的資源的服務器);和/或來自源設備130的信息(例如,有關源設備130可用性的信息、標識在源設備130中存儲的資源的信息等)。在一個實施例中,網(wǎng)絡設備170可以向路由中介服務器140詢問要服務于資源請求(例如,由客戶端設備110提供的請求)的目標設備的位置。路由中介服務器140可以接收該詢問,可以確定要服務于資源請求的目標設備,并且可以向網(wǎng)絡設備170提供諸如目標設備的位置信息(諸如,IP地址)。例如,路由中介服務器140可以接收來自網(wǎng)絡設備170的詢問,并且可以確定源設備130為目標設備,原因在于源設備130是對于所請求的資源最近的設備。因此,路由中介服務器140可以向網(wǎng)絡設備170提供諸如源設備130的位置信息(諸如,IP地址)。其它設備150可以包括按照本文描述的方式收集、處理、搜索、和/或提供信息的一個或多個服務器設備,或其他類型的計算或通信設備。在一個示例性實施方式中,其它設備150可以與聯(lián)合服務提供商網(wǎng)絡相關,該聯(lián)合服務提供商網(wǎng)絡在網(wǎng)絡100或其部件故障的情況下向網(wǎng)絡100提供資源。其它設備150可以存儲ALTO服務信息,識別具有由這種聯(lián)合服務提供商網(wǎng)絡提供的資源的服務器。在示意性實施方式中,其它設備150可以包括在網(wǎng)絡100或其部件故障的情況下由客戶端設備110經(jīng)由網(wǎng)絡160和/或網(wǎng)絡設備170能夠訪問的資源。
網(wǎng)絡160可以包括諸如局域網(wǎng)(LAN)的服務提供商網(wǎng)絡;廣域網(wǎng)(WAN);城域網(wǎng)(MAN);電話網(wǎng)絡(例如,公共交換電話網(wǎng)絡(PSTN)或蜂窩網(wǎng)絡);互聯(lián)網(wǎng);或網(wǎng)絡的組合。網(wǎng)絡設備170可以包括諸如網(wǎng)關、路由器、交換機、防火墻、網(wǎng)絡接口卡(NIC)、集線器、網(wǎng)橋、代理服務器、光分插復用器(OADM)的通信量傳送設備,或處理和/或傳送通信量(例如,數(shù)據(jù)包)的其他類型的設備。在一個實施方式中,網(wǎng)絡設備170可以是提供對于網(wǎng)絡160的入口點或出口點的邊緣網(wǎng)絡設備。在一個實施例中,網(wǎng)絡設備170可以使客戶端設備110、緩存服務器120、源設備130、路由中介服務器140、和/或其他設備150能夠彼此通信。在另一實施例中,網(wǎng)絡設備170可以使客戶端設備110能夠請求和接收來自緩存服務器120、源設備130和/或其他設備150的資源。再如圖I所示,網(wǎng)絡設備170可以包括應用代理172和本地緩存174。應用代理172可以終止與所有客戶端設備110的資源請求或其子集相關的給定應用的連接。應用代理172可以(例如)在不同時間點基本上同時接收資源請求。對每個資源請求,應用代理172可以確定存儲了資源的目標服務器(例如,緩存服務器120、源設備130、其它設備150 或本地緩存174)。應用代理172可以連接至確定的服務器,并且可以在客戶端設備110與確定的服務器之間代理資源請求以及返回的資源。在示例性實施方式中,應用代理172可以接收來自客戶端設備110對于資源的請求,進而基于請求的IP信息來確定是否終止針對該請求的連接。如果應用代理172確定不應終止針對該請求的連接,應用代理172可以將請求轉(zhuǎn)發(fā)至網(wǎng)絡160用于額外的路由。如果應用代理172確定應該終止針對該請求的連接,應用代理172可以終止針對該請求的連接,并且可以為資源確定目標源設備(例如,緩存服務器120、源服務器130、其它設備150、或本地緩存174)。應用代理172可以將請求提供至確定的目標源設備,可以接收來自目標源設備的資源,并且可以向客戶端設備110提供資源。本地緩存174可以包括一個或多個存儲設備,諸如磁和/或光記錄介質(zhì)及其相應的驅(qū)動器、移動存儲器、隨機存取存儲器(RAM)、只讀存儲器(ROM)等。在一個示例性實施方式中,本地緩存174可以存儲能夠被客戶端設備110訪問的資源。本地緩存174可以存儲 資源,使得在客戶端設備110請求時,本地緩存174可以將資源提供給客戶端設備110,而不涉及緩存服務器120、源設備130、和/或其它設備150。例如,將結(jié)合圖3至圖9給出網(wǎng)絡設備170、應用代理172以及本地緩存174的進一步細節(jié)。盡管圖I示出了網(wǎng)絡100的示例性設備,但是在其他實施方式中,網(wǎng)絡100可以包括與圖I描繪的設備相比更少的設備、不同的設備、不同布置的設備、或附加設備。圖2是可以對應于(圖I)客戶端設備110、緩存服務器120、源設備130、路由中介服務器140或其他設備150的設備200的示例性部件的示圖。在一些情況下,設備200可以對應于(圖I)網(wǎng)絡設備170。每個客戶端設備110、緩存服務器120、源設備130、路由中介服務器140、其他設備150、或網(wǎng)絡設備170可以包括一個或多個設備200。如圖2所示,設備200可以包括總線210、處理單元220、主存儲器230、ROM 240、存儲設備250、輸入設備260、輸出設備270、和/或通信接口 280??偩€210可以包括允許在設備200的部件之間進行通信的路徑。處理單元220可以包括一個或多個處理器、微處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA),或解釋和執(zhí)行指令的其他類型處理單元。主存儲器230可以包括存儲由處理單元220執(zhí)行的指令和信息的RAM或其他類型的動態(tài)存儲設備。ROM 240可以包括存儲由處理單元220使用的靜態(tài)信息和/或指令的ROM設備或其他類型的靜態(tài)存儲設備。存儲設備250可以包括磁和/或光記錄介質(zhì)及其相應的驅(qū)動器,或諸如閃存的可移動存儲器。
輸入設備260可以包括允許操作者向設備200輸入信息的機構(gòu),諸如鍵盤、鼠標、開關、按鈕、語音識別和/或生物特征機構(gòu)、觸摸屏等。輸出設備270可以包括向操作者輸出信息的機構(gòu),包括顯示器、揚聲器、發(fā)光二極管(LED)等。通信接口 280可以包括使設備200能夠與其他設備和/或系統(tǒng)進行通信的類似于收發(fā)器的任何裝置。例如,通信接口 280可以包括經(jīng)由網(wǎng)絡用于與另一設備或系統(tǒng)進行通信的機構(gòu)。在一個實施方式中,通信接口280可以包括諸如以太網(wǎng)接口的有線接口,或諸如射頻接口的無線接口。如本文所描述的,響應于執(zhí)行在諸如主存儲器230的計算機可讀介質(zhì)中包含的軟件指令的處理單元220,設備200可以執(zhí)行特定操作。計算機可讀介質(zhì)可以定義為非易失性存儲設備。存儲設備可以包括在單個物理存儲設備內(nèi)或分布在多個物理存儲設備上的空間??梢越?jīng)由通信接口 280將軟件指令從另一設備、或諸如存儲設備250的另一計算機可讀介質(zhì)讀取至主存儲器230。包含在主存儲器230中的軟件指令可以使處理單元220執(zhí)行本文描述的處理??商鎿Q地,可以使用硬連線電路代替軟件指令或與軟件指令相結(jié)合來實現(xiàn)本文描述的處理。因此,本文描述的實施方式不限于任何特定的硬件電路與軟件的組合。盡管圖2示出設備200的示例性部件,但是在其他實施方式中,設備200可以包括與圖2示出的部件相比更少的部件、不同的部件、不同布置的部件、或附加部件??商鎿Q地,或附加地,設備200的一個或多個部件可以執(zhí)行被描述為由設備200的一個或多個其他部件執(zhí)行的一個或多個其他任務。圖3是可以對應于網(wǎng)絡設備170 (圖I)的設備300的示例性部件的示圖。在一些情況下,網(wǎng)絡設備170可以包括一個或多個設備300。如圖3所示,設備300可以包括輸入部件310、交換/路由機制320、輸出部件330、以及控制單元340。輸入部件310可以是針對物理鏈路的附接點且可以是用于諸如數(shù)據(jù)包的輸入通信量的入口點。輸入部件310可以諸如通過執(zhí)行數(shù)據(jù)鏈路層封裝或解封來處理輸入通信量。在示例性實施方式中,輸入部件310可以發(fā)送和/或接收數(shù)據(jù)包。交換/路由機制320可以將輸入部件310與輸出部件330互連??梢岳迷S多不同的技術實現(xiàn)交換/路由機制320。例如,可以經(jīng)由總線、交叉開關矩陣、和/或利用共享存儲器來實現(xiàn)交換/路由機制320。該共享存儲器可以用作臨時緩沖器從而在來自輸入部件310的通信量被最終調(diào)度為傳送至輸出部件330之前存儲該通信量。輸出部件330可以存儲數(shù)據(jù)包,并且可以針對輸出物理鏈路上的服務來調(diào)度數(shù)據(jù)包。輸出部件330可以包括支持優(yōu)先級和保證(guarantee)的調(diào)度算法。輸出部件330可以支持數(shù)據(jù)鏈路層封裝和解封,和/或各種更高層級協(xié)議。在示例性實施方式中,輸出部件330可以發(fā)送數(shù)據(jù)包和/或接收數(shù)據(jù)包。控制單元340可以使用路由協(xié)議以及用于轉(zhuǎn)發(fā)數(shù)據(jù)包的一個或多個轉(zhuǎn)發(fā)表??刂茊卧?40可以與輸入部件310、交換/路由機制320、以及輸出部件330連接??刂茊卧?40可以計算轉(zhuǎn)發(fā)表、執(zhí)行路由協(xié)議和/或運行軟件以配置和管理設備300??刂茊卧?40可以確定針對目的地址未在轉(zhuǎn)發(fā)表中找到的任何數(shù)據(jù)包的路由。
在示例性實施方式中,控制單元340可以包括總線350,其中總線可以包括允許在處理器360、存儲器370、以及通信接口 380之間進行通信的路徑。處理器360可以包括一個或多個處理器、微處理器、ASIC、FPGA、或可以解釋和執(zhí)行指令的其他類型處理單元。存儲器370可以包括RAM、R0M設備、磁和/或光記錄介質(zhì)及其相應的驅(qū)動器、和/或可以存儲由處理器360執(zhí)行的信息和指令的其他類型的靜態(tài)和/或動態(tài)存儲設備。存儲器370也可以在指引數(shù)據(jù)包返回交換/路由機制320、在交換/路由機制320中排隊、并且最終被調(diào)度為發(fā)送至輸出部件330之前,將來自輸入部件310的用于由處理器360處理的輸入通信量(例如,數(shù)據(jù)包的報頭或整個數(shù)據(jù)包)進行臨時存儲。通信接口 380可以包括使控制單元340能夠與其他設備和/或系統(tǒng)通信的類似于收發(fā)器的機構(gòu)。如本文所描述的,響應于處理器360執(zhí)行在諸如存儲器370的計算機可讀介質(zhì)中包含的軟件指令,設備300可以執(zhí)行特定操作。可以將軟件指令經(jīng)由通信接口 380從另一設備或從諸如數(shù)據(jù)存儲設備的另一計算機可讀介質(zhì)讀取至存儲器370。包含在存儲器370中的軟件指令可以使處理器360執(zhí)行本文描述的處理??商鎿Q地,可以使用硬連線電路代 替軟件指令或與軟件指令相結(jié)合來實現(xiàn)本文描述的處理。因此,本文描述的實施方式并不限于硬件電路與軟件的任何特定組合。例如,可以使用路由協(xié)議(例如,BGP)經(jīng)由外部代理來控制設備300的切換/路由操作。盡管圖3示出了設備300的示例性部件,但是在其他實施方式中,設備300可以包括與圖3描繪的部件相比更少的部件、不同的部件、不同布置的部件、或附加部件??商鎿Q地,或附加地,設備300的一個或多個部件可以執(zhí)行描述為通過設備300的一個或多個其他部件執(zhí)行的一個或多個其他任務。圖4是能夠由網(wǎng)絡100的示例性部分400執(zhí)行的示例性操作的示圖。如所示,示例性網(wǎng)絡部分400可以包括客戶端設備110、網(wǎng)絡設備170和應用代理172。客戶端設備110、網(wǎng)絡設備170和應用代理172可以包括上面例如結(jié)合圖I至圖3中的一個或多個所描述的特征。如圖4所示,客戶端設備110可以向網(wǎng)絡設備170提供對于資源的請求410,網(wǎng)絡設備170可經(jīng)由應用代理172接收請求410。應用代理172可以接收請求410,并且可基于請求410中提供的信息確定是否在網(wǎng)絡設備170處終止對于請求410的連接(例如,傳輸控制協(xié)議(TCP)連接)。在一個實施例中,請求410中提供的信息可以包括IP信息(諸如請求410的目的IP地址)、客戶端設備110的IP地址(S卩,請求410的源IP地址)、請求410的目的端口(例如,網(wǎng)絡地址翻譯(NAT))等。在一個實施方式中,應用代理172可以從請求410中提取目的IP地址,可以從請求410中提取客戶端設備110的IP地址和/或從請求410中提取目的端口。應用代理172可以基于提取的目的IP地址、客戶端設備110IP地址和/或目的端口來確定是否在網(wǎng)絡設備170處終止針對請求410的連接。又如圖4所示,如果應用代理172基于請求410中提供的信息決定終止針對請求410的連接,應用代理172可以向客戶端設備110提供表明連接終止的指示420。如果應用代理172基于請求410中提供的信息決定不終止針對請求410的連接,應用代理172可以向客戶端設備110提供表明連接未終止的指示430,并且可以將請求410轉(zhuǎn)發(fā)至網(wǎng)絡160 (如參考號440指示)用于額外的路由。在一個示例性實施方式中,應用代理172可以終止針對給定的應用以及針對從客戶端設備110接收的全部資源請求或其子集的連接(例如,TCP連接)。在另一個示例性實施方式中,由于請求410可由另一個下游設備終止,因此可以省略指示430。在一個實施方式中,應用代理172可以保持或訪問提供了應用程序、客戶端設備IP地址、源設備IP地址等列表的表格(或其它數(shù)據(jù)結(jié)構(gòu))。表格中提供的信息可以是網(wǎng)絡管理員向網(wǎng)絡設備170輸入的,可以由應用代理172基于先前提供至網(wǎng)絡設備170或由網(wǎng)絡設備170接收的通信量等生成。例如,如果網(wǎng)絡設備170從特定客戶端設備110接收到特定數(shù)量的請求(例如,其大于閾值),應用代理172可以將客戶端設備110的IP地址添加到表格。在另一個實施例中,如果網(wǎng)絡設備170從特定的服務器中檢索到特定數(shù)量的資源(例如,其大于閾值),應用代理172可以將特定服務器的IP地址添加到表格。應用代理172可以將請求410中所提供的信息與表格中所提供的信息進行比較,并且在請求410中所提供的信息與表格中所提供一項或多項信息匹配時,該應用代理可以決定終止針對請求410的連接。在一個實現(xiàn)方式中,應用代理172可以制定規(guī)則以確定是否終止連接(例如,如果表格中有一項匹配,則終止連接;如果表格中有兩項以上匹配,則 終止連接等)。在一個實施例中,如果請求410包括源設備130的目的IP地址且表格中也包括源設備130的目的IP地址,則應用代理172可以決定終止針對請求410的連接。在另一個實施例中,如果請求包括緩存服務器120的目的IP地址但不包括客戶端設備110的IP地址,則應用代理172可以決定不終止針對請求410的連接。盡管圖4示出了網(wǎng)絡部分400的示例性部件,但是在其他實施方式中,網(wǎng)絡部分400可以包括與圖4中描繪的部件相比更少的部件、不同的部件、不同布置的部件、或附加部件??商鎿Q地,或附加地,網(wǎng)絡部分400的一個或多個部件可以執(zhí)行被描述為由網(wǎng)絡部分400的一個或多個其他部件執(zhí)行的一個或多個其他任務。圖5A和5B是能夠由網(wǎng)絡100的示例性部分500執(zhí)行的另一示例性操作的示圖。如圖5A和圖5B所示,示例性網(wǎng)絡部分500可以包括客戶端設備110、緩存服務器120、源設備130、路由中介服務器140、其它設備150、網(wǎng)絡160和網(wǎng)絡設備170??蛻舳嗽O備110、緩存服務器120、源設備130、路由中介服務器140、其它設備150、網(wǎng)絡160和網(wǎng)絡設備170可以包括上面例如結(jié)合圖I至圖4中一個或多個所描述的特征。 又如圖5A所示,路由中介服務器140可以接收來自網(wǎng)絡部分500的一個或多個源的信息。例如,本地緩存174可以將本地緩存信息510提供至路由中介服務器140。本地緩存信息510可以包括關于本地緩存174的可用性的信息、識別存儲在本地緩存174中的資源的信息、關于本地緩存174的大小的信息等。在另一實施例中,網(wǎng)絡160可以向路由中介服務器140提供網(wǎng)絡信息520。網(wǎng)絡信息520可以包括關于網(wǎng)絡160/或其部件的可用性的信息、與網(wǎng)絡160相關的拓撲和成本、網(wǎng)絡160的可用帶寬、網(wǎng)絡160的優(yōu)選客戶端設備等。在又一實施例中,緩存服務器120可以向路由中介服務器140提供緩存信息530。緩存信息530可以包括關于緩存服務器120的可用性的信息、識別存儲在緩存服務器120中資源的信息、關于緩存服務器120載荷的信息等。在一個示例性實施方式中,路由中介服務器140能夠在不必明確地將新緩存服務器配置到路由決定(正如現(xiàn)有方案所需要)的情況下將新緩存服務器添加到網(wǎng)絡100。新緩存服務器可以向路由中介服務器140提供緩存信息(例如,類似于緩存信息530)。在又一實施例中,其它設備150可以向路由中介服務器140提供其它設備信息540。其它設備信息540可以包括關于其它設備150可用性的信息、識別存儲在其它設備150中資源的信息、關于與其它設備150相關的服務提供商的信息、識別具有與其它設備150相關的服務提供商所提供資源的服務器的ALTO服務信息等。在再一個實施例中,源設備130可以向路由中介服務器140提供源信息550。源信息550可以包括關于源設備130可用性的信息、識別存儲在源設備130中資源的信息、關于源設備130載荷的信息等。路由中介服務器140可接收本地緩存信息510、網(wǎng)絡信息520、緩存信息530、其它設備信息540、和/或源信息550,并可以(例如,在圖2的主存儲器230、R0M 240和/或存儲設備250中)存儲本地緩存信息510、網(wǎng)絡信息520、緩存信息530、其它設備信息540、和/或源信息550。又如圖5A所示,客戶端設備110可以向網(wǎng)絡設備170提供對于資源的請求560,網(wǎng)絡設備170可經(jīng)由應用代理172接收請求560。請求560可以包括IP信息,諸如請求560的目的IP地址、客戶端設備110的IP地址(即,請求560的源IP地址)、請求560的目的端口等。在一個實施例中,請求560可以包括HTTP GET請求(例如,請求資源)、域名、和/或統(tǒng)一資源定位器(URL)。正如上面結(jié)合圖4所描述的,應用代理172可接收請求560,并且可以基于請求560中提供的信息確定是否在網(wǎng)絡設備170處終止針對請求560的 連接。如果應用代理172在網(wǎng)絡設備170處終止針對請求560的連接,應用代理172可以針對請求560所請求的資源確定目標源設備。應用代理172可以按照多種方式確定目標源設備。例如,如圖5B所示,應用代理172可以將詢問570提供至路由中介服務器140。詢問570可以包括對于存儲了請求560所請求的資源的目標源設備的位置。在一個實現(xiàn)方式中,詢問570可以包括與請求560相關的信息,諸如請求560所請求的資源、請求560的域名、請求560的URL等。路由中介服務器140可接收詢問570,并可基于詢問570針對請求560所請求的資源來確定目標源設備。在一個實施例中,路由中介服務器140可基于多個要素來確定目標源設備,諸如網(wǎng)絡160的狀況(例如,網(wǎng)絡160的帶寬、網(wǎng)絡160載荷),與客戶端設備110相關的目標源設備的物理位置(例如,可能在選擇離客戶端設備110較遠的設備之前選擇更接近于客戶端設備110的設備)等。在確定了目標源設備之后,路由中介服務器140可以向應用代理172提供目標源設備的位置580 (例如,IP地址)。在一個實施例中,包含于請求560中的域名可由特定服務器(例如,源設備130)駐存,而包含于請求560中的URL可標識由另一服務器(例如,緩存服務器120)駐存的資源。在這種情況下,路由中介服務器140可以確定緩存服務器120為目標源設備,原因在于請求560所請求的資源由緩存服務器120駐存。相反,在基于DNS的系統(tǒng)中,由于請求560的域名,因此不必將請求560首先路由至源設備130。在一個示例性實施方式中,在生成詢問570之前,應用代理172可以確定請求的資源是否存儲在本地緩存174中。在一個實施例中,應用程序172可保持提供了本地緩存174中所存儲的資源列表的表格(或其它數(shù)據(jù)結(jié)構(gòu))。應用代理172可搜尋該表格從而確定請求的資源是否存儲于本地緩存174中。如果應用代理172確定請求的資源存儲于本地緩存174中,應用代理172可從本地緩存174中檢索請求的資源。例如,應用代理172可以將請求560提供至本地緩存174,本地緩存174可檢索請求560所請求的資源590。本地緩存174可向應用代理172提供資源590,進而應用代理172可以將資源590轉(zhuǎn)發(fā)至客戶端設備110。如果應用代理172確定資源590未存儲在本地緩存174中,應用代理172可向路由中介服務器140提供詢問570。應用代理172可基于詢問570接收來自路由中介服務器140的目標源設備(例如,緩存服務器120、源設備130、和/或其它設備150)的位置580。應用代理172可利用位置580從而與目標源設備連接進而從目標源設備檢索請求的資源。又如圖5B所示,在一個實施例中,如果位置580標識緩存服務器120的IP地址,應用代理172可向緩存服務器120提供請求560 (例如,其可能包括客戶端設備110的IP地址),并且緩存服務器120可檢索請求560所請求的資源590。緩存服務器120可向應用代理172提供資源590,應用代理172可向客戶端設備110轉(zhuǎn)發(fā)資源590 (例如,其可能包括緩存服務器120的IP地址)。在另一實施例中,如果位置580標識源設備130的IP地址,應用代理172可向源設備130提供請求560 (例如,其可能包括客戶端設備110的IP地址),并且源設備130可以檢索請求560所請求的資源590。源設備130可向應用代理172提供資源590,應用代理172可向客戶端設備110轉(zhuǎn)發(fā)資源590 (例如,其可能包括源設備130的 IP地址)。在又一實施例中,如果位置580標識其它設備150的IP地址,應用代理172可向其它設備150提供請求560(例如,其可能包括客戶端設備110的IP地址),并且其它設備150可檢索請求560所請求的資源590。其它設備150可向應用代理172提供資源590,應用代理172可向客戶端設備110轉(zhuǎn)發(fā)資源590 (例如,其可能包括其它設備150的IP地址)。盡管圖5A和圖5B示出網(wǎng)絡部分500的示例性部件,但是在其他實施方式中,網(wǎng)絡部分可以包括與圖5A和圖5B示出的部件相比更少的部件、不同的部件、不同布置的部件、或附加部件??商鎿Q地,或附加地,網(wǎng)絡部分500的一個或多個部件可以執(zhí)行被描述為通過網(wǎng)絡部分500的一個或多個其他部件執(zhí)行的一個或多個其他任務。例如,網(wǎng)絡設備170經(jīng)由應用代理172可以執(zhí)行被描述為由路由中介服務器140執(zhí)行的一個或多個功能(例如,確定目標源設備)。圖6是能夠由網(wǎng)絡100的示例性部分600執(zhí)行的再一示例性操作的示圖。正如所示,示例性網(wǎng)絡部分600可以包括客戶端設備110、緩存服務器120、源設備130、其它設備150、網(wǎng)絡設備170、應用代理172和本地緩存174??蛻舳嗽O備110、緩存服務器120、源設備130、其它設備150、網(wǎng)絡設備170、應用代理172和本地緩存174可以包括上面例如結(jié)合圖I至圖5B中一個或多個所描述的特征。在一個實施方式中,圖6可能描述了網(wǎng)絡設備170如何將來自客戶端設備110的請求代理至目標源設備,并進一步將從目標源設備檢索到的資源代理至客戶端設備110。通過代理請求和資源,網(wǎng)絡設備170可以確??蛻舳嗽O備110和目標源設備彼此透明,或可以確保緩存服務器120對客戶端設備110和源設備130是透明的。例如,客戶端設備110可能對源設備130是透明的,原因在于網(wǎng)絡設備170可以使用其自身的IP地址,或冒用客戶端設備110和/或源設備130的地址以在客戶端設備110與源設備130之間交換信息(例如,數(shù)據(jù)包)。在另一實施例中,網(wǎng)絡設備170可以使用客戶端設備110和/或源設備130的IP地址,從而與緩存服務器120交換信息(即,使得緩存服務器120對客戶端設備110和/或源設備130是不可見的)。如此布置可確保客戶端設備110、緩存服務器120、和/或源設備彼此不可見,這可以提高客戶端設備110和/或目標源設備的安全性。
又如圖6所示,客戶端設備110可向網(wǎng)絡設備170提供對于資源的請求610,網(wǎng)絡設備170可經(jīng)由應用代理172接收請求610。請求610可以包括IP信息,諸如請求610的目的IP地址、客戶端設備110的IP地址(S卩,請求610的源IP地址)、請求610的目的端口等。應用代理172可接收請求610,并可以基于請求610中提供的信息確定是否在網(wǎng)絡設備170處終止針對請求610的連接。如果應用代理172在網(wǎng)絡設備170處終止針對請求610的連接,應用代理172可以確定最適合提供請求610所請求的資源的目標源設備。例如,應用代理172可以確定目標源設備為緩存服務器120、源設備130、其它設備150和/或本地緩存174。在一個示例性實施方式中,應用代理172可按照上面結(jié)合圖5A和圖5B所描述的方式來確定用于請求610的目標源設備。應用代理172可連接至確定的目標源設備,并可向確定的目標源設備提供請求610的代理620。代理請求620可包括請求610的特征,但可通過冒用客戶端設備110的IP地址透明地提供給目標源設備。經(jīng)由代理請求620,客戶端設備110可能對目標源設備是透明的,因為網(wǎng)絡設備170可能使用其自身的IP地址,或可能冒用客戶端設備110的地址,從而向目標源設備發(fā)送信息。這可以使客戶端設備110能夠安全地與目標源設備通信(即,在目標源設備未獲得對于客戶端設備110的IP地址訪問的情況下)。 在一個實施例中,如果目標源設備對應于緩存服務器120,則應用代理172可以向緩存服務器120提供代理請求620,并且緩存服務器120可檢索代理請求620請求的資源630。緩存服務器120可以向應用代理172提供資源630。在另一實施例中,如果目標源設備對應于源設備130,則應用代理172可向源設備130提供代理請求620,并且源設備130可檢索代理請求620請求的資源630。源設備130可以向應用代理172提供資源630。在再一實施例中,如果目標源設備對應于其它設備150,則應用代理172可向其它設備150提供代理請求620,并且其它設備150可檢索代理請求620請求的資源630。其它設備150可以向應用代理172提供資源630。在又一實施例中,如果目標源設備對應于本地緩存174,則應用代理172可向本地緩存174提供請求610 (即,不需要代理),并且本地緩存174可檢索請求610所請求的資源630。本地緩存174可以向應用代理172提供資源630。應用程序172可接收來自上述目標源設備之一的資源630,并可向客戶端設備110提供資源630的代理640。代理資源640可以包括資源630的特征,但可通過冒用目標源設備的IP地址而透明地提供給客戶端設備110。經(jīng)由代理資源640,目標源設備可能對客戶端設備110是“透明”的,這是因為網(wǎng)絡設備170可使用其自身的IP地址將信息發(fā)送至客戶端設備110。這能夠使目標源設備安全地與客戶端設備110通信(即,在客戶端設備110未獲得對于目標源設備的IP地址訪問的情況下)。盡管圖6示出網(wǎng)絡部分600的示例性部件,但是在其他實施方式中,網(wǎng)絡部分600可以包括與圖6示出的部件相比更少的部件、不同的部件、不同布置的部件、或附加部件??商鎿Q地,或附加地,網(wǎng)絡部分600的一個或多個部件可以執(zhí)行被描述為由網(wǎng)絡部分600的一個或多個其他部件執(zhí)行的一個或多個其他任務。圖7是能夠由網(wǎng)絡100的示例性部分700執(zhí)行的示例性操作的示圖。如所示,示例性網(wǎng)絡部分700可以包括客戶端設備110、緩存服務器120、源設備130、其它設備150、網(wǎng)絡設備170、應用程序代理172以及本地緩存174??蛻舳嗽O備110、緩存服務器120、源設備130、其它設備150、網(wǎng)絡設備170、應用代理172以及本地緩存174可以包括上面例如結(jié)合圖I至圖6中的一個或多個所描述的特征。如圖7所示,客戶端設備110可以向網(wǎng)絡設備170提供與單個連接相關的、對于多個資源的多個請求710-1,, 710-4(統(tǒng)稱為“多個請求710”),并且網(wǎng)絡設備170可經(jīng)由應用代理172接收多個請求710。在一個實施方式中,可經(jīng)由單個連接依次提供多個請求710。在其它實施方式中,可在不同時間經(jīng)由單個連接提供多個請求710。應用代理172可接收多個請求710,并且可以基于多個請求710中提供的信息確定是否在網(wǎng)絡設備170處終止針對多個請求710的連接。在一個實施方式中,應用代理172可按照上面結(jié)合圖4所描述的方式確定是否終止針對多個請求710的連接。如果應用代理172決定不終止針對多個請求710的連接,則應用代理172可以將多個請求710轉(zhuǎn)發(fā)至網(wǎng)絡160用于額外的路由。如果應用代理172在網(wǎng)絡設備170處終止針對多個請求710的連接,應用代理172可以確定最適合提供多個請求710請求的資源的目標源設備。在一個示例性實施方式中,應用代理172可以為多個請求710選擇一個或多個目標源設備。在另一示例性實施方式中, 應用代理172可以為多個請求710中每個選擇單獨的目標源設備。例如,應用代理172可以選擇緩存服務器120作為針對請求710-1的目標源設備,可以選擇其它設備150作為針對請求710-2的目標源設備,可以選擇源設備130作為針對請求710-3的目標源設備,和/或可以選擇本地緩存174作為針對請求710-4的目標源設備。在一個實施例中,應用代理172可以按照上面結(jié)合圖5A和圖5B描述的方式為多個請求710選擇目標源設備。應用代理172可以向緩存服務器120提供請求710-1,并且緩存服務器120可以檢索請求710-1所請求的資源720-1。緩存服務器120可以向應用代理172提供資源720-1。應用代理172可向其它設備150提供請求710-2,并且其他設備150可以檢索請求710-2所請求的資源720-2。其它設備150可以向應用代理172提供資源720-2。應用代理172可以向源設備130提供請求710-3,并且源設備130可檢索請求710-3所請求的資源720-3。源設備130可以向應用代理172提供資源720-3。應用代理172可以向本地緩存174提供請求710-4,并且本地緩存174可以檢索請求710-4所請求的資源720-4。本地緩存174可以向應用代理172提供資源720-4。應用代理172可接收資源720-1,. . .,720-4,并可以向客戶端設備110提供資源720-1,· · ·,720-4。盡管圖7示出網(wǎng)絡部分700的示例性部件,但是在其他實施方式中,網(wǎng)絡部分700可以包括與圖7示出的部件相比更少的部件、不同的部件、不同布置的部件、或附加部件??商鎿Q地,或附加地,網(wǎng)絡部分700的一個或多個部件可以執(zhí)行被描述為由網(wǎng)絡部分700的一個或多個其他部件執(zhí)行的一個或多個其他任務。圖8是能夠由網(wǎng)絡100的示例性部分800執(zhí)行的又一示例性操作的示圖。如所示,示例性網(wǎng)絡部分800可以包括客戶端設備110、緩存服務器120、源設備130、網(wǎng)絡設備170以及應用代理172??蛻舳嗽O備110、緩存服務器120、源設備130、網(wǎng)絡設備170以及應用代理172可以包括上面例如結(jié)合圖I至圖7中一個或多個所描述的特征。如圖8所示,客戶端設備110可以向網(wǎng)絡設備170提供對于資源的請求810,網(wǎng)絡設備170可以經(jīng)由應用代理172接收請求810。請求810可以包括IP信息,諸如請求810的目的IP地址、客戶端設備110的IP地址(S卩,請求810的源IP地址)、請求810的目的端口等。應用代理172可以接收請求810,并可以基于請求810中提供的信息確定是否在網(wǎng)絡設備170處終止針對請求810的連接。如果應用代理172在網(wǎng)絡設備170處終止針對請求810的連接,應用代理172可以確定最適合提供請求810所請求的資源的目標源設備。例如,應用代理172可以確定目標源設備為緩存服務器120。應用代理172可以向緩存服務器120提供請求810,并且緩存服務器120可以檢索請求810所請求的資源的一部分820。緩存服務器120可以向應用代理172提供資源部分820。然而,在應用代理172從緩存服務器120接收到請求810所請求的全部資源之前,應用代理172可以接收事件指示830。事件指示830可以提供關于網(wǎng)絡(例如,網(wǎng)絡160)中變化狀況的信息,諸如網(wǎng)絡阻塞、帶寬約束等;關于緩存服務器120故障的信息;關于緩存服務器120超負荷情況的信息;和/或表明不能從緩存服務器120中檢索到所請求的資源的剩余部分的其它信息。響應于事件指示830,應用代理172可以中止與緩存服務器120通信,并且可以通過將請求810(例如,HTTP字節(jié)范圍請求)提供至源設備130或請求資源的其它目標源設備來切換目標源設備。基于請求810,源設備130可以檢索請求810所請求的資源的剩余部分840。源設備130可以向應用代理172提供剩余資源部分840。應用代理172可以向客戶端設備110提供資源部分820和剩余資源部分840。在 一個實施方式中,應用代理172可以在向客戶端設備110提供剩余資源部分840之前向該客戶端設備提供資源部分820。在又一實施方式中,應用代理172可以等待接收資源部分820/840,并且可以同時向客戶端設備110傳輸資源部分820/840。即使在所請求資源的一個或多個目標源設備變得不可用(例如,由于網(wǎng)絡狀況或目標源設備狀況改變)時,這種布置也可以確保將所請求的資源完整地提供給客戶端設備110。盡管圖8示出網(wǎng)絡部分800的示例性部件,但是在其他實施方式中,網(wǎng)絡部分800可以包括與圖8示出的部件相比更少的部件、不同的部件、不同布置的部件、或附加部件。可替換地,或附加地,網(wǎng)絡部分800的一個或多個部件可以執(zhí)行被描述為由網(wǎng)絡部分800的一個或多個其他部件執(zhí)行的一個或多個其他任務。圖9是網(wǎng)絡設備170的應用代理172的示例性功能部件的示圖。如所示,應用代理172可以包括TCP捻接器(TCP splicer)部件900、路由判定部件910、以及應用邏輯部件920。在一個示例性實施方式中,結(jié)合圖9描述的一個或多個功能部件可以由設備200(圖2)或設備300 (圖3)的一個或多個示意性部件來實施。TCP捻接器部件900可以負責有效捻接客戶端設備110與目標源設備連接(例如,TCP連接)之間所提供的信息。在一個實施例中,TCP捻接器部件900可以通過改變與TCP序列號相關的數(shù)據(jù)包中的報頭長達特定時間段(例如,足夠長的時間以向目標源設備提供資源請求以及接收來自目標源設備的資源)來捻接信息(例如,數(shù)據(jù)包)。在一個實施方式中,為了將應用代理172擴展到網(wǎng)絡設備170的線路速率(例如,每秒千兆比特),TCP捻接器部件900可以設置于網(wǎng)絡設備170的轉(zhuǎn)發(fā)平面中。在另一實施方式中,TCP捻接器部件900可以是用于緩存丟失/旁路通路的加速器。應用代理172可以(例如,經(jīng)由TCP捻接器部件900)從客戶端設備110接收對于資源的請求930,并且可以基于請求930中提供的信息確定是否使用TCP捻接器部件900。在一個實施例中,請求930中所提供的信息可以包括IP信息,諸如請求930的目的IP地址、客戶端設備110的IP地址(即,請求930的源IP地址)、請求930的目的端口等。在應用代理172決定使用TCP捻接器部件900時,應用代理172可以在網(wǎng)絡設備170處終止針對請求930的連接(例如,TCP連接),并且可以調(diào)用TCP捻接器部件900以使連接轉(zhuǎn)換最優(yōu)化。如果應用代理172基于請求930中提供的信息而終止針對請求930的連接,TCP捻接器部件900可以向路由判定部件910提供表明連接終止的指示940。如果應用代理172未終止針對請求930的連接,TCP捻接器部件900可以將請求930轉(zhuǎn)發(fā)至網(wǎng)絡160用于額外的路由,如參考號950所指示的。路由判定部件910可以確定將對于資源的請求或?qū)τ谫Y源的部分請求路由至何處。在一個示例性實施方式中,路由判定部件910可以按照上面結(jié)合圖5A和圖5B所描述的方式來確定將對于資源的請求路由到何處(例如,路由到哪個目標源設備)。如圖9所示,路由判定部件910可以接收來自TCP捻接器部件900的指示940,并且可以為請求930所請求的資源確定目標源設備。路由判定部件910可以將所確定的目標源設備的位置960提供至應用邏輯部件920。應用邏輯部件920可以處理由于網(wǎng)絡條件改變或目標源設備故障等導致的目標源設備切換、資源請求等。如圖9所示,應用邏輯部件920可以從路由判定部件910接收所確定的目標源設備的位置960,并且可以將請求930路由到所確定的目標源設備的位置960,如參考標號970所示。應用邏輯部件920可以從目標源設備接收資源980,并且可以將 資源980轉(zhuǎn)發(fā)至客戶端設備110。盡管圖9示出應用代理172的示例性功能部件,但是在其他實施方式中,應用代理172可以包括與圖9示出的功能部件相比更少的功能部件、不同的功能部件、不同布置的功能部件、或附加功能部件??商鎿Q地,或附加地,應用代理172的一個或多個功能部件可以執(zhí)行被描述為由應用代理172的一個或多個其他功能部件執(zhí)行的一個或多個其他任務。在一個示例性實施方式中,網(wǎng)絡設備170、應用代理172和本地緩存174可以部署為服務提供商網(wǎng)絡中的獨立部件。在另一個示例性實施方式中,網(wǎng)絡設備170、應用代理172和本地緩存174可以集成為單個設備(例如,單個服務器、單個媒體流控制器、單個網(wǎng)絡設備等)。在再一個示例性實施方式中,應用代理172和本地緩存174的一個或多個功能可以集成在網(wǎng)絡設備170中。本文描述的系統(tǒng)和/或方法可以提供資源請求和/或資源的精細且動態(tài)的路由,其可以擴展到網(wǎng)絡設備170的線路速率。此外,或可替換地,本文描述的系統(tǒng)和/或方法可以在核心網(wǎng)絡(例如,網(wǎng)絡160)的基礎設施(例如,網(wǎng)絡設備170)內(nèi)集成,并且可以不需要覆蓋服務的明確手動提供。此外,或可替換地,系統(tǒng)和/或方法可以幫助聯(lián)合不同服務提供商之間的資源(例如,經(jīng)由路由中介服務器140),并且可以解決對于透明的和逆代理部署的資源路由。此外,或可替換地,系統(tǒng)和/或方法可以通過在網(wǎng)絡設備170(在此處時延為最小值)處終止來自客戶端設備的TCP連接從而提高這種連接的效率,并且尤其對于大資源(諸如,視頻和文件下載)提供透明目標源設備故障轉(zhuǎn)移。圖10至圖13是根據(jù)本文描述的實施方式、用于提供網(wǎng)絡集成動態(tài)資源路由的示例性處理1000的流程圖。在一個實施方式中,處理1000可以由網(wǎng)絡設備170執(zhí)行。在另一個實施方式中,一些或所有的處理1000可以由網(wǎng)絡設備170以外的或與網(wǎng)絡設備170結(jié)合的一個或多個設備執(zhí)行。圖10至圖13所描繪的一個或多個處理塊可以是同時且獨立執(zhí)行的一個或多個其他處理塊。如圖10所示,處理1000可以包括從客戶端設備接收對于資源的請求(塊1010),以及基于請求的IP信息確定是否終止針對請求的連接(塊1020)。例如,在上面結(jié)合圖4描述的實施方式中,客戶端設備110可以向網(wǎng)絡設備170提供對于資源的請求410,網(wǎng)絡設備170可經(jīng)由應用代理172接收請求410。應用代理172可接收請求410,并且可基于請求410中所提供的信息確定是否在網(wǎng)絡設備170處終止針對請求410的連接(例如,TCP連接)。在一個實施例中,請求410中所提供的信息可以包括IP信息,諸如請求410的目的IP地址、客戶端設備110的IP地址(即,請求410的源IP地址)、請求410的目的端口等。應用代理172可以將請求410中提供的信息與表格中提供的信息進行對比,如果請求410中提供的信息與表格中提供信息的一項或多項匹配,應用代理172就可以確定終止針對請求410的連接。又如圖10所示,在連接未終止(塊1020-未終止)時,處理1000可以包括將請求轉(zhuǎn)發(fā)至網(wǎng)絡(塊1030)。例如,在上面結(jié)合圖4描述的實施方式中,如果應用代理172基于請求410中提供的信息判定不終止針對請求410的連接,應用代理172可以向客戶端設備110提供表明連接未終止的指示430,并且可以將請求410轉(zhuǎn)發(fā)至網(wǎng)絡160用于額外的路由,如參考標號440表示的。
返回至圖10,在連接終止(塊1020-終止)時,處理1000可以包括為資源確定目標源設備(塊1040)并且向所確定的目標源設備提供請求(塊1050)。例如,在上面結(jié)合圖5B描述的實施方式中,如果應用代理172在網(wǎng)絡設備170處終止針對請求560的連接,應用代理172可為請求560所請求的資源確定目標源設備。在一個實施例中,應用代理172可以向路由中介服務器140提供詢問570。詢問570可以包括對于存儲了請求560所請求的資源的目標源設備位置的請求。路由中介服務器140可接收詢問570,并可基于詢問570而為請求560所請求的資源確定目標源設備。在確定目標源設備之后,路由中介服務器140可以向應用代理172提供目標源設備的位置580(例如,IP地址)。在一個實施例中,如果位置580標識緩存服務器120的IP地址,應用代理172可以將請求560提供至緩存服務器120,并且緩存服務器120可檢索請求560所請求的資源590。又如圖10所示,處理1000可以包括接收來自目標源設備的資源(塊1060),并且將資源提供至客戶端設備(塊1070)。例如,在上面結(jié)合圖5B描述的實施方式中,緩存服務器120可以將資源590提供至應用代理172,應用代理172可以接收資源590并將資源590轉(zhuǎn)發(fā)至客戶端設備110。處理塊1020可以包括圖11所描繪的處理塊。如圖11所示,處理塊1020可以包括從請求中提取目的IP地址(塊1100);從請求中提取客戶端設備IP地址(塊1110);從請求中提取目的端口(塊1120);以及基于目的IP地址、客戶端設備IP地址、和目的端口中的一個或多個來確定是否終止針對請求的連接(塊1130)。例如,在上面結(jié)合圖4描述的實施方式中,應用代理172可以從請求410中提取目的IP地址,可以從請求410中提取客戶端設備110的IP地址和/或從請求410中提取目的端口。應用代理172可以基于所提取的目的IP地址、客戶端設備110 IP地址和/或目的端口來確定是否在網(wǎng)絡設備170處終止對于請求410的連接。在一個實施例中,應用代理172可以維持或訪問提供了應用程序、客戶端設備IP地址、源設備IP地址等列表的表格(或其它數(shù)據(jù)結(jié)構(gòu))。應用代理172可以將請求410中提供的信息與表格中提供的信息進行對比,并且在請求410中提供的信息與表格中提供的一項或多項信息匹配時,應用代理172可以決定終止針對請求410的連接。
處理塊1040可以包括圖12中所描繪的處理塊。如圖12所示,處理塊1040可以包括確定由該請求所請求的資源是否存儲在本地緩存中(塊1200)。如果資源存儲在本地緩存中(塊1200-在本地緩存中),處理塊1040可以包括從本地緩存檢索資源(塊1210)。例如,在上面結(jié)合圖5B描述的實施方式中,應用代理172可以確定所請求的資源是否存儲在本地緩存174中。在一個實例中,應用程序172可保持提供了本地緩存174中存儲的資源清單的表格(或其它數(shù)據(jù)結(jié)構(gòu))。應用代理172可搜索該表格從而確定所請求的資源是否存儲于本地緩存174中。如果應用代理172確定所請求的資源存儲于本地緩存174中,應用代理172可從本地緩存174中檢索請求的資源。例如,應用代理172可以將請求560提供至本地緩存174,本地緩存174可檢索請求560所請求的資源590。本地緩存174可以將資源590提供至應用代理172,應用代理172可以將資源590轉(zhuǎn)發(fā)至客戶端設備110。又如圖12所示,如果資源未存儲在本地緩存中(塊1200-未在本地緩存中),處理塊1040可以包括向路由中介服務器提供對于所請求的資源的詢問(塊1220)、從路由中介 服務器接收基于該詢問的目標源設備指示(塊1230)、以及基于指示從目標源設備檢索資源(塊1240)。例如,在上面結(jié)合圖5B描述的實施方式中,如果應用代理172確定資源590未存儲于本地緩存174中,應用代理172可以將詢問570提供至路由中介服務器140。應用代理172可從路由中介服務器140接收基于詢問570的目標源設備(如,緩存服務器120、源設備130、和/或其它設備150)的位置580。應用代理172可利用位置580從而與目標源設備連接進而從目標源設備檢索請求的資源。處理塊1050至1070可以包括圖13所描繪的處理塊。如圖13所示,處理塊1050至1070可以包括連接到確定的目標源設備(塊1300)、向確定的目標源設備提供請求代理(塊1310)、基于請求代理從目標源設備檢索資源(塊1320)、以及向客戶端設備提供資源代理(塊1330)。例如,在上面結(jié)合圖6描述的實施方式中,應用代理172可以連接到確定的目標源設備,并可以將請求610的代理620提供至確定的目標源設備。目標源設備可以檢索代理請求620請求的資源630,并且可以向應用代理172提供資源630。應用程序172可從目標源設備接收資源630,并可向客戶端設備110提供資源630的代理640。本文所描述的系統(tǒng)和/或方法可以通過在核心網(wǎng)絡的邊緣網(wǎng)絡設備中添加應用級智能從而將資源路由集成至核心網(wǎng)絡(諸如,服務提供商網(wǎng)絡)的基礎設施。應用級智能可以包括應用代理,該代理終止與所有客戶端設備資源請求或其子集相關的給定應用程序的連接。對每個資源請求,該應用代理可以確定存儲了資源的目標服務器可以連接到確定的服務器,并且可以代理客戶端設備與所確定的服務器之間的資源請求和返回的資源。本文使用的術語“部件”旨在廣泛地理解為包括硬件(例如,處理器、微處理器、ASIC、FPGA、芯片、存儲設備(例如,ROM、RAM等)等)或硬件與軟件的組合(例如,執(zhí)行包含在存儲設備中的軟件的處理器、微處理器、ASIC等)。本文使用的術語“數(shù)據(jù)包”旨在廣泛地理解為包括幀、數(shù)據(jù)報文、數(shù)據(jù)包(packet)、或信元(cell);幀的片段、數(shù)據(jù)報文的片段、數(shù)據(jù)包的片段、或信元的片段;或其他類型、配置、或封裝的數(shù)據(jù)。本文使用的術語“邊緣設備”旨在廣泛地理解為包括向網(wǎng)絡(諸如,網(wǎng)絡160)提供進入點或出口點的任何設備。在一個示例性實施方式中,網(wǎng)絡設備170可以對應于邊緣設備。
前述實施方式提供了圖解和描述,但是并未意在窮盡或?qū)⒈景l(fā)明限制為所公開的精確形式。修改和變化根據(jù)上面的教導是可能的,或可以從本發(fā)明的實踐中獲得。例如,雖然關于圖10至圖13已描述了一系列塊,但是在其他實施方式中可以更改塊的順序。此外,可以并行執(zhí)行非從屬塊。如上所述,明顯的是,實例方面可以在圖示實施例中不同形式的軟件、固件和硬件中得以實施。用于實施這些方面的實際軟件代碼或?qū)S每刂朴布粦忉尀橄拗?。因此,說明這些方面的操作行為并未參照具體的軟件代碼-應理解為可基于此處的說明設計軟件和控制軟件實施這些方面。即使具體的組合在權利要求書中列舉和/或在說明書中公開,這些組合并不旨在限制公開的實施例。事實上,這些特征很多可按照權利要求書中未具體列舉和/或說明書中未公開的方式進行組合。雖然以下每個獨立的權利要求可能僅直接基于另外一個權利要求,但公開的實施方式包括每個獨立的權利要求和權利集中其它單個權利要求的組合。

對公開實施例而言,本申請中使用的任何元件、行為或說明均不應解釋為關鍵或必需的,除非對此作出了清楚地說明。也如此處所使用的,字母“a”意指包括一項或多項。如果僅表示一項時,使用“ 一個”或類似表述。此外,短語“基于”意指“至少部分基于”,除非做了清楚地陳述。
權利要求
1.一種由計算設備執(zhí)行的方法,所述方法包括由所述計算設備從客戶端設備接收對于資源的請求;由所述計算設備基于所述請求中提供的信息來確定是否在所述計算設備處終止針對所述請求的連接;其中,在所述連接未被終止時,所述方法包括由所述計算設備將所述請求轉(zhuǎn)發(fā)至網(wǎng)絡,以及其中,在所述連接被終止時,所述方法包括由所述計算設備為所述資源選擇目標設備;由所述計算設備向選定的所述目標設備提供所述請求;由所述計算設備從選定的所述目標設備接收所述資源;以及由所述計算設備將所述資源提供至所述客戶端設備。
2.根據(jù)權利要求I所述的方法,其中,確定是否終止所述連接包括從所述請求中提取目的互聯(lián)網(wǎng)協(xié)議(IP)地址;從所述請求中提取所述客戶端設備的IP地址;提取所述請求的目的端ロ ;以及基于所述目的IP地址、所述客戶端設備的所述IP地址、或所述目的端ロ中的至少ー個確定是否在所述計算設備處終止針對所述請求的所述連接。
3.根據(jù)權利要求I所述的方法,其中,為所述資源選擇所述目標設備包括確定所述資源是否存儲在設置于所述計算設備中的本地緩存中;以及在所述資源存儲在所述本地緩存中時,選擇所述本地緩存作為所述目標設備。
4.根據(jù)權利要求3所述的方法,其中,在所述資源未存儲在所述本地緩存中吋,為所述資源選擇所述目標設備進ー步包括向路由中介服務器提供針對所述資源的詢問;從所述路由中介服務器并基于所述詢問接收所述目標設備的標識;以及基于所述標識從所述目標設備檢索所述資源。
5.根據(jù)權利要求I所述的方法,其中,向選定的所述目標設備提供所述請求包括向選定的所述目標設備提供所述請求的代理。
6.根據(jù)權利要求5所述的方法,其中,所述請求的所述代理包括所述請求和所述計算設備的互聯(lián)網(wǎng)協(xié)議(IP)地址。
7.根據(jù)權利要求I所述的方法,其中,向所述客戶端設備提供所述資源包括向所述客戶端設備提供所述資源的代理。
8.根據(jù)權利要求7所述的方法,其中,所述資源的所述代理包括所述資源和所述計算設備的互聯(lián)網(wǎng)協(xié)議(IP)地址。
9.根據(jù)權利要求I所述的方法,其中,所述資源包括以下各項中的ー個或多個音頻數(shù)據(jù)、視頻數(shù)據(jù)、文本、或服務。
10.根據(jù)權利要求I所述的方法,其中,確定是否在所述計算設備處終止針對所述請求的連接包括基于所述信息確定從所述客戶端設備中接收的請求的數(shù)量是否超過請求的閾值數(shù)量。
11.根據(jù)權利要求I所述的方法,其中,確定是否在所述計算設備處終止針對所述請求的連接包括基于所述信息識別與所述請求相關的網(wǎng)絡設備;以及確定從識別的所述網(wǎng)絡設備檢索的數(shù)量或資源是否超過閾值。
12.—種網(wǎng)絡設備,包括存儲器,用于存儲資源的本地緩存;以及處理器,被配置為從客戶端設備接收對于資源的請求,基于所述請求中提供的信息來確定是否在所述網(wǎng)絡設備處終止針對所述請求的連接;其中,在所述連接被終止時,所述處理器被配置為確定所述資源是否存儲于所述本地緩存,在所述資源存儲于所述本地緩存時,選擇所述本地緩存作為針對所述資源的目標設備,在所述資源未存儲于所述本地緩存時,從存儲資源的多個設備中選擇所述目標設備,向選定的所述目標設備提供所述請求,從選定的所述目標設備接收所述資源,以及向所述客戶端設備提供所述資源。
13.根據(jù)權利要求12所述的網(wǎng)絡設備,其中,在確定是否終止所述連接時,所述處理器被進ー步配置為從所述請求中提取目的互聯(lián)網(wǎng)協(xié)議(IP)地址,從所述請求中提取所述客戶端設備的IP地址,提取所述請求的目的端ロ,以及基于所述目的IP地址、所述客戶端設備的所述IP地址、或所述目的端ロ中的至少ー個確定是否在所述網(wǎng)絡設備處終止針對所述請求的所述連接。
14.根據(jù)權利要求13所述的網(wǎng)絡設備,其中,在所述連接未被終止時,所述處理器被配置為將所述請求轉(zhuǎn)發(fā)至網(wǎng)絡。
15.根據(jù)權利要求12所述的網(wǎng)絡設備,其中,在所述資源未存儲于所述本地緩存時,所述處理器被進ー步配置為向路由中介服務器提供針對請求的所述資源的詢問,從所述路由中介服務器并基于所述詢問接收所述目標設備的標識,以及基于所述標識與所述目標設備連接。
16.根據(jù)權利要求12所述的網(wǎng)絡設備,其中,在向選定的所述目標設備提供所述請求時,所述處理器被進ー步配置為將所述請求與所述網(wǎng)絡設備的互聯(lián)網(wǎng)協(xié)議(IP)地址關聯(lián),從而創(chuàng)建修改的請求,以及將所述修改的請求提供至選定的所述目標設備。
17.根據(jù)權利要求12所述的網(wǎng)絡設備,其中,在向所述客戶端設備提供所述資源時,所述處理器被進ー步配置為將所述資源與所述網(wǎng)絡設備的互聯(lián)網(wǎng)協(xié)議(IP)地址關聯(lián),從而創(chuàng)建修改的資源,以及將所述修改的資源提供給所述客戶端設備。
18.根據(jù)權利要求12所述的網(wǎng)絡設備,其中,所述資源包括以下各項中的ー個或多個音頻數(shù)據(jù)、視頻數(shù)據(jù)、文本、或服務。
19.根據(jù)權利要求12所述的網(wǎng)絡設備,其中,在確定是否終止所述連接時,所述處理器被進ー步配置為確定從所述客戶端設備接收的請求的數(shù)量是否超過請求的閾值數(shù)量。
20.根據(jù)權利要求12所述的網(wǎng)絡設備,其中,在確定是否終止所述連接時,所述處理器被進ー步配置為確定從與所述請求相關的網(wǎng)絡設備中檢索的數(shù)量或資源是否超過閾值。
全文摘要
本發(fā)明公開了一種網(wǎng)絡集成動態(tài)資源路由。一種設備,接收來自客戶端設備的、對于資源的請求,并基于請求中提供的信息確定是否在該設備處終止針對請求的連接。如果在設備處未終止連接,該設備將請求轉(zhuǎn)發(fā)至網(wǎng)絡,如果在設備處終止連接,該設備為資源選擇目標設備。該設備還向選定的目標設備提供請求,接收來自選定目標設備的資源,以及向客戶端設備提供資源。
文檔編號H04L29/12GK102833306SQ20111041246
公開日2012年12月19日 申請日期2011年12月12日 優(yōu)先權日2011年6月15日
發(fā)明者雅斯帕·科利 申請人:叢林網(wǎng)絡公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1