欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

識別高效的目標服務器的制作方法

文檔序號:7782495閱讀:222來源:國知局
專利名稱:識別高效的目標服務器的制作方法
識別高效的目標服務器
背景技術(shù)
多個遠程服務器可以由使用普通名稱的請求客戶端尋址。例如,該客戶端可能希望導航到www. exampledomain. com。在該實例中,對于www. exampledomain. com的遠禾呈訪問可以由多個服務器(或服務器群)提供。通常,遠程服務的提供者可以將針對該服務的遠程目標服務器設(shè)置在地理上不同的位置(例如,倫敦、紐約和洛杉磯),以便向許多用戶提供更好的服務。例如,在英格蘭的用戶可能希望連接到倫敦而不是紐約的目標服務器,因為倫敦連接將典型地提供更高效的連接(例如,更快的服務),從而提供更好的用戶體驗。

發(fā)明內(nèi)容
該發(fā)明內(nèi)容被提供以通過簡化形式引入下面的具體實施方式
中進一步描述的概念的選擇。該發(fā)明內(nèi)容不旨在標識要求保護的主題的關(guān)鍵因素或必要特征,也不旨在用于限制要求保護的主題的范圍。當客戶端具有要從中選擇的目標服務器(例如,DNS服務器、由DNS查詢返回的web 服務器等)的網(wǎng)際協(xié)議(IP)地址集合時,對該客戶端而言可能期望以期望的方式對它們進行分類,比如可以將性能最好(most performant)(例如,最快連接)的放在第一位。目標服務器可以在地理上不同(例如,在不同的州、國家或洲中),并且更靠近客戶端的目標服務器通常提供更快的連接。當從用于分類的請求返回的IP地址在地理上不同時,分類應當考慮位置。然而,當前技術(shù)和系統(tǒng)不負責(account for)各目標在地理上遠離時的情形,這可能導致減弱的用戶體驗。因此,公開了一種或多種提供選擇可以具有更快連接的目標服務器而不改變服務器的技術(shù)和/或系統(tǒng)。而且,在先前技術(shù)和/或系統(tǒng)典型地利用(帶寬消耗)主動(active) 探測和/或附加服務器相關(guān)數(shù)據(jù)做出關(guān)于選擇的決定的情況下,所公開的技術(shù)和/或系統(tǒng)可以僅利用現(xiàn)有服務器相關(guān)信息(例如,IP地址和往返時間)來識別高效目標服務器,從而可能消耗更少帶寬和/或其他開銷。在用于識別按照針對請求客戶端機器的往返時間(RTT)排序的目標服務器的列表的一個實施例中,從所述請求客戶端與對應于已經(jīng)滿足來自該客戶端的在前請求的目標服務器的地址(例如IP地址)之間的歷史交互的數(shù)據(jù)庫收集或得出RTT。所收集或得出的RTT 可以對應于目標服務器地址,其可以被訪問以滿足來自客戶端和/或來自對應于目標服務器的地址范圍的當前請求。因此,對應于所收集或得出的預期RTT的地址列表和/或?qū)哪繕朔掌骺梢愿鶕?jù)預期的RTT分類,以使得可以針對當前請求產(chǎn)生期望(例如最短)響應時間的目標服務器例如可以被置于列表頂部。為了實現(xiàn)前述和相關(guān)目的,下面的描述和附圖闡釋了某些說明性方面和實現(xiàn)方式。這些僅僅指示了可以使用一個或多個方面的各種方式中的一些。本公開的其他方面、 優(yōu)點和新穎特征將在結(jié)合附圖考慮時根據(jù)下文的詳細描述而變得清楚明白。


圖1是用于識別按照來自請求機器的(預期的)往返時間排序的目標服務器列表的示范性方法的流程圖。圖2是圖示本文所述方法的一個或多個部分的一個實施例的流程圖和伴隨的說明性實例。圖3是圖示本文所述方法的一個或多個部分的一個實施例的流程圖和伴隨的說明性實例。圖4是用于識別按照來自請求機器的(預期的)往返時間排序的目標服務器列表的示范性系統(tǒng)的組件圖。圖5是圖示可以實現(xiàn)本文所述的一個或多個系統(tǒng)的實例實施例的組件圖。圖6是包括被配置成體現(xiàn)本文所闡述的一個或多個設(shè)置(provision)的處理器可執(zhí)行指令的示范性計算機可讀介質(zhì)的圖示。圖7圖示可以實現(xiàn)本文所闡述的一個或多個設(shè)置的示范性計算環(huán)境。
具體實施例方式現(xiàn)在參照附圖描述要求保護的主題,其中自始至終相似的附圖標記用于指代相似的元件。在下面的描述中,為了解釋的目的,闡述了許多特定細節(jié),以便提供對要求保護的主題的徹底理解。然而,可能明顯的是,要求保護的主題可以在沒有這些特定細節(jié)的情況下被實踐。在其他實例中,以框圖形式示出結(jié)構(gòu)和設(shè)備,以便便于描述要求保護的主題??梢栽O(shè)計一種可以識別高效滿足來自客戶端的請求的目標服務器的方法。在客戶端與網(wǎng)際協(xié)議(IP)地址之間發(fā)送的數(shù)據(jù)的歷史往返時間(RTT)可以被保存或被用于得出用于一定的IP地址范圍的聚集的RTT狀態(tài)。可以將從當前請求返回的目標服務器的IP地址與所保存的歷史數(shù)據(jù)進行比較,以識別目標服務器的預期RTT。目標服務器的列表因此可以例如根據(jù)針對當前請求的預期RTT來分類以識別滿足請求的、期望的(例如最高效的)目標服務器。圖1是用于識別按照針對請求客戶端機器的往返時間(RTT)排序目標服務器列表的示范性方法100的流程圖。該示范性方法100開始于102處并且涉及在104處針對客戶端與之交互的遠程服務器的諸如網(wǎng)際協(xié)議(IP)地址、IP地址加關(guān)聯(lián)的端口、和/或IP地址加關(guān)聯(lián)的協(xié)議(例如TCP、UDP)等(例如,其中“加”并不暗示算術(shù)運算)之類的地址收集 RTT0例如,隨著時間的推移,客戶端可以與提供對因特網(wǎng)站點、遠程服務、網(wǎng)絡(luò)連接和/或?qū)Φ冗B接等等訪問的多個遠程服務器交互。在該實例中,在與遠程服務器交互期間,用于數(shù)據(jù)分組傳輸?shù)腞TT可以被識別并與對應的地址相關(guān)聯(lián)。以此方式,在一個實施例中,所述地址和對應的RTT可以被保存在例如數(shù)據(jù)庫(例如包括滿足來自客戶端的在前請求的IP地址表和對應的RTT)中。在另一個實施例中,RTT可以針對一定地址范圍得出。例如,IP地址可以被保存在包括一個或多個IP地址范圍的數(shù)據(jù)庫中。在該實例中,當獲得針對該范圍的IP地址的 RTT時,該RTT可以用于確定該范圍的公共RTT,比如平均值、中值、最好、最小和/或一些其他滿足期望RTT特性的統(tǒng)計推導。例如,最慢的RTT可以被分配用于該IP地址范圍,以便在確定哪一個目標服務器在后續(xù)通信中使用時提供最壞場景。在示范性方法100中的106處,目標服務器地址列表可以響應于來自客戶端的當前請求而被接收。例如,當客戶端嘗試導航到網(wǎng)站時,可能存在被配置成服務或以另外方式提供對該網(wǎng)站的訪問的超過一個遠程服務器。網(wǎng)站和其他遠程服務典型地提供多個服務器位置以嘗試為許多位置的用戶提供更好的用戶體驗。例如,連接到紐約的網(wǎng)站的服務器的俄亥俄州的用戶與他們連接到倫敦的網(wǎng)站的服務器的情況相比可能具有不同的用戶體驗。 而且,愛爾蘭的用戶在連接到倫敦的網(wǎng)站服務器時與在連接到紐約的網(wǎng)站服務器時相比將具有不同的用戶體驗。提供服務于不同用戶的不同服務器(例如,或者服務器群)可以提供例如改進的用戶體驗(例如,更快的連接速度,更快的上傳和下載)。
當用戶嘗試導航到遠程服務時,多個目標服務器地址可以響應于請求而被返回 (例如可以服務于對訪問遠程服務的客戶端請求的服務器)。在一個實施例中,所述請求客戶端可以從利用其連接到遠程服務的目標服務器列表中選擇IP地址之一。然而,例如在不知道哪個地址可以提供期望的(例如,最高效的)連接(例如,最快的數(shù)據(jù)傳輸速度)的情況下,所述請求客戶端可以連接到較不高效的目標服務器,從而可能導致較不理想的用戶體驗。
在示范性方法100的108處,從當前請求返回的目標服務器列表根據(jù)RTT (例如, 預期的RTT)分類,所述RTT從包括例如先前滿足一個或多個來自客戶端的請求和/或從針對IP地址范圍的RTT得出的地址(例如,IP地址的范圍、IP地址加關(guān)聯(lián)的端口和/或IP地址加關(guān)聯(lián)的協(xié)議等)的RTT的數(shù)據(jù)庫識別。這里,數(shù)據(jù)庫中的相應RTT可以從客戶端與數(shù)據(jù)庫中的地址(例如IP地址范圍中的IP地址)之間的歷史交互收集。即,當前請求可以返回用于可以滿足當前請求的目標服務器的地址列表,并且數(shù)據(jù)庫可以包括用于地址的歷史 RTT (例如或得出的RTT),其中對應的目標服務器(到數(shù)據(jù)庫中的地址)可能已經(jīng)滿足來自客戶端的在前請求,和/或具有落入或以另外方式對應于數(shù)據(jù)庫中的地址范圍的地址。如前所述,目標服務器可以位于不同的地理位置,并且基于該位置和連接可以提供不同的用戶體驗。
在該實例中,可以將可滿足當前請求的目標服務器的地址與保存信息的數(shù)據(jù)庫中的地址進行比較。例如,與數(shù)據(jù)庫中的地址相關(guān)聯(lián)的RTT可以用于分類可以滿足當前請求的目標服務器的返回地址;并且,在該實例中,分類列表中第一或最頂部的目標服務器可以包括最高效的(例如,最快的、最短的)RTT0以此方式,例如,客戶端可以選擇滿足對遠程服務的請求的最高效的目標服務器,并且可以具有比例如服務器被隨機選擇或以對客戶端的旋轉(zhuǎn)模式選擇的情況更好的用戶體驗。
在將目標服務器的地址列表分類之后,示范性方法100在110處結(jié)束。
圖2是圖示本文所述的方法的一個或多個部分的一個實施例200的流程圖和伴隨的說明性實例。在202處,客戶端254導航到站點,比如遠程服務、網(wǎng)站或一些其他在線接入點。通常,例如,用戶可以通過將站點名稱或地址輸入到瀏覽器導航字段中來導航到該站點。作為另一個實例,應用可以嘗試通過發(fā)送解析站點或服務的名稱的請求來可編程地訪問該站點。
在該說明性實例中,客戶端可以訪問分別由一個或多個目標服務器250服務的多個站點。而且,目標服務器可以連接到客戶端2M為了訪問站點或服務可以連接到的因特網(wǎng)252 (例如,或一些其他網(wǎng)絡(luò))。在204處,站點服務器250的一個或多個的IP地址可被解析。例如,域名系統(tǒng)(DNS)可以被用于將站點名稱解析為用于該站點的目標服務器的一個或多個IP地址。在該實例中,本地DNS (LDNS)服務器可以由客戶端2M通過因特網(wǎng)252 聯(lián)系,并且針對該站點名稱LDNS可以聯(lián)系權(quán)威DNS (ADNS)服務器。而且,ADNS可以為服務于該站點的目標服務器解析一個或多個IP地址,并且將它們返回到LDNS,其又例如將它們返回到客戶端。在206處,在一個實施例中,當客戶端2M使用返回的IP地址與目標服務器交互時,在客戶端處的IP??梢怨芾磉B接信息??梢岳斫?,在一個或多個地址被返回的情況下, 這些地址可以被分類(例如,基于任何在前信息)并且可以基于該分類選擇期望地址。而且,在一個實施例中,在請求客戶端2M與IP地址交互時,在208處,往返時間 (RTT)可以被確定。例如,當數(shù)據(jù)分組從客戶端發(fā)送到該IP地址時,服務器做出響應所花費的時間可以被識別并被IP棧收集。作為說明性實例,針對與客戶端機器有關(guān)的IP地址的 RTT典型地由TCP/IP棧來維護至少所述連接和/或會話的持續(xù)時間。在一個實施例中,IP地址的數(shù)據(jù)庫256可以連同相關(guān)聯(lián)的針對IP地址的RTT被維護。在請求客戶端2M與該IP地址交互時,該數(shù)據(jù)庫256可以填充有對應于IP地址的 RTT0在210處,諸如由IP棧收集的RTT樣本可以被檢索以便保存在數(shù)據(jù)庫256中并且被分配給客戶端正與其交互的IP地址(例如,用于響應服務器250)。在一個實施例中,維護與RTT相關(guān)聯(lián)的IP地址的數(shù)據(jù)庫256可以包括維護包括一個或多個IP地址范圍的數(shù)據(jù)庫,其中相應的一個或多個范圍分別與RTT相關(guān)聯(lián)。在該實施例中,在212處,RTT可以與在請求機器與一定范圍內(nèi)的IP地址交互時的IP地址的該范圍相關(guān)聯(lián)(例如被分配到該范圍),如下文進一步詳細所述。在該實施例中,例如一個或多個IP 地址范圍可以在該數(shù)據(jù)庫中維護,并且RTT可被分配給包括與來自IP棧的RTT樣本相關(guān)聯(lián)的IP地址的范圍。以此方式,例如,可以以更高效的方式管理數(shù)據(jù)庫,其中IP地址的范圍與RTT相關(guān)聯(lián),而不是針對一個IP地址單獨保存一個RTT。而且,在一個實施例中,IP地址的范圍可以被更新,比如當新IP地址交互由客戶端進行和/或用于該范圍的新RTT被識別時。在該實例中,基于客戶端交互,數(shù)據(jù)庫可以是動態(tài)的(例如,即時或?qū)崟r地改變);并且因此可能在存儲裝置的使用方面是高效的。此外,數(shù)據(jù)庫可以例如由客戶端本地地存儲,和/或其至少部分可以被遠程地存儲在例如基于云的數(shù)據(jù)管理系統(tǒng)中。在一個實施例中,由數(shù)據(jù)庫維護的IP地址的范圍可以與IP地址的洲級分配相關(guān)聯(lián)。例如,因特網(wǎng)編號分配機構(gòu)(IANA)提供全球IP地址分配以及其他IP相關(guān)系統(tǒng)分配。IANA將IP地址塊分配給若干區(qū)域因特網(wǎng)注冊機構(gòu)(MR),其包括非洲網(wǎng)絡(luò)信息中心 (AfriNIC)、因特網(wǎng)編號美國注冊機構(gòu)(ARIN)、亞太網(wǎng)絡(luò)信息中心(APNIC)、拉丁美洲和加勒比海網(wǎng)絡(luò)信息中心(LACNIC)和歐洲IP網(wǎng)絡(luò)資源協(xié)調(diào)中心(RIPE NCC)。這些RIR典型地遵循區(qū)域政策以向客戶提供IP地址,客戶包括因特網(wǎng)服務提供商(ISP)和終端用戶組織, 比如公司。在該實施例中,分配給相應的RIR的IP地址塊可以例如在數(shù)據(jù)庫中維護以便于識別目標服務器的通用位置(例如,基于洲)。在一個方面,抽象數(shù)據(jù)模型可以被提供用于維護(例如,存儲、提供、管理、更新)IP地址和關(guān)聯(lián)的RTT。在一個實施例中,“全球網(wǎng)絡(luò)列表”可以包括若干條目(例如,列),比如包括主機現(xiàn)在或先前附接到的網(wǎng)絡(luò)的本地(例如,主機本地)標識符的 “網(wǎng)絡(luò)ID (NetworkID)”;包括主機附接到該網(wǎng)絡(luò)的最后一次的時間戳的“最后訪問的(LastVisited)”;包括與網(wǎng)絡(luò)ID相關(guān)聯(lián)的表的“Rtt表(RttTable)”,其可以包括以下條目(例如,列)包括行范圍的第一 IP地址的“開始地址(StartAddress)” ;包括行范圍中的最后一個IP地址的“結(jié)束地址(EndAddress)” ;包括對行范圍中地址的預期最小RTT (例如,以毫秒為單位)的“MinRTT” ;以及包括最后一次MinRTT更新的時間戳的“最后更新的 (LastUpdated),,。
而且,在一個實施例中,所述抽象模型可以包括全球洲表,其可以包括以下條目 (例如,列)=IP地址前綴;IP地址前綴長度;以及“洲ID (ContinentID)",比如用于ARIN、 RIPE、ΑΡΝΙC, LACNIC或AFRNIC。在該實施例中,例如,數(shù)據(jù)庫可以包括用于相應的洲級區(qū)域的相應的IP地址范圍。其他實施例也被設(shè)想,例如具有國家、州和/或其他地理粒度 (granlarities) 的^。
在一個方面,RTT樣本被接收并被填充(populate)到數(shù)據(jù)庫。在一個實施例中,在該方面,可以使用一種算法接收RTT樣本,比如針對IP地址范圍的“MinRTT”樣本。例如, 一種算法代碼可以周期性地輪詢(poll) TCP數(shù)據(jù)庫,比如通過使TCP調(diào)用在RTT樣本可用時的內(nèi)部“樣本可用”功能。作為另一個實例,應用編程接口(API)可以用于針對其他協(xié)議 (比如DNS)輪詢的RTT樣本。作為附加實例,比如當傳輸控制協(xié)議(TCP)提供RTT樣本、此時新的一個RTT樣本變得可用(例如,在接收到響應時)的情況下,可以使用非輪詢方案。
在一個實施例中,在該方面,當RTT樣本得到遠程IP地址R和本地IP地址L時, 可以執(zhí)行下述動作。本地IP地址L (例如,被分配給到特定網(wǎng)絡(luò)的本地主機的連接)可以用于確定使用哪個RTT表(如果存在超過一個表)。遠程IP地址R可以在RTT表中被查找以看看它是否落入某行的范圍內(nèi)。如果沒有找到范圍,則例如可以開始新行(例如,或者現(xiàn)有的行范圍可以擴展以覆蓋IP地址),和/或一些日期標準可以用來創(chuàng)建新行(例如,如果 “最后訪問的,,滿足某些標準)。
而且,如果RTT樣本滿足某些標準(例如,時間相關(guān)、速度相關(guān)或一些閾值),則 “MinRTT”可以被更新以說明RTT樣本值(例如,使用移動平均)。此外,“最后更新的”可以被更新到當前時間戳。在該實施例中,可以確定兩行或更多行可以被組合。例如,如果新IP 地址包括范圍的結(jié)束地址,并且它毗鄰(例如,或在某個范圍閾值內(nèi))另一個范圍的結(jié)束地址,則這兩個范圍可以組合。在一個實施例中,當組合IP地址范圍時,例如來自相應范圍的 MinRTT是相似的,使得(極大地)不同的MinRTT不被組合。
為了節(jié)約存儲器,例如可能重要的是,不允許RTT表中的多個行無限增長。在一個實施例中,最大數(shù)量的行(例如,一千)可以用作上限,并且這些行可以在需要時被從表中逐出。例如,如果該表是充滿的(例如,滿足上限),則最舊的現(xiàn)有行(例如至少最近更新的)可以在創(chuàng)建新行之前被逐出,比如通過使用相應行中的“最后更新的”字段。在一個實施例中, 原始行可以被分割,例如以說明用于遠程IP地址的新MinRTT樣本,特別是當新MinRTT樣本明顯不同于分割之前所述范圍的MinRTT時(例如,在一些增量(delta)內(nèi),比如20毫秒內(nèi))。
在一個實施例中,當對兩個IP本地/遠程地址對進行比較以分類時,預期的 MinRTT可以從用于相應對的表中識別,并且可以與針對該對的MinRTT估計進行比較。作為實例,具有較低MinRTT估計的對可被選擇。在該實施例中,當在各對之間存在聯(lián)系的情況下(例如,在MinRTT的值在彼此的某個閾值范圍內(nèi)并且因此不必確切相等的情況下),相應的IP地址的洲ID可以從數(shù)據(jù)庫中識別,并且如果一對具有含相同洲ID的地址并且另一對具有含不同洲ID的地址,則可以選擇具有相同洲ID的對。圖3是圖示本文所述方法的一個或多個部分的一個實施例300的流程圖和伴隨的說明性實例。在302處,客戶端352例如通過使用因特網(wǎng)358導航到在線站點或服務。例如,用戶可以將站點地址或名稱輸入到駐留在客戶端352的瀏覽器中,或者客戶端352所使用的應用可以可編程地嘗試訪問遠程服務或站點。在304處,客戶端可以連接到因特網(wǎng)(例如,或者一些在線網(wǎng)絡(luò))以請求目標服務器以求來自本地域名系統(tǒng)(LDNS)服務器354的所請求的站點或服務。例如,連接到因特網(wǎng)的客戶端典型地被分配LDNS服務器,其被用于將在線名稱解析為目標服務器的IP地址。針對該站點/服務名稱該LDNS服務器3M可以識別權(quán)威DNS (ADNS)服務器356。該ADNS服務器由站點用來解析站點的目標服務器360的IP地址,并且例如將它們返回到請求LDNS 服務器。在306處,針對來自客戶端的請求,LDNS服務器邪4可以比如通過因特網(wǎng)358從 ADNS服務器356請求目標服務器360。在308處,ADNS 356可以將用于該站點的目標服務器360的IP地址返回到LDNS服務器354。在310處,LDNS服務器3M可以將可以滿足所述請求的目標服務器360的IP地址列表返回到請求客戶端352。 在一個實施例中,所述IP地址可以不使用DNS來解析。例如,可以利用其他類型的名稱解析,比如當使用NetBIOS名稱時使用視窗因特網(wǎng)名稱服務(WINS),或者在使用用于服務的因特網(wǎng)主機的“對等名稱”時使用對等名稱解析協(xié)議(PNRP)。作為另一個實例,一些客戶端可以在訪問遠程服務時利用預配置的目標服務器IP地址。在該實例中,該客戶端可以被預配置有地理上不同位置中的目標服務器的IP地址,比如用于在傳播時到達最近的服務器。在該實施例中,用于目標服務器的IP地址列表可以使用任何適當?shù)膮f(xié)議來提供。在312處,為了對返回的目標服務器IP地址進行分類,可以請求針對列表中相應 IP地址的RTT。在314處,可以將用于目標服務器360的IP地址與數(shù)據(jù)庫350中的IP地址范圍匹配。例如,如果返回的目標服務器IP地址落入數(shù)據(jù)庫中的IP地址范圍內(nèi)(例如, 落入序列、塊、段等內(nèi)),則目標服務器IP地址可以被稱為匹配該范圍。在另一個實例中,用于目標服務器的IP地址可以直接在數(shù)據(jù)庫350中找到。在一個實施例中,將目標服務器的IP地址與數(shù)據(jù)庫中的IP地址范圍進行匹配可以包括將該IP地址與最接近的IP地址范圍匹配。例如,該目標服務器IP地址可以包括鄰近一定范圍的IP地址,或者可以落入來自該范圍結(jié)束點的閾值數(shù)量的IP地址內(nèi)。在該實例中,如果目標服務器IP地址落入該范圍之外的期望閾值內(nèi),則目標服務器IP地址可以匹配該范圍。而且,在一個實施例中,目標服務器IP地址與數(shù)據(jù)庫中的IP地址范圍的匹配可以包括將該IP地址與IP地址的洲級范圍匹配。例如,如果目標服務器IP地址沒有落入數(shù)據(jù)庫中的范圍內(nèi)(例如,或者足夠接近而離開(away)期望的閾值內(nèi)),則該目標服務器IP地址可以與洲級范圍匹配(例如分配給RIR的IP地址塊)。以此方式,例如,至少目標服務器的通用、區(qū)域位置可以被識別。在316處,與數(shù)據(jù)庫350中的IP地址范圍相關(guān)聯(lián)的RTT被檢索用于被針對客戶端 352的請求而返回的目標服務器360。例如,可以針對匹配該范圍的目標服務器IP地址而檢索分配給IP地址范圍的“MinRTT”值。而且,例如,可以從數(shù)據(jù)庫350檢索用于針對所述請求返回的相應的目標服務器IP地址的MinRtt值。
在318處,針對所述請求返回的目標服務器360可以通過它們相應的RTT值來分類。在一個實施例中,目標服務器360可以例如從最快RTT到最慢RTT進行分類,其中具有最小預期MinRTT值的IP地址(例如,根據(jù)數(shù)據(jù)庫確定的)可以被分配為列表中的第一個目標服務器,并且具有最大預期MinRTT值的IP地址可以被分配為列表中的最后一個目標服務器。以此方式,例如,列表上的第一個目標服務器可以包括對于客戶端而言選擇與之連接以便訪問遠程服務的最高效的目標服務器。
在一個實施例中,所述對從請求返回的目標服務器列表的分類可以包括與地理上不同的目標服務器列表一起工作。例如,目標服務器360A可以存在于紐約,目標服務器 360B可以存在于洛杉磯,且目標服務器360C可以存在于倫敦。在該實例中,如果客戶端存在于俄亥俄州,則紐約的目標服務器360A可能與具有比其他兩個目標服務器360B、360C更快的RTT的IP地址范圍相關(guān)聯(lián)。即使各個服務器360A、360B和360C可以提供對遠程服務的訪問,例如從俄亥俄州的客戶端連接到360A可以提供更好的用戶體驗(例如,更快的上傳和下載時間)。
可以設(shè)計并使用用于識別具有到訪問客戶端的高效連接的、用于訪問在線站點或服務的目標服務器的系統(tǒng)。圖4是用于識別按照來自請求機器的往返時間(RTT)排序的目標服務器列表的示范性系統(tǒng)400的組件圖?;谟嬎銠C的處理器402被配置成處理用于系統(tǒng)的數(shù)據(jù),并且操作地與分類組件404耦合。該分類組件404被配置成使用相應的目標服務器456的地址通過往返時間(RTT)對目標服務器456的地址列表450進行分類。以此方式,例如,表示從客戶端請求返回的目標服務器的網(wǎng)際協(xié)議(IP)地址450 (例如和/或IP 地址加關(guān)聯(lián)端口、和/或IP地址加關(guān)聯(lián)協(xié)議等)的未分類列表可以被布置到IP地址的分類列表452,使得更高的分類IP地址可以表示用于客戶端請求的更高效的目標服務器。
地址本地(locality)數(shù)據(jù)庫組件406被操作地與分類組件404耦合。該地址本地數(shù)據(jù)庫組件406存儲地址(或地址范圍)和對應的RTT,其中RTT已通過客戶端與對應于地址的遠程服務器456之間的一個或多個交互妨4而針對該地址被識別(例如,其中遠程服務器先前已經(jīng)滿足了來自客戶端的請求)。例如,當客戶端與遠程服務器456交互妨4時, 遠程服務器的IP地址可以連同針對遠程服務器IP地址的RTT —起被保存在數(shù)據(jù)庫中。以此方式,例如,當分類組件404接收到未分類IP地址的列表450時,可以針對列表中的相應 IP地址檢索RTT,并且可以使用該RTT對該列表進行分類。
圖5是圖示可以實現(xiàn)本文所述的一個或多個系統(tǒng)的實例實施例的組件圖。地址采樣組件510可以根據(jù)與地址的交互554 (比如通過因特網(wǎng)556)向地址本地數(shù)據(jù)庫組件406 提供針對該地址(比如IP地址)的RTT樣本。而且,地址采樣組件510可以包括收集針對客戶端與之交互的地址的RTT的地址棧組件512。例如,當客戶端通過因特網(wǎng)556連接到遠程服務時,地址棧組件512可以識別用于該連接的RTT,或得出與該地址相關(guān)聯(lián)的地址范圍的 RTT,并且RTT可以與遠程服務的地址(或范圍)相關(guān)聯(lián)地被保存到數(shù)據(jù)庫406。
名稱解析組件514可以向分類組件404提供分別由從站點名稱解析的地址識別的目標服務器的列表。例如,當客戶端通過因特網(wǎng)556發(fā)送訪問遠程服務的請求時,名稱解析組件514可以檢索遠程服務使用的用于其目標服務器以便提供遠程服務的IP地址列表。這10些檢索的IP地址450可以被提供給分類組件404,其可以利用例如地址本地數(shù)據(jù)庫406來確定IP地址452的分類列表并且因此確定針對遠程服務的連接期望的(例如最高效的)目標服務器。
數(shù)據(jù)庫管理組件516可以維護地址本地數(shù)據(jù)庫406。維護地址本地數(shù)據(jù)庫406可以包括將地址分配給數(shù)據(jù)庫406中地址的相應范圍。例如,在維護數(shù)據(jù)庫406而不是維護針對相應IP地址的RTT的過程中,RTT可以被分配給IP地址范圍,比如以減小數(shù)據(jù)庫的大小。而且,數(shù)據(jù)庫管理組件516可以通過將特定采樣的地址分配給范圍來組織地址。然而, 數(shù)據(jù)庫管理組件516還可以僅將相應的具有對應RTT的地址分配給數(shù)據(jù)庫。而且,數(shù)據(jù)庫管理組件516可以將RTT分配給對應范圍的地址。例如,當樣本RTT從地址采樣組件510 被接收時,它們可以例如適當?shù)乇环峙涞綌?shù)據(jù)庫中的IP范圍,并且該范圍RTT可以按需要更新。
又一個實施例涉及包括被配置成實現(xiàn)本文所提出的一種或多種技術(shù)的處理器可執(zhí)行指令的計算機可讀介質(zhì)??梢酝ㄟ^這些方式設(shè)計的示范性計算機可讀介質(zhì)在圖6中被圖示,其中實現(xiàn)方式600包括計算機可讀介質(zhì)608 (例如,⑶-R、DVD-R或硬盤驅(qū)動器的母板),其上是編碼的計算機可讀數(shù)據(jù)606。該計算機可讀數(shù)據(jù)606又包括被配置成根據(jù)本文所提出的一個或多個原理操作的一組計算機指令604。在一個這樣的實施例602中,處理器可執(zhí)行指令604可以被配置成執(zhí)行一種方法,比如圖1的示范性方法100的至少一些。在另一個這樣的實施例中,處理器可執(zhí)行指令604可以被配置成實現(xiàn)一種系統(tǒng),比如圖4的示范性系統(tǒng)400的至少一些。許多這樣的被配置成根據(jù)本文所提出的技術(shù)操作的計算機可讀介質(zhì)可以由本領(lǐng)域普通技術(shù)人員設(shè)計。
盡管已經(jīng)以特定于結(jié)構(gòu)特征和/或方法動作的語言描述了主題,但是應當理解, 所附權(quán)利要求中定義的主題不必限于上述特定特征或動作。相反,上述特定特征和動作是作為實現(xiàn)權(quán)利要求的實例形式而被公開的。
如本申請所使用的術(shù)語“組件”、“模塊”、“系統(tǒng)”、“接口,,等等一般地旨在指計算機相關(guān)實體硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件。例如,組件可以是但不限于是運行在處理器上的進程、處理器、對象、可執(zhí)行應用、執(zhí)行的線程、程序和/或計算機。通過圖示,運行在控制器上的應用和該控制器二者都可以是組件。一個或多個組件可以存在于執(zhí)行的進程和/或線程內(nèi),并且組件可以位于一個計算機上和/或分布在兩個或更多計算機之間。
而且,要求保護的主題可以被實現(xiàn)為使用標準編程和/或工程技術(shù)產(chǎn)生軟件、固件、硬件或其任意組合以控制計算機實現(xiàn)所公開的主題的方法、裝置或制造品。本文所使用的術(shù)語“制造品”旨在包含可從任意計算機可讀設(shè)備、載體或介質(zhì)訪問的計算機程序。當然, 本領(lǐng)域技術(shù)人員將認識到可以對該配置進行許多修改,而不脫離要求保護的主題的范圍或精神。
圖7和隨后的討論提供了對實現(xiàn)本文所闡述的一個或多個設(shè)置的實施例的適當?shù)挠嬎悱h(huán)境的簡短、概括的描述。圖7的操作環(huán)境僅僅是適當?shù)牟僮鳝h(huán)境的一個實例并且不旨在建議關(guān)于操作環(huán)境的用途或功能的范圍的任何限制。實例計算設(shè)備包括但不限于個人計算機、服務器計算機、手持式或膝上型設(shè)備、移動設(shè)備(比如移動電話、個人數(shù)字助理 (PDA)、媒體播放器等等)、多處理器系統(tǒng)、消費型電子設(shè)備、小型計算機、大型計算機、包括上述任意系統(tǒng)或設(shè)備的分布式計算環(huán)境,等等。盡管沒有要求,但是在“計算機可讀指令”被一個或多個計算設(shè)備執(zhí)行的通用背景下描述實施例。計算機可讀指令可以經(jīng)由計算機可讀介質(zhì)來分布(下文討論)。計算機可讀指令可以實現(xiàn)為程序模塊,比如執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的功能、對象、應用編程接口(API)、數(shù)據(jù)結(jié)構(gòu)等等。典型地,該計算機可讀指令的功能可以在各種環(huán)境中隨意組合或分布。圖7圖示了包括被配置成實現(xiàn)本文所提供的一個或多個實施例的計算設(shè)備712的系統(tǒng)710的實例。在一種配置中,計算設(shè)備712包括至少一個處理單元716和存儲器718。 根據(jù)計算設(shè)備的確切配置和類型,存儲器718可以是易失性的(比如RAM)、非易失性的(比如ROM、閃存等)或二者的某種組合。該配置在圖7中由虛線714圖示。在其他實施例中設(shè)備712可以包括附加特征和/或功能。例如,設(shè)備712還可以包括附加的存儲裝置(例如可移除和/或不可移除的),其包括但不限于磁存儲裝置、光存儲裝置等等。這種附加存儲裝置在圖7中由存儲裝置720圖示。在一個實施例中,用于實現(xiàn)本文所提供的一個或多個實施例的計算機可讀指令可以在存儲裝置720中。存儲裝置720 還可以存儲用于實現(xiàn)操作系統(tǒng)、應用程序等的其他計算機可讀指令。計算機可讀指令可以載入存儲器718中由例如處理單元716執(zhí)行。本文所使用的術(shù)語“計算機可讀介質(zhì)”包括計算機存儲介質(zhì)。計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令或其他數(shù)據(jù)之類的信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移除和不可移除介質(zhì)。存儲器718和存儲裝置720是計算機存儲介質(zhì)的實例。計算機存儲介質(zhì)包括但不限于RAM、ROM、EEPR0M、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字通用盤(DVD )或其他光存儲裝置、盒式磁帶、磁帶、磁盤存儲裝置或其他磁存儲設(shè)備、或可以用于存儲期望信息并可以被設(shè)備712訪問的任何其他介質(zhì)。任意這樣的計算機存儲介質(zhì)可以是設(shè)備712的一部分。設(shè)備712還可以包括允許設(shè)備712與其他設(shè)備通信的通信連接726。通信連接726 可以包括但不限于調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡(NIC)、集成網(wǎng)絡(luò)接口、射頻發(fā)射器/接收器、紅外端口、USB連接或用于將計算設(shè)備712連接到其他計算設(shè)備的其他接口。通信連接7 可以包括有線連接或無線連接。通信連接7 可以發(fā)射和/或接收通信媒體。術(shù)語“計算機可讀介質(zhì)”可以包括通信介質(zhì)。通信介質(zhì)典型地包含計算機可讀指令或諸如載波或其他傳輸機構(gòu)之類的“已調(diào)制數(shù)據(jù)信號”中的其他數(shù)據(jù),并且包括任何信息遞送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”可以包括這樣的信號該信號特性中的一個或多個按照將信息編碼到信號中的方式來設(shè)置或改變。設(shè)備712可以包括輸入設(shè)備724,比如鍵盤、鼠標、筆、語音輸入設(shè)備、觸摸輸入設(shè)備、紅外相機、視頻輸入設(shè)備和/或任何其他輸入設(shè)備。設(shè)備712中也可以包括輸出設(shè)備 722,比如一個或多個顯示器、揚聲器、打印機和/或任意其他輸出設(shè)備。輸入設(shè)備7M和輸出設(shè)備722可以經(jīng)由有線連接、無線連接或其任意組合連接到設(shè)備712。在一個實施例中, 來自另一個計算設(shè)備的輸入設(shè)備或輸出設(shè)備可以被用作計算設(shè)備712的輸入設(shè)備7M或輸出設(shè)備722。計算設(shè)備712的組件可以通過各種互連(比如總線)連接。這樣的互連可以包括外圍組件互連(PCI)(比如快速PCI)、通用串行總線(USB)、火線(IEEE 1394)、光學總線結(jié)構(gòu)等等。在另一個實施例中,計算設(shè)備712的組件可以通過網(wǎng)絡(luò)互連。例如,存儲器718可以由位于不同物理位置中的、通過網(wǎng)絡(luò)互連的多個物理存儲器單元構(gòu)成。
本領(lǐng)域技術(shù)人員將認識到,用于存儲計算機可讀指令的存儲設(shè)備可以跨越網(wǎng)絡(luò)分布。例如,可經(jīng)由網(wǎng)絡(luò)7 訪問的計算設(shè)備730可以存儲用于實現(xiàn)本文所提供的一個或多個實施例的計算機可讀指令。計算設(shè)備712可以訪問計算設(shè)備730并且下載計算機可讀指令的一部分或所有以供執(zhí)行??商娲兀嬎阍O(shè)備712可以按需要下載多條計算機可讀指令,或者一些指令可以在計算設(shè)備712處執(zhí)行并且一些指令可以在計算設(shè)備730處執(zhí)行。
本文提供了實施例的各種操作。在一個實施例中,所述的一個或多個操作可以構(gòu)成一個或多個計算機可讀介質(zhì)上存儲的計算機可讀指令,其在被計算設(shè)備執(zhí)行時將使得計算設(shè)備執(zhí)行所述操作。描述一些或所有操作的順序不應當被解釋為暗示這些操作必需是順序相關(guān)的。本領(lǐng)域技術(shù)人員將理解具有本說明書的益處的可替代的排序。而且,應當理解, 不是所有操作必需在本文所提供的每個實施例中存在。
而且,本文所使用的詞語“示范性的”意指用作實例、示例或例證。本文描述為“示范性的”任意方面或設(shè)計不必被解釋為比其他方面或設(shè)計更有利。相反,詞語“示范性的” 的使用旨在以具體方式提出概念。如本申請中所使用的術(shù)語“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或從上下文中清楚,“X使用A或B”意指自然包括排列的任意一個。即,如果X使用A ;X使用B ;或X使用A和B 二者,則“X使用A或B”在前述任一示例中得到滿足。此外,本申請和所附權(quán)利要求中所使用的冠詞“一”一般地可以被解釋為意指“一個或多個”,除非另外指定或從上下文清楚導向單數(shù)形式。
而且,盡管已經(jīng)相對于一個或多個實現(xiàn)方式示出并描述了本公開,但是本領(lǐng)域技術(shù)人員基于對本說明書和附圖的閱讀和理解將會想到等價變型和修改。本公開包括所有這樣的修改和變型,并且僅由所附權(quán)利要求的范圍限制。特別地關(guān)于由上述組件(例如元件、 資源等)執(zhí)行的各種功能,用于描述這樣的組件的術(shù)語旨在對應于執(zhí)行所述組件的指定功能(例如其在功能上是等價的)的任意組件(除非另外指示),即使在結(jié)構(gòu)上與執(zhí)行本文所示的本公開的示范性實現(xiàn)方式中的功能的公開結(jié)構(gòu)不等同。此外,盡管本公開的特定特征已經(jīng)相對于若干實現(xiàn)方式中的僅一個被公開,但是這種特征可以與如可以對給定或特定應用而言是期望和有利的其他實現(xiàn)方式的一個或多個其他特征組合。而且,就術(shù)語“包括”、“具有”、“含有”或其變形被用在具體實施方式
或權(quán)利要求中而言,這樣的術(shù)語旨在以與術(shù)語 “包含”相似的方式包括。1權(quán)利要求
1.一種用于識別按照用于請求機器的往返時間(RTT)排序的目標服務器列表的、基于計算機的方法(100),包括使用基于計算機的處理器、根據(jù)從包括與RTT相關(guān)聯(lián)的地址的數(shù)據(jù)庫識別的RTT,對從請求返回的目標服務器列表進行分類(108),其中數(shù)據(jù)庫中的相應RTT根據(jù)與數(shù)據(jù)庫中的地址的歷史交互來收集(104)。
2.權(quán)利要求1的方法,包括利用在請求機器與地址交互時的一個或多個對應地址的 RTT以及在得出針對地址范圍的RTT時的該地址范圍的RTT來填充數(shù)據(jù)庫。
3.權(quán)利要求2的方法,包括確定在請求機器與一個或多個地址交互時的該地址的RTT 以及在請求機器與地址范圍中的地址交互時的該地址范圍中的地址的RTT。
4.權(quán)利要求1的方法,該地址包括下列之一網(wǎng)際協(xié)議(IP)地址;IP地址加端口 ;以及IP地址加協(xié)議。
5.權(quán)利要求4的方法,包括在與地址的有效會話期間使用網(wǎng)絡(luò)協(xié)議棧識別用于該地址的 RTT。
6.權(quán)利要求1的方法,包括維護與RTT相關(guān)聯(lián)的地址的數(shù)據(jù)庫,其中該數(shù)據(jù)庫包括一個或多個地址范圍,其中所述一個或多個范圍分別與RTT相關(guān)聯(lián)。
7.權(quán)利要求6的方法,維護與RTT相關(guān)聯(lián)的地址的數(shù)據(jù)庫包括維護與洲級地址分配和國家級地址分配和地區(qū)級地址分配中的一個或多個相關(guān)聯(lián)的地址范圍。
8.權(quán)利要求1的方法,包括將針對請求返回的目標服務器的地址匹配到數(shù)據(jù)庫中的一個或多個地址范圍。
9.權(quán)利要求8的方法,包括在用于針對請求返回的目標服務器的數(shù)據(jù)庫中檢索與地址范圍相關(guān)聯(lián)的RTT。
10.權(quán)利要求8的方法,所述將目標服務器的地址匹配到數(shù)據(jù)庫中的地址范圍包括將目標服務器地址匹配到地理上最接近的地址范圍。
11.權(quán)利要求8的方法,所述將目標服務器的地址匹配到數(shù)據(jù)庫中的地址范圍包括將所述地址匹配到洲級地址范圍和國家級地址分配和地區(qū)級地址分配中的一個或多個。
12.一種用于識別按照用于請求機器的往返時間(RTT)排序的目標服務器列表的系統(tǒng) (400),包括基于計算機的處理器(402),其被配置成處理用于該系統(tǒng)的數(shù)據(jù);分類組件(404),其操作地耦合到處理器并且被配置成使用相應的目標服務器的地址通過往返時間(RTT)對目標服務器列表進行分類;以及地址本地數(shù)據(jù)庫組件(406),其操作地與分類組件耦合并且被配置成存儲地址和對應的RTT,其中RTT通過與地址交互而針對該地址被識別。
13.權(quán)利要求12的系統(tǒng),包括地址采樣組件,其被配置成根據(jù)與地址的交互向地址本地數(shù)據(jù)庫組件提供針對該地址的RTT樣本。
14.權(quán)利要求13的系統(tǒng),所述地址采樣組件包括地址棧組件,其被配置成收集客戶端正與之交互的地址的RTT。
15.權(quán)利要求12的系統(tǒng),包括數(shù)據(jù)庫管理組件,其被配置成維護地址本地數(shù)據(jù)庫,其包括下列一個或多個將地址分配給數(shù)據(jù)庫中對應地址范圍;以及將RTT分配給對應地址范圍。
全文摘要
公開了一種或多種用于識別按照針對請求機器的往返時間(RTT)排序的目標服務器列表的技術(shù)和/或系統(tǒng)。當客戶端與地址(比如IP地址)交互時,當訪問遠程服務時,針對地址收集RTT,或者RTT可以針對地址范圍得出,并且被保存在數(shù)據(jù)庫中。當客戶端隨后請求訪問遠程服務時,目標服務器列表被返回、分別被對應的地址識別。通過確定與數(shù)據(jù)庫中的匹配地址或范圍相關(guān)聯(lián)的預期RTT并且按照它們相應的預期RTT來分類目標服務器,從而可以按照效率來分類目標服務器。
文檔編號H04L29/12GK102523314SQ20111042309
公開日2012年6月27日 申請日期2011年12月16日 優(yōu)先權(quán)日2010年12月16日
發(fā)明者D.G.薩勒三世 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
自治县| 共和县| 涞水县| 北安市| 赤城县| 隆化县| 离岛区| 西乌珠穆沁旗| 济南市| 石嘴山市| 平陆县| 二连浩特市| 北票市| 新沂市| 枞阳县| 阜宁县| 峨眉山市| 改则县| 大悟县| 五台县| 吉安县| 乃东县| SHOW| 黄石市| 铜川市| 疏附县| 青冈县| 闽清县| 阳原县| 山阴县| 新昌县| 安福县| 文安县| 永顺县| 敦化市| 阜新市| 隆德县| 东兴市| 浦县| 浏阳市| 通辽市|