專利名稱:自適應網(wǎng)絡通信技術的制作方法
自適應網(wǎng)絡通信技術
背景技術:
當前,依靠對數(shù)據(jù)的網(wǎng)絡訪問的技術的使用正在持續(xù)增長。舉個例子,瀏覽器、應用等等可以依靠網(wǎng)絡訪問來檢索、修改以及在計算設備之間傳遞數(shù)據(jù)。通過這種方式,可以通過傳播數(shù)據(jù)來連接設備以及設備用戶。然而,日益增長的對于這些技術的依賴性有可能會放大訪問網(wǎng)絡時遇到的效率低下的問題。例如,在與典型用戶訪問網(wǎng)絡的次數(shù)相乘的時候,在執(zhí)行通信和/或處理數(shù)據(jù)的過程中出現(xiàn)的延遲有可能會耗費大量的時間。由此,這些延遲有可能導致產生效率低下的情況,并且導致用戶感到沮喪。
發(fā)明內容
在這里描述的是自適應網(wǎng)絡通信技木。在一個或多個實施方式中,客戶機設備確定經由網(wǎng)絡傳遞給內容供應商的請求針對的是能在驗證了從客戶機設備傳送到內容供應商的證書(credential)的時候經由內容供應商訪問的內容。響應于該確定,客戶機設備形成供內容提供商接收且包含證書的初始訊息(communication)。在一個或多個實施方式中,客戶機設備使用位于客戶機設備本地的數(shù)據(jù)來確定經由網(wǎng)絡傳遞到內容供應商的請求針對的是涉及多個不同網(wǎng)絡地址的內容。響應于該確定,客戶機設備形成傳遞到至少ー個網(wǎng)絡地址的訊息,以便從該網(wǎng)絡地址檢索所述內容的一部分。在一個或多個實施方式中,通過使用客戶機設備的硬件來運行瀏覽器會導致將數(shù)據(jù)保存在客戶機設備上,其中所述數(shù)據(jù)描述客戶機設備為了獲取網(wǎng)頁而與內容供應商進行的交互。響應于接收到了產生后續(xù)網(wǎng)頁請求的輸入,使用所述數(shù)據(jù)來將所述輸入中的主機名自動解析成IP地址以及基于所述數(shù)據(jù)來確定檢索該網(wǎng)頁所要開啟的連接的數(shù)量。本發(fā)明內容是為了以簡化形式引入精選概念而被提供的,并且在以下的具體實施方式
中將會進ー步描述這些概念。本發(fā)明內容的目的既不是打算識別所要求保護主題的關鍵特征或必要特征,也不是打算用來幫助確定描述所要求保護的主題的范圍。
具體實施方式
是參考附圖來描述的。在附圖中,參考數(shù)字最左側的ー個或多個數(shù)字標識的是參考數(shù)字首次出現(xiàn)的附圖。在說明書和附圖中,相同的參考數(shù)字在不同實例中的使用可以指示相似或相同的項目。圖I是可通過操作來使用自適應網(wǎng)絡通信技術的例示實施方式中的環(huán)境的例圖。圖2描述了被配置成可以從內容供應商或是內容供應商提示的其他各方檢索的網(wǎng)頁的圖I中的內容的示例。圖3是描述了基于在客戶機設備上做出的關于內容供應商將會請求證書的確定而將登錄證書自動提供給內容供應商的例示實施方式中的過程流程圖。圖4是描述了客戶機設備預取(prefetch)來自多個網(wǎng)站的內容中的某些部分的例示實施方式中的過程的流程圖。圖5是描述了將主機名自動解析成IP地址以及確定為了檢索網(wǎng)頁所要開啟的連接的數(shù)量的例示實施方式中的過程的流程圖。
具體實施例方式綜述
網(wǎng)絡訪問技術的流行度正在日益提高。由此,在這些技術中實施的優(yōu)化有可能會特別有益,在與典型用戶訪問網(wǎng)絡、例如瀏覽因特網(wǎng)、訪問內部網(wǎng)等等的次數(shù)相乘的時候尤其如此。在這里描述的是自適應網(wǎng)絡通信技木。在一個或多個實施方式中,網(wǎng)絡訪問行為可以基于描述與特定網(wǎng)站進行的先前交互的數(shù)據(jù)來適配。例如,所述數(shù)據(jù)可以描述客戶機設備為了獲取網(wǎng)頁而與內容供應商先前交互時遭遇的特性。舉個例子,所述數(shù)據(jù)可以描述在登錄內容供應商時是否涉及證書,用以提供網(wǎng)頁(例如可以從內容供應商“以外”檢索的廣告或其他部分)的主機的名稱,對于與內容供應商或相關供應商通信而言最優(yōu)的連接的數(shù)量,為內容供應商或相關供應商的主機名解析的IP地址等等。然后,客戶機設備可以利用該數(shù)據(jù)來執(zhí)行后續(xù)針對內容供應商的訪問嘗試。例如,客戶機設備可以在不等待內容供應商請求登錄證書的情況下自動提供登錄證書,由此減少網(wǎng)絡上的設備之間的“往返”數(shù)量。此外,客戶機設備可以打開被認為對于內容供應商而言最優(yōu)的多個連接,這樣做可以提高有效連接速度。更進一歩,客戶機設備還可以利用用以獲取網(wǎng)頁內容的“位置”(例如“URL”)的列表,并且可以開始從這其中的ー個或多個位置檢索內容,而不等待內容供應商指示所述位置。通過這種方式,客戶機設備可以適配用于在網(wǎng)絡上與內容供應商通信的技術,并且與此相關的更進一歩的論述可以結合后續(xù)附圖來找到。在以下論述中,首先描述可以使用這里描述的自適應網(wǎng)絡通信技術的例示環(huán)境。然后描述能在例示環(huán)境以及其他環(huán)境中使用的例示過程。由此,所述例示過程并不僅限于在例示環(huán)境中執(zhí)行,并且所述例示環(huán)境并不僅限于執(zhí)行例示過程。例示環(huán)境
圖I是可通過操作來使用這里描述的自適應網(wǎng)絡通信技術的例示實施方式中的環(huán)境100的例圖。圖示環(huán)境100包括彼此經由網(wǎng)絡106可通信地耦合在一起的內容供應商102和客戶機設備104。在本例中,內容供應商102在這個例子中代表一個或多個網(wǎng)絡位置,由此可以采用多種形式,例如網(wǎng)站、內部網(wǎng)上的網(wǎng)絡地址等等。內容供應商102和客戶機設備104中的每ー個都可以使用多種不同的計算設備來實現(xiàn)。例如,內容供應商和/或客戶機設備104可以被配置成能夠經由網(wǎng)絡106通信的計算機,例如臺式計算機、移動站、娛樂電器、可通信地耦合到顯示設備的機頂盒、無線電話、游戲控制臺等等。因此,內容供應商102和/或客戶機設備104的范圍可以是從具有大量存儲器和處理器資源的資源充足的設備(例如個人計算機、游戲控制臺)到存儲器和/或處理資源有限的資源很少的設備(例如傳統(tǒng)的機頂盒、手持游戲控制臺)。此外,雖然為內容供應商102和客戶機設備104顯示的是單個計算設備,但是該計算設備可以代表多個不同的設備,例如可供公司用以執(zhí)行內容供應商102的操作的多個服務器(例如可以與相同或相關網(wǎng)絡地址相關聯(lián)的ー個或多個服務器群中的服務器),遙控器與機頂盒的組合,圖像捕獲設備,以及被配置成捕獲姿勢的游戲控制臺等等。內容供應商102和客戶機設備104還可以包括促使處理器、功能塊等等內容供應商102和/或客戶機設備104的硬件執(zhí)行操作的實體(例如軟件)。例如,內容供應商102和/或客戶機設備104可以包括計算機可讀介質,該介質可以被配置成保持促使計算設備尤其是計算設備的硬件執(zhí)行操作的指令。由此,這些指令的功能是將硬件配置成執(zhí)行操作,并且通過這種方式導致硬件變換以執(zhí)行功能。這些指令可以由計算機可讀介質通過多種不同的配置提供給計算設備。
關于計算機可讀介質的一種這樣的配置是信號承載介質,并且由此被配置成經由諸如網(wǎng)絡106來向計算設備的硬件傳送指令(例如作為載波)。計算機可讀介質也可以被配置成是計算機可讀存儲介質,并且由此不是信號承載介質。關于計算機可讀存儲介質的示例包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、光盤、閃存、硬盤存儲器、以及可以使用磁性、光學和其他技術來存儲指令和其他數(shù)據(jù)的其他存儲器設備。雖然網(wǎng)絡106被圖示成是因特網(wǎng),但是該網(wǎng)絡可以采用多種配置。例如,網(wǎng)絡106可以包括廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、無線網(wǎng)絡、公共電話網(wǎng)絡、內部網(wǎng)等等。更進一歩,雖然所顯示的是單個網(wǎng)絡106,但是網(wǎng)絡106可以被配置成包含多個網(wǎng)絡??蛻魴C設備104被圖示成包含通信模塊108。該通信模塊108代表客戶機設備104經由網(wǎng)絡106來進行通信的功能,例如依照超文本傳輸協(xié)議(HTTP)來與內容供應商102進行通信。舉個例子,該通信模塊108可以包括通過導航網(wǎng)絡106來獲取內容供應商102的內容管理器模塊112管理的內容110的瀏覽器功能。內容110可以采用多種不同的方式配置。例如,內容110可以包括網(wǎng)頁、用于下載的文檔、可執(zhí)行模塊、媒體(例如音樂文件、視頻文件)等等。更進一歩,內容110可以采用多種方式并經由網(wǎng)絡106傳遞,例如下載、流式傳輸?shù)鹊?。通信模塊108還被圖示成包含適配模塊114。所述適配模塊114代表客戶機設備104適配網(wǎng)絡通信的功能。例如,適配模塊114可以被配置成將描述網(wǎng)絡交互的數(shù)據(jù)116緩存在客戶機設備104的存儲器中,其中所述交互例如可以是與內容供應商102的交互。數(shù)據(jù)116可以采用多種不同的方式獲取,例如由適配模塊114基于先前在客戶機設備104與內容供應商102之間進行的交互來產生,基于另ー個設備與內容供應商102的交互來產生,可以由第三方預先配置等等。由此,數(shù)據(jù)116可以描述特定于某個IP地址(例如網(wǎng)站)的特性,以便為后續(xù)的導航提供幫助。通過這種方式,可以使用數(shù)據(jù)116從而通過改善網(wǎng)絡使用情況來改善用戶訪問網(wǎng)絡站點(例如網(wǎng)站)時的體驗。關于這種適配的示例包括預先解析主機名稱,其中在每ー個或大多數(shù)的實例中,所述主機名稱通常是在訪問網(wǎng)站以檢索網(wǎng)頁的時候解析的。在另ー個示例中,可以預先打開多個連接,以便在用戶訪問復雜網(wǎng)站時將可被用戶感知的延遲減到最小。在某些情況中,這樣做是非常有益的,因為最優(yōu)的連接的數(shù)量隨著網(wǎng)站的不同而變動。在進ー步的示例中,如果訪問網(wǎng)站的處理涉及驗證,那么可以使用“預先驗證”技術來以ー種加速的方式提供證書。在另ー個示例中,適配模塊114可以追蹤用以提供內容110的部分118的不同的網(wǎng)絡地址(例如URL)。舉例來說,內容110可以被配置成網(wǎng)頁,其包含了廣告以及通常從別的網(wǎng)絡地址取回的其他信息,例如從廣告商、內容供應商102的不同服務器等等取回。通過對此進行追蹤,適配模塊114可以在從這些不同的位置“預取”所述部分118,而不必等待來自內容供應商102的指定這些地址的響應。通過這種方式,可以以ー種高效的方式來獲取內容110的部分118,并且結合圖2可以找到與之相關的更進ー步的論述。通常,這里描述的任何功能都可以使用軟件、固件、硬件(例如固定邏輯電路)、手動處理或是這些實施方式的組合來實現(xiàn)。這里使用的術語“模塊”和“功能”通常代表硬件、軟件、固件或是其組合。在軟件實施方式的情況下,模塊、功能或邏輯代表執(zhí)行諸如ー個或多個處理器和/或功能塊之類的硬件指定的操作的指令和硬件。圖2描述了被配置成可以從內 容供應商102和內容供應商102提示的其他各方檢索的網(wǎng)頁202的圖I中的內容110的示例實施方式200。圖示的網(wǎng)頁202可以包括多個部分。在圖示的示例中,網(wǎng)頁202是由網(wǎng)絡門戶(web portal)提供的,并且包含內容供應商102提供的標題和文章。網(wǎng)頁202還包括可以經由其他網(wǎng)絡地址、內容供應商102的不同服務器等等獲取的部分。例如,市場更新204部分可以從第三方服務獲取股票市值。同樣,天氣206部分可以從天氣預報網(wǎng)站獲取溫度和天氣預報,并且廣告208可以是從各個廣告商的網(wǎng)站獲取的。相應地,適配模塊114可以追蹤使用了哪些網(wǎng)絡地址來提供這些部分,由此可以預取這些部分。在傳統(tǒng)的實施方式中,通信模塊108可以接收主機名,使用DNS來將主機名解析成IP地址,然后向內容供應商102請求網(wǎng)頁。作為響應,內容供應商102可以提供一系列提供這其中的每ー個部分的內容源的主機名(例如URL)。然而,在本示例中,適配模塊114可以預取該網(wǎng)頁共有的其他網(wǎng)站的部分,例如市場更新204、天氣206部分乃至一個或多個廣告208,而不必等待內容供應商102指定要取回這些部分。換句話說,客戶機設備104可以在未被內容供應商102 “告知這么做”的情況下開始取回這些部分,由此節(jié)約時間并且實現(xiàn)網(wǎng)頁202的高效加載。如果基于與內容供應商102的后續(xù)通信確定所取回的部分不會被用于形成內容(例如網(wǎng)頁),那么可以丟棄這些部分。所述適配模塊114還可以利用數(shù)據(jù)116來提供多種其他功能,例如自動解析主機名稱,發(fā)起對于該網(wǎng)絡地址是最優(yōu)的多個連接等等,結合后續(xù)過程可以發(fā)現(xiàn)與之相關的更進ー步的論述。例示過程
以下論述描述可以使用前述系統(tǒng)和設備實現(xiàn)的自適應網(wǎng)絡通信技木。這其中每ー個過程的各方面都可以用硬件、固件、軟件或是其組合來實現(xiàn)。這些過程是作為ー組方框顯示的,其中這些方框指定一個或多個設備執(zhí)行的操作,并且它們沒有必要局限于所顯示的用于由相應方框執(zhí)行操作的順序。在后續(xù)論述的某些部分中分別將會參考圖I的環(huán)境100以及圖2的例示實施方式200。圖3描述了基于在客戶機設備上做出的內容供應商將會請求證書的確定而將登錄證書自動提供給內容供應商的例示實施方式中的過程300??蛻魴C設備經由網(wǎng)絡與內容供應商進行交互(方框302)。例如,通信模塊108可以使用瀏覽器功能并經由網(wǎng)絡106來與內容供應商102進行通信。該通信可以包括將主機名解析成IP地址,形成向內容供應商102請求內容110的HTTP請求,從內容供應商102以及其他網(wǎng)絡站點獲取內容,提供證書以便登錄到內容供應商102 (例如用戶名和ロ令),開啟多個連接來獲取內容110等等。
在客戶機設備上保存用于描述交互的數(shù)據(jù)(方框304)。例如,在這里可以使用緩存條目架構(cache entry schema)來存儲數(shù)據(jù)116,其中所述數(shù)據(jù)描述URL、響應報頭、過期時間、緩存群組、請求報頭、文件名、條目類型、最后一次修改、最后一次訪問以及最后一次同歩。該架構還可以用于存儲附加元數(shù)據(jù),其中所述附加元數(shù)據(jù)描述先前描述的特性,例如是否使用登錄證書(如果是的話,它們是什么),獲取內容110最優(yōu)的連接的數(shù)量(例如同時連接),IP地址等等。然后,可以利用該數(shù)據(jù),以提供多種功能??蛻魴C設備確定將經由網(wǎng)絡而被傳遞到內容供應商的請求針對的是能在驗證了從客戶機設備傳送到內容供應商的證書的時候通過內容供應商訪問的內容(方框306)。舉例來說,適配模塊114可以檢測對來自特定網(wǎng)絡站點的內容的HTTP請求。所述適配模塊114可以使用HTTP請求中的主機名、IP地址等等來定位描述了與該網(wǎng)絡站點的交互的數(shù)據(jù)116,在本實例中,所述數(shù)據(jù)表明內容供應商102在驗證了證書之后允許訪問內容110。響應于該確定,客戶機設備形成ー個供內容供應商接收且包含了證書的初始訊息 (方框308)。該訊息然后由客戶機設備傳送以便被內容供應商接收(方框310)。繼續(xù)先前的示例,適配模塊114可以定位與內容供應商102相對應的證書。然后,作為從客戶機設備104發(fā)送到所述內容的內容供應商102的第一個訊息,這些證書可被提供給內容供應商102。通過這種方式。適配模塊114可以加速從內容供應商102獲取內容110的過程。其他技術同樣可以用于提高獲取內容的效率,并且結合以下附圖可以找到與之相關的示例。圖4描述了客戶機設備預取來自多個網(wǎng)站的內容中的某些部分的例示實施方式中的過程400??蛻魴C設備使用客戶機設備本地的數(shù)據(jù)來確定將經由網(wǎng)絡傳遞到內容供應商的請求針對的是涉及多個不同網(wǎng)絡地址的內容(方框402)。其中舉例來說,數(shù)據(jù)116可以是適配模塊114隨著時間的過去而為客戶機設備104與內容供應商102之間經由網(wǎng)絡106所進行的多個不同的交互收集的,所述交互例如是為了檢索網(wǎng)頁而進行的。該數(shù)據(jù)的一部分可以描述用于提供內容110的部分118的網(wǎng)絡地址(例如IP地址、主機名等等)以及相對應的指示該網(wǎng)絡地址的使用次數(shù)的計數(shù)器。響應于該確定,客戶機設備會形成傳遞至少ー個網(wǎng)絡地址的訊息,以便從所述至少ー個網(wǎng)絡地址檢索內容的一部分(方框404)。繼續(xù)先前的示例,適配模塊114隨后可以預取內容110中有可能被所述內容使用的部分118。舉例來說,所述部分118可以包括從第三方來源獲取的數(shù)據(jù)(例如天氣服務或金融服務),從廣告商那里獲取的廣告等等。由此,這樣做有助于減少內容供應商102與客戶機設備104之間為了完成圖2所示的網(wǎng)頁所進行的“往返”通信,從而提高可以在客戶機設備104上顯示網(wǎng)頁的速度。在引入了大量“外部”部分來形成內容(例如來自網(wǎng)絡門戶的網(wǎng)頁、新聞服務等等,它們可能涉及五十個或更多的不同網(wǎng)絡地址來形成網(wǎng)頁)的實例中,這樣做是非常有利的。在一個或多個實施方式中,如果內容供應商沒有指定檢索該內容部分,那么該內容部分將被丟棄(方框406 )。在這個示例中,可能獲取在特定版本的網(wǎng)頁中沒有規(guī)定使用的部分118。例如,多產的廣告商在特定的版本中有可能沒有提供廣告。相應地,如果來自內容供應商102的響應并未指定已被預取的內容110中的部分118,那么可以丟棄所述部分。由此,在本實例中,基于部分118將被作為內容的一部分使用的可能性,適配模塊114可以相對激進地預取所述部分118。圖5描述了將主機名自動解析成IP地址以及確定為了檢索網(wǎng)頁所要開啟的連接的數(shù)量的例示實施方式中的過程500。在客戶機設備上存儲描述客戶機為了獲取網(wǎng)頁而與內容供應商進行的交互的數(shù)據(jù)(方框502)。如先前所述,該數(shù)據(jù)可以描述所述交互的多種特性。
響應于接收到了做出后續(xù)網(wǎng)頁請求的輸入(方框504),通過使用所述數(shù)據(jù),所述輸入中的主機名將被自動解析成IP地址(方框506)。舉例來說,數(shù)據(jù)116可以存儲從DNS獲取的用于主機名的IP地址,由此通信模塊108不會再次請求轉換。此外,在這里還會基于該數(shù)據(jù)來確定為了檢索網(wǎng)頁而被開啟的連接的數(shù)量(方框508 )。例如,通信模塊108可以被配置成先前所述的瀏覽器,并且可以開啟多個連接來從內容供應商102獲取內容110。基于內容110的特性,在這里有可能存在多個被認為對于檢索內容110而言最優(yōu)的連接,其中所述多個連接可以與用于提供內容110的部分118的多個網(wǎng)絡地址相關。由此,在本示例中,適配模塊114可以事先打開所述多個連接來檢索內容110。與先前一祥,數(shù)據(jù)116既可以基于客戶機設備104本身與內容供應商102的交互,也可以是從另ー個來源預先配置的等等。結論
雖然本發(fā)明是用特定于結構特征和/或方法操作的語言描述的,但是應該理解,所附權利要求中定義的發(fā)明不必局限于所描述的具體特征或操作。相反,這些具體特征和操作是作為實現(xiàn)所要保護的發(fā)明的例示形式公開的。
權利要求
1.一種方法,包括客戶機設備確定將經由網(wǎng)絡傳遞給內容供應商的請求針對的是在驗證了從客戶機設備傳送到內容供應商的證書的時候能經由內容供應商訪問的內容(306 );以及響應于該確定,客戶機設備形成供內容供應商接收且包含證書的初始訊息(308 )。
2.如權利要求I所述的方法,其中該請求是超文本傳輸協(xié)議(HTTP)請求或超文本傳輸協(xié)議安全(HTTPS)請求。
3.如權利要求I所述的方法,其中所形成的初始訊息包括所述請求和證書。
4.如權利要求I所述的方法,其中所述確定使用了保存在客戶機設備上的數(shù)據(jù),所述數(shù)據(jù)基于與內容供應商進行的先前交互。
5.如權利要求I所述的方法,其中所述確定是在將請求傳遞到內容供應商之前執(zhí)行的。
6.如權利要求I所述的方法,還包括客戶機設備確定該請求針對的是涉及多個不同網(wǎng)絡地址的內容,所述確定是在將該請求傳遞到內容供應商之前執(zhí)行的;以及響應于該確定,客戶機設備形成傳遞到至少一個所述網(wǎng)絡地址的訊息,以便從至少一個所述IP地址檢索所述內容的一部分。
7.如權利要求6所述的方法,其中所述形成是使用多個連接而為多個所述網(wǎng)絡地址執(zhí)行的,其中客戶機設備開啟的多個連接的數(shù)量至少部分基于客戶機設備上存儲的數(shù)據(jù)。
8.如權利要求I所述的方法,還包括使用保存在客戶機設備本地的數(shù)據(jù)來將請求中的主機名轉換成IP地址,所述轉換是在沒有用戶干預以及沒有訪問網(wǎng)絡的情況下自動執(zhí)行的。
9.一種方法,包括客戶機設備使用位于客戶機設備本地的數(shù)據(jù)來確定將經由網(wǎng)絡傳遞到內容供應商的請求針對的是涉及多個不同網(wǎng)絡地址的內容;以及響應于該確定,客戶機設備形成傳遞到至少一個所述網(wǎng)絡地址的訊息,以便從至少一個所述網(wǎng)絡地址檢索所述內容的一部分。
10.如權利要求9所述的方法,其中所述確定是在將請求傳遞到內容供應商之前執(zhí)行的;以及所述形成是在接收到來自內容供應商的關于至少一個所述網(wǎng)絡地址的指示之前執(zhí)行的。
11.一種計算機可讀存儲介質,其上存儲了計算機可讀指令,所述指令在被計算機執(zhí)行時導致計算機執(zhí)行如權利要求1-10中任何一項所述的方法。
全文摘要
在這里描述了自適應網(wǎng)絡通信技術。在一個或多個實施方式中,客戶機設備確定將經由網(wǎng)絡傳遞給內容供應商的請求針對的是能在驗證了從客戶機設備傳送到內容供應商的證書的時候經由內容供應商訪問的內容。響應于該確定,客戶機設備形成供內容供應商接收且包含證書的初始訊息,而不用等待內容供應商向客戶機設備請求所述證書。
文檔編號H04L29/06GK102624702SQ20121002231
公開日2012年8月1日 申請日期2012年2月1日 優(yōu)先權日2011年2月1日
發(fā)明者I.D.帕肖夫, J.A.西爾貝拉, P.特倫利 申請人:微軟公司