專利名稱:分布式網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的制作方法
分布式網(wǎng)絡(luò)坐標(biāo)系統(tǒng)
背景技術(shù):
在網(wǎng)絡(luò)上用戶體驗(yàn)的質(zhì)量可能受到網(wǎng)絡(luò)上狀況的很大影響,所述狀況諸如是在用戶設(shè)備與一個或多個服務(wù)器之間的等待時間(latency)和可得到的帶寬。例如,在高度交互的客戶機(jī)-服務(wù)器應(yīng)用中,在客戶設(shè)備處的用戶可以對來自服務(wù)器的內(nèi)容作出重復(fù)的請求。即使在客戶設(shè)備與服務(wù)器之間有足夠的帶寬來允許相對快速地傳送大的文件,長的等待時間也會促成令人失望的用戶體驗(yàn),其中服務(wù)器沒有表現(xiàn)為對客戶設(shè)備進(jìn)行響應(yīng)。相反, 在牽涉到大的數(shù)據(jù)傳送但相對較少的客戶機(jī)-服務(wù)器交互的客戶機(jī)-服務(wù)器應(yīng)用中,短的等待時間并不能克服帶寬不足以提供對于數(shù)據(jù)的可接受傳送時間的缺點(diǎn)。在許多情形下,給定的在線服務(wù)可以與能夠提供在線服務(wù)給客戶設(shè)備的許多服務(wù)器相關(guān)聯(lián)。解決以上略述的所考慮問題的一種方式是把每個客戶設(shè)備指引到能夠給用戶提供高服務(wù)質(zhì)量的優(yōu)選的服務(wù)器。然而,用于將客戶設(shè)備指引到服務(wù)器的現(xiàn)有技術(shù)常常導(dǎo)致客戶設(shè)備與對于提供優(yōu)質(zhì)的用戶體驗(yàn)而言非理想的服務(wù)器通信。而且,現(xiàn)有的技術(shù)常常使得某些服務(wù)器過載,而同時讓其它服務(wù)器相對地利用不足。作為例子,客戶設(shè)備常常通過提供域名到域名服務(wù)(“DNS”)服務(wù)器而請求訪問在線服務(wù)。作為響應(yīng),DNS服務(wù)器將給客戶設(shè)備提供位置可能被設(shè)置為在地理上臨近DNS服務(wù)器的一個或多個服務(wù)器的列表。因此,DNS服務(wù)器的地理位置常常是客戶設(shè)備將使用哪個服務(wù)器來訪問web服務(wù)的決定因素。然而,客戶設(shè)備可能位于相對遠(yuǎn)離DNS服務(wù)器的位置。而且,網(wǎng)絡(luò)等待時間和帶寬不總是直接與地理臨近性相關(guān),在某些情形下,在物理距離上相對遠(yuǎn)離客戶設(shè)備的服務(wù)器可能能夠比物理上更接近于客戶設(shè)備的服務(wù)器提供更高的服務(wù)質(zhì)量。
發(fā)明內(nèi)容
本文檔涉及計算機(jī)網(wǎng)絡(luò)。一種技術(shù)存儲網(wǎng)絡(luò)中第一設(shè)備的初始網(wǎng)絡(luò)位置,該網(wǎng)絡(luò)還包括第二設(shè)備。所述技術(shù)可包括監(jiān)視與第二設(shè)備的現(xiàn)有應(yīng)用通信有關(guān)的一個或多個網(wǎng)絡(luò)性能度量(metric)。所述技術(shù)還可包括根據(jù)初始網(wǎng)絡(luò)位置和網(wǎng)絡(luò)性能度量來確定第一設(shè)備的更新的網(wǎng)絡(luò)位置。另一種實(shí)現(xiàn)被顯現(xiàn)為包括存儲設(shè)備和操縱構(gòu)件(manipulation component)的系統(tǒng)。存儲設(shè)備可被配置成存儲網(wǎng)絡(luò)中內(nèi)容服務(wù)器或客戶設(shè)備的第一網(wǎng)絡(luò)位置。操縱構(gòu)件可被配置成將客戶設(shè)備或內(nèi)容服務(wù)器的第一網(wǎng)絡(luò)位置操縱到第二網(wǎng)絡(luò)位置。另一種實(shí)現(xiàn)被顯現(xiàn)為確定對于設(shè)備的第一網(wǎng)絡(luò)坐標(biāo)的技術(shù)。第一網(wǎng)絡(luò)坐標(biāo)可以標(biāo)識網(wǎng)絡(luò)中設(shè)備的各自的第一網(wǎng)絡(luò)位置。所述技術(shù)還可以包括確定對于設(shè)備的第二網(wǎng)絡(luò)坐標(biāo)。第二網(wǎng)絡(luò)坐標(biāo)可以標(biāo)識網(wǎng)絡(luò)中設(shè)備的各自的第二網(wǎng)絡(luò)位置。所述技術(shù)還可以包括為設(shè)備計算第一網(wǎng)絡(luò)坐標(biāo)與第二網(wǎng)絡(luò)坐標(biāo)之間的差別。所述差別可以反映一個個設(shè)備在網(wǎng)絡(luò)內(nèi)的移動。所述技術(shù)還可以包括根據(jù)差別來識別所述一個個設(shè)備的子集以用于進(jìn)一步處理。以上列出的例子打算提供快速參考以便幫助讀者,以及不打算規(guī)定這里描述的構(gòu)思的范圍。
附圖舉例說明了在本文檔中傳達(dá)的創(chuàng)造性構(gòu)思的實(shí)現(xiàn)。通過參考結(jié)合附圖作出的以下說明可以更容易理解所舉例說明的實(shí)現(xiàn)。在各個附圖上同樣的參考數(shù)字在任何可行的地方被使用來指示同樣的單元。而且,每個參考數(shù)字的最左邊數(shù)字傳達(dá)了在參考數(shù)字被首次引入處的圖和相關(guān)聯(lián)的討論。圖1、5和9顯示按照本構(gòu)思的某些實(shí)現(xiàn)的網(wǎng)絡(luò)系統(tǒng)的例子。圖2A、2B和2C顯示按照本構(gòu)思的某些實(shí)現(xiàn)的、某些設(shè)備的構(gòu)件的例子。圖3A JB和7顯示按照本構(gòu)思的某些實(shí)現(xiàn)的、由某些設(shè)備存儲的數(shù)據(jù)結(jié)構(gòu)的例子。圖4、6、8和10顯示可以按照本構(gòu)思的某些實(shí)現(xiàn)來完成的示范性方法的流程圖。
具體實(shí)施例方式本文檔涉及到分布式坐標(biāo)系統(tǒng),其尤其可以在客戶機(jī)/服務(wù)器處理模型中被利用。更具體地,這里公開的實(shí)施例可以為了各種目的而有利地使用某些網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)位置。在總地相對于圖1、2A、2B、2C、3A、;3B和4所舉例說明的第一場景中,客戶設(shè)備可以確定在網(wǎng)絡(luò)系統(tǒng)中它的位置,例如網(wǎng)絡(luò)坐標(biāo)。網(wǎng)絡(luò)系統(tǒng)可包括幾個地標(biāo)(landmark)服務(wù)器,所述地標(biāo)服務(wù)器用作為“信標(biāo)”,以使得客戶設(shè)備能夠自定位,例如確定它自己的坐標(biāo)。 網(wǎng)絡(luò)系統(tǒng)還可以包括幾個內(nèi)容服務(wù)器。客戶設(shè)備可以通過網(wǎng)絡(luò)系統(tǒng)與內(nèi)容服務(wù)器通信,并根據(jù)這些通信來更新它自己的位置。在總地相對于圖5、6和7所舉例說明的第二種場景中,引入了經(jīng)由多個接口的網(wǎng)絡(luò)訪問。客戶設(shè)備可以通過使用第一(例如,有線)接口而與地標(biāo)和/或內(nèi)容服務(wù)器通信,以便確定在網(wǎng)絡(luò)系統(tǒng)上它自己的位置??蛻粼O(shè)備還可以通過使用第二(例如,無線)接口進(jìn)行通信,以便確定在網(wǎng)絡(luò)系統(tǒng)上的另一個位置。因此,客戶設(shè)備的位置可以根據(jù)哪個接口正被使用而被設(shè)置在網(wǎng)絡(luò)系統(tǒng)內(nèi)的不同坐標(biāo)處??蛻粼O(shè)備可以根據(jù)對于各個接口的它的坐標(biāo), 來為訪問特定的web服務(wù)而選擇第一或第二網(wǎng)絡(luò)接口。在總地相對于圖8所舉例說明的第三種場景中,公開了網(wǎng)絡(luò)位置的操縱。例如,月艮務(wù)器可以具有在網(wǎng)絡(luò)系統(tǒng)中的第一位置。服務(wù)器可以將該第一位置操縱到網(wǎng)絡(luò)系統(tǒng)內(nèi)的第二位置,這例如是通過響應(yīng)于帶有被操縱的第二位置的客戶請求來進(jìn)行。在某些實(shí)現(xiàn)中,月艮務(wù)器可以確定發(fā)出請求的客戶設(shè)備應(yīng)當(dāng)訪問另一個服務(wù)器。服務(wù)器可以操縱它自己的位置以便更加遠(yuǎn)離發(fā)出請求的客戶設(shè)備,這樣使得客戶將訪問另外的服務(wù)器。在總地相對于圖9和10所舉例說明的第四種場景中,公開了示范性診斷技術(shù)。例如,隨著時間的推移,某些設(shè)備可以在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)內(nèi)移動。設(shè)備的移動可被使用來識別在網(wǎng)絡(luò)上諸如擁塞的路由器那樣的特定網(wǎng)絡(luò)狀況。第一種場景
考慮圖1,圖上顯示網(wǎng)絡(luò)系統(tǒng)100的例子。網(wǎng)絡(luò)系統(tǒng)100可包括能夠通過網(wǎng)絡(luò)系統(tǒng)100 進(jìn)行通信的多個設(shè)備。例如,網(wǎng)絡(luò)系統(tǒng)100可包括地標(biāo)服務(wù)器110(1)、11(K2)、110(3)和 11(Κ4),內(nèi)容服務(wù)器120(1)、120(2)和130,客戶設(shè)備140和DNS服務(wù)器150。為了方便起見,網(wǎng)絡(luò)系統(tǒng)100的一個個構(gòu)件通過包括括號中的參考數(shù)字而被標(biāo)識,例如,地標(biāo)服務(wù)器110(1)。當(dāng)全體地引用構(gòu)件時括號中的參考數(shù)字將省略,例如,“地標(biāo)服務(wù)器110”通??梢灾傅貥?biāo)服務(wù)器110(1),(2), (3)和/或⑷中的一個或多個。當(dāng)在這里使用時,術(shù)語服務(wù)器(例如,地標(biāo)服務(wù)器或內(nèi)容服務(wù)器)、機(jī)器、計算機(jī)和設(shè)備(例如,客戶設(shè)備)可被理解為是指可以發(fā)送或接收數(shù)據(jù)的任何設(shè)備。例如,這些術(shù)語可被理解為是指以下的任一項(xiàng)物理服務(wù)器、在服務(wù)器上運(yùn)行的虛擬機(jī)(例如,使用虛擬化技術(shù))、運(yùn)行單個操作系統(tǒng)的計算設(shè)備、運(yùn)行一個以上的操作系統(tǒng)的計算設(shè)備、運(yùn)行不同的操作系統(tǒng)(例如,Microsoft Windows , Linux , FreeBSD )的計算設(shè)備、不同于服務(wù)器的計算設(shè)備(例如,膝上型計算機(jī)、可尋址的電源)、或計算設(shè)備的一部分(例如,附連到網(wǎng)絡(luò)的 (network attached)盤、附連到網(wǎng)絡(luò)的存儲器、存儲子系統(tǒng)、存儲區(qū)域網(wǎng)絡(luò)(SAN)、圖形處理單元、數(shù)值加速器(numerical accelerator)、或量子計算設(shè)備)。當(dāng)在這里使用時,術(shù)語網(wǎng)絡(luò)和網(wǎng)絡(luò)系統(tǒng)可被理解為是指使得能在實(shí)體之間進(jìn)行通信的一個或多個通信信道。例如,術(shù)語網(wǎng)絡(luò)可包括一個或多個有線或無線通信信道,其被使用來實(shí)施一個或多個局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)、互聯(lián)網(wǎng)、虛擬專用網(wǎng)(“VPN”)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、或它們的組合。示范性無線網(wǎng)可以實(shí)施3G和4G移動通信、Wi-Fi LAN和藍(lán)牙連接。示范性有線網(wǎng)尤其可包括撥號、電纜、數(shù)字用戶線(DSL)、綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)和以太網(wǎng)技術(shù)。網(wǎng)絡(luò)系統(tǒng)可包括諸如路由器、集線器和交換機(jī)以及通過網(wǎng)絡(luò)系統(tǒng)進(jìn)行通信的端點(diǎn)(例如,客戶機(jī)和服務(wù)器)那樣的設(shè)備。如圖1所示,網(wǎng)絡(luò)系統(tǒng)100可包括一個或多個地標(biāo)服務(wù)器110。圖1可以被概念化為二維網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的表示,其中每條點(diǎn)線用10個單位的坐標(biāo)空間間隔開。坐標(biāo)系統(tǒng)可包括水平取向的X軸180和垂直取向的y軸190。地標(biāo)服務(wù)器110、內(nèi)容服務(wù)器120和130、 客戶設(shè)備140和DNS服務(wù)器150在圖1上被圖示在大致它們各自的網(wǎng)絡(luò)坐標(biāo)處。例如,在 (0,0)的地標(biāo)服務(wù)器110(1)被顯示在圖1的左下角。同樣地,地標(biāo)服務(wù)器110C3)被顯示在圖1的右上角,在00,40)。正如在下面更詳細(xì)地討論的,圖1描繪了在兩個不同的坐標(biāo)處,例如,在(10,30)和00,30)處的客戶設(shè)備140,以反映客戶設(shè)備140在坐標(biāo)系統(tǒng)內(nèi)的移動。一般地說,地標(biāo)服務(wù)器110可以動作以通過網(wǎng)絡(luò)系統(tǒng)100建立網(wǎng)絡(luò)坐標(biāo)系統(tǒng)。例如,地標(biāo)服務(wù)器110可以各自具有在網(wǎng)絡(luò)系統(tǒng)100內(nèi)的對應(yīng)的全局網(wǎng)絡(luò)坐標(biāo)組。在一些實(shí)施例中,對于每個地標(biāo)服務(wù)器110,網(wǎng)絡(luò)坐標(biāo)是靜止的,且不改變。而且,為了討論起見,每個地標(biāo)服務(wù)器110的網(wǎng)絡(luò)坐標(biāo)在以下的討論中由始至終保持一致。其中對于給定地標(biāo)服務(wù)器的坐標(biāo)可以改變的示范性環(huán)境將在下面詳細(xì)說明。內(nèi)容服務(wù)器120和130以及客戶設(shè)備140可被配置成確定它們自己在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)內(nèi)相對于地標(biāo)服務(wù)器110的位置。例如,內(nèi)容服務(wù)器120和130以及客戶設(shè)備140可以測量對于與地標(biāo)服務(wù)器110中的一個或多個通信的往返行程時間(等待時間)。根據(jù)所測量的等待時間,內(nèi)容服務(wù)器120和130以及客戶設(shè)備140可以執(zhí)行計算,以確定它們各自的網(wǎng)絡(luò)坐標(biāo)。例如,所述計算可以實(shí)施一個或多個到達(dá)時間差(TDOA)或三角測量算法。一般地說,客戶設(shè)備140也可以通過網(wǎng)絡(luò)系統(tǒng)100進(jìn)行通信以訪問一個或多個web 服務(wù)。例如,內(nèi)容服務(wù)器120可以提供對第一 web服務(wù)的訪問,諸如在比如“www. 123news. com"的域名下可訪問的新聞服務(wù)。同樣地,內(nèi)容服務(wù)器130可以提供對第二 web服務(wù)的訪問,諸如在比如“www. xyzsearch. com”那樣的域名下的在線搜索引擎。
正如下面更詳細(xì)地討論的,客戶設(shè)備140例如可以初始地通過與地標(biāo)服務(wù)器110 通信而確定它的本地網(wǎng)絡(luò)坐標(biāo)??蛻粼O(shè)備140然后可以查詢內(nèi)容服務(wù)器130,以通過使用由內(nèi)容服務(wù)器130提供的搜索引擎而搜索新聞服務(wù),且從搜索引擎得到域名“www. 123news. com”作為查詢結(jié)果??蛻粼O(shè)備140可以根據(jù)從客戶設(shè)備140發(fā)送查詢給內(nèi)容服務(wù)器130時直至它接收到來自內(nèi)容服務(wù)器130的響應(yīng)的往返行程時間,而更新它的本地網(wǎng)絡(luò)坐標(biāo)。根據(jù)更新的網(wǎng)絡(luò)坐標(biāo),客戶設(shè)備140然后可以確定是訪問內(nèi)容服務(wù)器120(1)處還是120(2) 處的 “www. 123news. com”。
應(yīng)當(dāng)指出,地標(biāo)服務(wù)器110、內(nèi)容服務(wù)器120和130以及客戶設(shè)備140在這里是相對于由每個機(jī)器實(shí)施的功能性被描述的。然而,這里描述的某個功能性可以在各種機(jī)器之間被組合。例如,在一些實(shí)施例中,單個服務(wù)器可以例如通過用作為具有已知的、可能固定的坐標(biāo)的信標(biāo)和也提供對web服務(wù)的訪問而既起地標(biāo)服務(wù)器的作用又起內(nèi)容服務(wù)器的作用。同樣地,內(nèi)容服務(wù)器可以通過從另一個機(jī)器訪問web服務(wù)而用作為客戶設(shè)備。而且,這里公開的對于每個機(jī)器的各種處理可被跨多個機(jī)器地分布。例如,地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器120和130可被實(shí)施為包括幾個不同機(jī)器的服務(wù)器場地或機(jī)架,所述機(jī)器共同地操作來提供地標(biāo)服務(wù)器和/或內(nèi)容服務(wù)器功能性。
圖I還舉例說明了示范的域名服務(wù)(“DNS”)服務(wù)器150。一般地說,客戶設(shè)備140 可以通過訪問DNS服務(wù)器150而得到對于給定域名的互聯(lián)網(wǎng)協(xié)議(“IP”)地址。例如,客戶設(shè)備140可以發(fā)送域名“www. xyzsearch. com”到DNS服務(wù)器150,并作為響應(yīng),接收對于內(nèi)容服務(wù)器130的IP地址“IP1”。同樣地,客戶設(shè)備140可以發(fā)送域名“www. 123news. com” 到DNS服務(wù)器150,并且接收對于內(nèi)容服務(wù)器120(1)的IP地址“IP2”和對于內(nèi)容服務(wù)器 120(2)的 “IP3”。
正如下面更詳細(xì)地討論的,對于給定機(jī)器的網(wǎng)絡(luò)坐標(biāo)不一定必須反映地理位置。 而是,對于給定機(jī)器的網(wǎng)絡(luò)坐標(biāo)標(biāo)識在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)中該機(jī)器的位置,這是網(wǎng)絡(luò)距離的虛擬表示。正如也是在下面更詳細(xì)地討論的,網(wǎng)絡(luò)坐標(biāo)可以通過使用諸如等待時間或帶寬那樣的網(wǎng)絡(luò)性能度量而被定義。
使用等待時間作為例子,網(wǎng)絡(luò)坐標(biāo)系統(tǒng)上每個單位可以對應(yīng)于I毫秒的時間。因此,從地標(biāo)服務(wù)器110(1)發(fā)送到地標(biāo)服務(wù)器110(4)的分組在40毫秒的時間內(nèi)從(0,0) 行進(jìn)到(40,O)。而且,對于這樣的分組的往返行程時間將花費(fèi)80毫秒,來例如在X軸上行進(jìn)40個單位回到地標(biāo)服務(wù)器110(1)。然而,應(yīng)當(dāng)指出,通過使用諸如TDOA或維瓦爾第 (Vivaldi)算法那樣的某些技術(shù)得到的坐標(biāo)不一定必須在時間單位與網(wǎng)絡(luò)坐標(biāo)單位之間具有固定的映射。不過,某些描述的實(shí)現(xiàn)將使用在時間與網(wǎng)絡(luò)坐標(biāo)單位之間固定的對應(yīng)以便于討論,除非另外指出的。
而且,為了簡潔和清晰起見,網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的最初的討論將作出某些簡化的假設(shè)。 例如,用于分組從地標(biāo)服務(wù)器110(1)到地標(biāo)服務(wù)器110(4)的往返行程時間通??砂承┭舆t,用于由地標(biāo)服務(wù)器110(4)處理分組。除非另外指示,這樣的處理將被假設(shè)為瞬時的,以簡化網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的討論,但可在其它實(shí)施例中被考慮。
而且,為了清晰起見,討論將集中在二維網(wǎng)絡(luò)坐標(biāo)系統(tǒng)。然而,在一些實(shí)施例中,網(wǎng)絡(luò)坐標(biāo)系統(tǒng)可包括一維、三維、四維或更多數(shù)量的維。然而,實(shí)驗(yàn)結(jié)果間接表明在給定這樣的實(shí)現(xiàn)的相對復(fù)雜性下,為網(wǎng)絡(luò)坐標(biāo)系統(tǒng)使用多于四維可導(dǎo)致在接近真實(shí)網(wǎng)絡(luò)狀況下的收益遞減(diminishing returns)。而且,雖然為了簡單起見,所公開的實(shí)施例利用了笛卡爾平面,但實(shí)施例可以在非笛卡爾或非歐幾里德空間中被實(shí)施。例如,可以使用球、橢圓、極、 拋物線或其它坐標(biāo)系統(tǒng)。
圖2A、2B和2C—般性地分別舉例說明了地標(biāo)服務(wù)器110、內(nèi)容服務(wù)器120和130、以及客戶設(shè)備140的示范性結(jié)構(gòu)。
圖2A舉例說明了地標(biāo)服務(wù)器110的示范性結(jié)構(gòu)。地標(biāo)服務(wù)器110可包括中央處理單元(“CPU”)211,其可操作地連接到存儲器212。例如,CPU 211可以是精簡指令集計算 (RISC)或復(fù)雜指令集計算(CISC)微處理器,其經(jīng)由總線被連接到存儲器212。存儲器212 可以是諸如隨機(jī)存取存儲器(RAM)那樣的易失性存儲裝置或諸如閃速存儲器那樣的非易失性存儲器。雖然在圖2A上未示出,地標(biāo)服務(wù)器110也可以包括各種輸入/輸出設(shè)備,例如, 鍵盤、鼠標(biāo)、顯示器、打印機(jī)等等。而且,地標(biāo)服務(wù)器110可包括一個或多個非易失性存儲裝置,諸如硬盤驅(qū)動器(HDD)、光學(xué)(壓密盤/數(shù)字視頻盤)驅(qū)動器、磁帶驅(qū)動器等等。一般地說,由地標(biāo)服務(wù)器110處理的任何數(shù)據(jù)可被存儲在存儲器212中,也可以按需要被提交到非易失性存儲裝置。
地標(biāo)服務(wù)器110的存儲器212可包括實(shí)施這里描述的某種處理的各種構(gòu)件。例如, 存儲器212可包括信標(biāo)構(gòu)件213、操縱構(gòu)件214、DNS查找客戶機(jī)215、DNS更新客戶機(jī)216 和診斷構(gòu)件217。每個構(gòu)件213-217可包括被存儲在存儲器212中的指令,所述指令可以由 CPU 211讀出和執(zhí)行。而且,構(gòu)件213-217還可以被存儲在非易失性存儲裝置中,以及按需要被檢索到存儲器212中,以便實(shí)施這里描述的處理。
信標(biāo)構(gòu)件213通??梢圆僮鱽頌榭蛻粼O(shè)備140和內(nèi)容服務(wù)器120和130提供“信標(biāo)”,以便在網(wǎng)絡(luò)系統(tǒng)100上自定位。例如,信標(biāo)構(gòu)件213可以通過網(wǎng)絡(luò)系統(tǒng)100接收信標(biāo)請求,和提供信標(biāo)響應(yīng)給發(fā)出請求的機(jī)器??蛻粼O(shè)備140和內(nèi)容服務(wù)器120和130可以通過以下方式進(jìn)行自定位,即根據(jù)在發(fā)送它們的信標(biāo)請求與接收信標(biāo)響應(yīng)之間的時間差,即往返行程時間或等待時間,而執(zhí)行某些計算。
操縱構(gòu)件214通常可以操作來操縱客戶設(shè)備140和內(nèi)容服務(wù)器120和130在網(wǎng)絡(luò)系統(tǒng)100上的位置。例如,操縱構(gòu)件214可以使得客戶設(shè)備140自定位到網(wǎng)絡(luò)系統(tǒng)100內(nèi)的被操縱的位置。通過這樣做,地標(biāo)服務(wù)器110可以使得客戶設(shè)備140表現(xiàn)為更靠近或更遠(yuǎn)離特定的內(nèi)容服務(wù)器120,正如下面更詳細(xì)地討論的。
DNS查找客戶機(jī)215可以被地標(biāo)服務(wù)器110使用來為內(nèi)容服務(wù)器120和130查找 DNS條目,例如,IP地址。DNS更新客戶機(jī)216可以被地標(biāo)服務(wù)器110使用來更新用于地標(biāo)服務(wù)器110的DNS條目。診斷構(gòu)件217可以被地標(biāo)服務(wù)器110使用來診斷在網(wǎng)絡(luò)系統(tǒng)100 上的某些狀況。例如,通過使用診斷構(gòu)件217可以識別擁塞的或出故障的路由器。
圖2B舉例說明了內(nèi)容服務(wù)器120和130的示范性結(jié)構(gòu)。內(nèi)容服務(wù)器120和130通常可包括與以上相對于地標(biāo)服務(wù)器110討論的類似的硬件構(gòu)件。例如,內(nèi)容服務(wù)器120和 130可包括例如通過總線而被連接到存儲器222的CPU 221。存儲器222可包括CPU-可執(zhí)行的構(gòu)件 223、224、225、226 和 227。
Web服務(wù)構(gòu)件223可以通過網(wǎng)絡(luò)系統(tǒng)100為客戶設(shè)備140提供web服務(wù)。例如, web服務(wù)構(gòu)件223可以代表在內(nèi)容服務(wù)器120(1)和120(2)上的新聞服務(wù)“www. 123news. com”,以及可以代表在內(nèi)容服務(wù)器130上的搜索引擎“www. abcsearch. com”。
自定位構(gòu)件224可以為內(nèi)容服務(wù)器120和130執(zhí)行處理以便在網(wǎng)絡(luò)系統(tǒng)100上自定位,這例如是通過計算它們的位置坐標(biāo)而進(jìn)行的。例如,自定位構(gòu)件224可以通過網(wǎng)絡(luò)系統(tǒng)100而與在地標(biāo)服務(wù)器110的一個或多個上的信標(biāo)構(gòu)件213通信,并根據(jù)通信的往返行程等待時間而得出本地網(wǎng)絡(luò)坐標(biāo)。自定位構(gòu)件224還可以相對于其它內(nèi)容服務(wù)器來更新它的本地網(wǎng)絡(luò)坐標(biāo),例如,內(nèi)容服務(wù)器120(1)的自定位構(gòu)件224可以根據(jù)與內(nèi)容服務(wù)器 120(2)或130通信的等待時間,更新它的本地坐標(biāo)。
自定位構(gòu)件224可以把涉及自定位的數(shù)據(jù)存儲在坐標(biāo)表格225中。DNS更新客戶機(jī)226可以執(zhí)行某些操作來在DNS服務(wù)器150上填充用于內(nèi)容服務(wù)器120和130的DNS條目。例如,DNS更新客戶機(jī)226可以提供IP地址和網(wǎng)絡(luò)坐標(biāo)給DNS服務(wù)器150,然后DNS服務(wù)器150可以通過各種DNS查找客戶機(jī)存儲DNS條目來用于以后的檢索。
圖2C舉例說明了客戶設(shè)備140的示范性結(jié)構(gòu)??蛻粼O(shè)備140通??砂ㄅc以上相對于地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器120和130討論的類似的硬件構(gòu)件。例如,客戶設(shè)備 140可包括例如通過總線被連接到存儲器242的CPU 241。存儲器242可包括CPU可執(zhí)行的構(gòu)件 243、244、245 和 246。
web瀏覽器243可以經(jīng)由web服務(wù)構(gòu)件223訪問從內(nèi)容服務(wù)器120和130可得到的web服務(wù),并且把從內(nèi)容服務(wù)器得到的內(nèi)容顯示給客戶設(shè)備140的用戶。例如,web瀏覽器243可以從內(nèi)容服務(wù)器120(1)或120(2)得到新聞網(wǎng)頁,和可以從內(nèi)容服務(wù)器130得到搜索門戶頁面。
自定位構(gòu)件244可以執(zhí)行與以上相對于內(nèi)容服務(wù)器120/130的自定位構(gòu)件224所討論的類似的操作。同樣地,坐標(biāo)表格245可以存儲與以上相對于坐標(biāo)表格225所討論的類似的數(shù)據(jù)。DNS查找客戶機(jī)246可以執(zhí)行與以上相對于地標(biāo)服務(wù)器110的DNS查找客戶機(jī)215所討論的類似的操作。
圖3A和3B表示了可以由客戶設(shè)備140上的自定位構(gòu)件244維護(hù)的示范性坐標(biāo)表格245。特別地,圖3A和3B表示了在兩個不同的時間點(diǎn)處被存儲在客戶設(shè)備140上的坐標(biāo)表格245,正如下面更詳細(xì)地討論的。一般地說,圖3B表示了相對于圖3A所示的坐標(biāo)表格 245的版本的、坐標(biāo)表格245的更新的版本。
如圖3A和3B所示,坐標(biāo)表格245可包括設(shè)備列301,它標(biāo)識網(wǎng)絡(luò)系統(tǒng)100上的各種設(shè)備,例如,地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器120和130。RTT列302可以標(biāo)識從客戶設(shè)備 140觀察到的、對于與設(shè)備列301中標(biāo)識的設(shè)備進(jìn)行通信的、以毫秒計的往返行程等待時間。例如,對于客戶設(shè)備140而言,用于與地標(biāo)服務(wù)器110(2)進(jìn)行通信的往返行程時間可以是28. 28毫秒。坐標(biāo)列303可以為設(shè)備列301中的每個設(shè)備標(biāo)識網(wǎng)絡(luò)坐標(biāo)中的位置。應(yīng)當(dāng)指出,術(shù)語“本地”被使用來標(biāo)識存儲著坐標(biāo)表格245的設(shè)備。因此,由于圖3A和3B表示了在客戶設(shè)備140上的坐標(biāo)表格245,所以為了清晰起見,在設(shè)備列301中使用了術(shù)語“本地”。雖然客戶設(shè)備140通常為每個設(shè)備保留網(wǎng)絡(luò)坐標(biāo)直到它們被更新,但在RTT列302中的往返行程時間一旦被使用來計算本地坐標(biāo),就可以在存儲器中被刪除或被改寫。
圖4舉例說明了示范性方法400。正如下面討論的,方法400例如可以通過客戶設(shè)備140的自定位構(gòu)件244確定在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)上客戶設(shè)備140的本地坐標(biāo)而被實(shí)施。通過使用方法400,客戶設(shè)備140還可以訪問諸如與“www. xyzsearch. com”相關(guān)聯(lián)的在線搜索引擎和與“www. 123news. com”相關(guān)聯(lián)的新聞服務(wù)那樣的web服務(wù)。為了討論起見,圖I所示的網(wǎng)絡(luò)坐標(biāo)系統(tǒng)被假設(shè)為完全基于在各種機(jī)器之間的等待時間測量。使用諸如帶寬那樣的其它網(wǎng)絡(luò)性能度量來建立網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的實(shí)施例將在后面討論。
方法400在塊401開始,該塊牽涉到與地標(biāo)服務(wù)器通信。在本例的上下文中,客戶設(shè)備140可以與地標(biāo)服務(wù)器110中的一個或多個通信??蛻粼O(shè)備140可以通過網(wǎng)絡(luò)系統(tǒng) 100在一個或多個分組中將位置請求發(fā)送到例如地標(biāo)服務(wù)器110(2),(3)和(4)。地標(biāo)服務(wù)器110(2),(3)和⑷可以用信標(biāo)響應(yīng)來響應(yīng)位置請求。
接著,塊402牽涉到識別網(wǎng)絡(luò)性能度量。在本例的上下文中,客戶設(shè)備140可以識別與位置請求和信標(biāo)響應(yīng)相關(guān)聯(lián)的網(wǎng)絡(luò)性能度量。例如,客戶設(shè)備140可以從每個地標(biāo)服務(wù)器確定從位置請求的發(fā)送到信標(biāo)響應(yīng)的接收的往返行程時間??蛻粼O(shè)備140還可以把這些值記錄在坐標(biāo)表格245中,如圖3A所示。例如,對于地標(biāo)服務(wù)器110(2)的往返行程時間是28. 28毫秒,對于地標(biāo)服務(wù)器110(3)是63. 24毫秒,以及對于地標(biāo)服務(wù)器110 (4)是84. 84 毫秒。
接著,塊403牽涉到確定初始位置。在本例的上下文中,客戶設(shè)備140可以確定初始網(wǎng)絡(luò)位置,例如,定位在網(wǎng)絡(luò)系統(tǒng)100上的客戶設(shè)備140的網(wǎng)絡(luò)坐標(biāo)組。例如,客戶設(shè)備 140可以確定初始的一組本地坐標(biāo)(10,30),正如圖3A所示的。應(yīng)當(dāng)指出,客戶設(shè)備140不一定必須與所有的地標(biāo)服務(wù)器110通信,以標(biāo)識這個初始的本地坐標(biāo)組。
然而,在一些實(shí)施例中,客戶設(shè)備140優(yōu)選地當(dāng)定位在特定的坐標(biāo)系統(tǒng)內(nèi)時與附加的地標(biāo)服務(wù)器通信。在某種程度上,客戶設(shè)備140可以通過與附加的地標(biāo)服務(wù)器通信而減小收斂到坐標(biāo)組上的時間量。地標(biāo)服務(wù)器的最佳數(shù)目可以取決于內(nèi)容服務(wù)器的數(shù)目、坐標(biāo)維數(shù)、坐標(biāo)空間的特性和諸如往返行程時間的變化性那樣的網(wǎng)絡(luò)狀況。例如,附加的地標(biāo)服務(wù)器可能是在具有附加坐標(biāo)維數(shù)的實(shí)施例中想要的,以便給客戶設(shè)備140提供以在每個維上不同的位置處的信標(biāo)。使用附加的地標(biāo)服務(wù)器還可以減小在利用特定地標(biāo)服務(wù)器的等待時間測量中的任何不精確性的影響。最佳化技術(shù)也可以被應(yīng)用到速度收斂和減小測量誤差。
接著,塊404牽涉到與內(nèi)容服務(wù)器通信。在本例的上下文中,客戶設(shè)備140可以與內(nèi)容服務(wù)器130通信。例如,用戶可以在web瀏覽器243中輸入字符串“www. xyzsearch. com”??蛻粼O(shè)備140然后可以從DNS服務(wù)器150得到用于內(nèi)容服務(wù)器130的IP地址,例如 IPl0客戶設(shè)備140然后可以發(fā)送請求到內(nèi)容服務(wù)器130,例如,包括搜索詞“新聞”。內(nèi)容服務(wù)器130可以用諸如用于“www. 123news. com”的域名那樣的用戶數(shù)據(jù)來響應(yīng),用戶隨后可以使用該用戶數(shù)據(jù)來訪問從內(nèi)容服務(wù)器120(1)和120(2)可得到的新聞服務(wù)。
接著,塊405牽涉到監(jiān)視網(wǎng)絡(luò)性能度量。在本例的上下文中,客戶設(shè)備140可以監(jiān)視關(guān)聯(lián)于與內(nèi)容服務(wù)器130的通信的某些網(wǎng)絡(luò)性能度量。例如,客戶設(shè)備140可以確定用于與內(nèi)容服務(wù)器130進(jìn)行通信的往返行程時間(例如,等待時間)是20毫秒。如圖3B所示, 客戶設(shè)備140可以把這個值加到坐標(biāo)表格245。
接著,塊406牽涉到確定更新的位置。在本例的上下文中,客戶設(shè)備140可以根據(jù)對于與內(nèi)容服務(wù)器130進(jìn)行通信的等待時間,而更新它的位置。例如,客戶設(shè)備140可以確定根據(jù)在(30,30)處的內(nèi)容服務(wù)器130的位置和20毫秒的往返行程時間,客戶設(shè)備140 在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)中離開內(nèi)容服務(wù)器130 10個單位。而且,因?yàn)閮?nèi)容服務(wù)器130和客戶設(shè)備140在y方向上具有完全相同的坐標(biāo)(例如,30),所以客戶設(shè)備140的所有移動可以是在X方向上。因此,客戶設(shè)備140可以確定它的初始X坐標(biāo)(10)需要被更新到(20),例如, 離開內(nèi)容服務(wù)器130 10個單位。如圖3B所示,客戶設(shè)備140然后可以把它的更新的位置 (20,30)記錄在坐標(biāo)表格245。應(yīng)當(dāng)指出,圖I通過使用在位置(20,30)處劃上陰影的圖標(biāo)而舉例說明了對于客戶設(shè)備140的更新的位置。
接著,塊407牽涉到根據(jù)更新的位置選擇內(nèi)容服務(wù)器。在本例的上下文中,客戶設(shè)備140可以通過使用更新的網(wǎng)絡(luò)坐標(biāo)而選擇內(nèi)容服務(wù)器用于訪問“www. 123news. com”。例如,客戶設(shè)備140可以從DNS服務(wù)器150請求“www. 123news. com”的DNS解析。DNS服務(wù)器 150可以用分別對于內(nèi)容服務(wù)器120(1)和120(2)的IP地址和網(wǎng)絡(luò)坐標(biāo)進(jìn)行響應(yīng)。例如, DNS服務(wù)器150可以提供對于內(nèi)容服務(wù)器120(1)的IP地址IP2和網(wǎng)絡(luò)坐標(biāo)(0,30),以及對于內(nèi)容服務(wù)器120(2)的IP地址IP3和網(wǎng)絡(luò)坐標(biāo)(30,30)。
客戶設(shè)備140然后可以分別根據(jù)它的更新的位置和內(nèi)容服務(wù)器120(1)與120⑵ 的位置,選擇內(nèi)容服務(wù)器用于訪問新聞服務(wù)。例如,客戶設(shè)備140可以選擇具有最短的網(wǎng)絡(luò)距離的內(nèi)容服務(wù)器。因此,因?yàn)閮?nèi)容服務(wù)器120(2)位于離開5個單位的(25,30)處,而內(nèi)容服務(wù)器120(1)位于離開20個單位的(0,30)處,所以客戶設(shè)備140可以選擇內(nèi)容服務(wù)器 120(2)。
應(yīng)當(dāng)指出,在以上討論的例子中,客戶設(shè)備140在更新它的位置之前,根據(jù)與內(nèi)容服務(wù)器130的通信,會選擇內(nèi)容服務(wù)器120(1)。這是因?yàn)樵?10,30)處的客戶設(shè)備140的初始位置,相比于內(nèi)容服務(wù)器120(2)(例如,15個網(wǎng)絡(luò)單位),更接近于內(nèi)容服務(wù)器120(1) (例如,10個網(wǎng)絡(luò)單位)。
而且,應(yīng)當(dāng)指出,客戶設(shè)備140的更新的網(wǎng)絡(luò)位置可以反映客戶設(shè)備140的連接性的各種改變。例如,如果客戶設(shè)備140是諸如蜂窩電話、PDA、或膝上型計算機(jī)那樣的移動設(shè)備,則可以至少部分地通過把客戶設(shè)備140移到新的物理位置,而造成客戶設(shè)備140在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)內(nèi)的移動。然而,即使客戶設(shè)備140是靜止的,例如臺式計算機(jī)或服務(wù)器,客戶設(shè)備140仍舊可能在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)內(nèi)移動。這種移動可能是由在網(wǎng)絡(luò)系統(tǒng)100上可得到的連接性的改變而造成的。
作為例子,被客戶設(shè)備140使用來與位于“左面”或在負(fù)X方向上的設(shè)備通信的路由器可能出故障或變?yōu)閾砣摹_@可以造成對于客戶設(shè)備140在負(fù)X方向上的通信的增加的等待時間,甚至是在沒有客戶設(shè)備140的任何物理移動的情況下。因此,鑒于對于與內(nèi)容服務(wù)器120(1)進(jìn)行通信的增加的等待時間的可能性,對于客戶設(shè)備140而言,訪問內(nèi)容服務(wù)器120(2)處而不是內(nèi)容服務(wù)器120(1)處的“www. 123news. com”可以是有利的。
還應(yīng)當(dāng)指出,在以上的例子中,客戶設(shè)備140成功地能夠更新它的位置,而無需使用專用的探測業(yè)務(wù)量來發(fā)現(xiàn)它的更新的位置。更確切地說,網(wǎng)絡(luò)業(yè)務(wù)量被使用來從內(nèi)容服務(wù)器130得到用戶數(shù)據(jù),諸如網(wǎng)頁。涉及這個現(xiàn)有的應(yīng)用業(yè)務(wù)量的網(wǎng)絡(luò)性能度量被使用來更新對于客戶設(shè)備140的位置。這是有利的,因?yàn)閷S玫奶綔y業(yè)務(wù)量可以招致相當(dāng)大的開銷花費(fèi)。例如,專用網(wǎng)絡(luò)探測可以牽涉到在客戶設(shè)備140和內(nèi)容服務(wù)器120(1)、120⑵和 130中的一個或多個內(nèi)容服務(wù)器上的處理器和存儲器利用。而且,專用網(wǎng)絡(luò)探測將導(dǎo)致網(wǎng)絡(luò)系統(tǒng)100上專用于載送探測通信的業(yè)務(wù)量。與此相反,客戶設(shè)備140能夠利用與訪問搜索引擎“www. abcsearch. com”相關(guān)聯(lián)的處理器和存儲器利用以及網(wǎng)絡(luò)業(yè)務(wù)量來更新它的位置。
算法考慮在以上的討論中,作出某些簡化假設(shè),以便于討論某些實(shí)施例。然而,這里公開的實(shí)施例是與在分布式網(wǎng)絡(luò)坐標(biāo)系統(tǒng)中使用的各種算法兼容的,正如下面討論的。
例如,網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的單位在上面是用以毫秒計的等待時間定義的,例如,I個單位等于I毫秒的單向行程或2毫秒的往返行程時間。然而,在一些實(shí)施例中,例如通過使用 TDOA技術(shù),可以使用等待時間的相對差值,而不是絕對時間值來確定網(wǎng)絡(luò)坐標(biāo)。
作為例子,考慮設(shè)備(未示出)位于坐標(biāo)(20,20)以及與每個地標(biāo)服務(wù)器110通信以建立初始位置。這樣的設(shè)備距離每個地標(biāo)服務(wù)器是等距的,大約為網(wǎng)絡(luò)坐標(biāo)系統(tǒng)上的 28. 28單位。因此,通過使用I毫秒到I個網(wǎng)絡(luò)坐標(biāo)單位的固定的映射,設(shè)備僅僅在用于與每個地標(biāo)服務(wù)器110通信的往返行程時間大約為28. 28X2=56. 56毫秒的情況下才位于 (20,20)。
然而,方法400也可以通過使用到達(dá)時間差(TDOA)方法而被實(shí)施。通過使用這樣的方法,設(shè)備可以改而在假定設(shè)備與每個地標(biāo)服務(wù)器之間的等待時間等同的情況下位于 (20,20),而不管對于每個地標(biāo)服務(wù)器的、以秒計的實(shí)際的等待時間。因此,通過使用TDOA 方法,在用于與地標(biāo)服務(wù)器通信的等待時間之間沒有任何差別便指示了 設(shè)備是距離每個地標(biāo)服務(wù)器等距的。同樣地,諸如以上一特別地相對于步驟405和406-討論的那些的位置更新,也可以通過使用TDOA技術(shù),例如與內(nèi)容服務(wù)器130的通信而被實(shí)施。
而且,這里公開的實(shí)施例可以與諸如維瓦爾第的算法那樣的分布式坐標(biāo)算法兼容。在這樣的實(shí)施例中,客戶設(shè)備140可以不斷地調(diào)節(jié)它的本地坐標(biāo),以使得相對于到網(wǎng)絡(luò)系統(tǒng)100上其它設(shè)備的測量的往返行程時間的誤差最小化。在另外的實(shí)施例中,緯度和經(jīng)度或其它地理位置可被使用來自舉(bootstrap)對于客戶設(shè)備140的初始的網(wǎng)絡(luò)坐標(biāo)組。 在這樣的實(shí)施例中,測量的往返行程時間可被使用來改進(jìn)初始的該組坐標(biāo),正如以上討論的。替換地,初始位置可以如以上討論的那樣在方法400的塊403,即,相對于地標(biāo)服務(wù)器 110被確定。使用對于地標(biāo)服務(wù)器110的固定的或全局的坐標(biāo),可以加速這樣的算法的收斂時間。
另外,應(yīng)當(dāng)指出,分布式坐標(biāo)算法可以使用一個以上的往返行程測量來計算坐標(biāo)組。例如,方法400的塊401和404可包括分別與地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器130的多個通信。塊402和405可包括往返行程測量的統(tǒng)計處理,諸如計算在客戶設(shè)備140與地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器130之間的往返行程時間的指數(shù)移動平均。在這樣的實(shí)施例中, 可以根據(jù)平均等待時間,而不是根據(jù)單次測量,來計算坐標(biāo)。在另外的實(shí)施例中,最小的或中值的往返行程時間可以結(jié)合或替代平均時間被使用。
而且,分布式坐標(biāo)算法可以引入對于每個往返行程測量的可信度和/或誤差的概念。應(yīng)當(dāng)指出,在方法400的塊406,客戶設(shè)備140根據(jù)與具有20暈秒的往返行程時間的內(nèi)容服務(wù)器130的單次通信,在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)中移動全部的10個單位。一般地說,可能有用的是例如取決于與對于內(nèi)容服務(wù)器130的往返行程時間和/或坐標(biāo)相關(guān)聯(lián)的可信度值或分?jǐn)?shù),而使位置更新小于所述全部的10個單位。
另外,客戶設(shè)備140可以根據(jù)與地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器120/130的另外的通信,不斷更新它在網(wǎng)絡(luò)系統(tǒng)100內(nèi)的位置。例如,客戶設(shè)備140可以在接收到來自內(nèi)容服務(wù)器120(2)的新聞網(wǎng)頁之后更新它的坐標(biāo)。內(nèi)容服務(wù)器120/130還可以以與客戶設(shè)備140同樣的方式不斷更新它們的坐標(biāo)。
還應(yīng)當(dāng)指出,本發(fā)明的實(shí)施例可以無需使用地標(biāo)服務(wù)器110而被實(shí)施。許多分布式坐標(biāo)算法不需要使用具有固定位置的設(shè)備。不過,地標(biāo)服務(wù)器110可以服務(wù)于幾個有用的目的。首先,地標(biāo)服務(wù)器110可以提供一致的參考點(diǎn),這對于其它設(shè)備在網(wǎng)絡(luò)系統(tǒng)100上的自定位是有用的。而且,倘若有足夠數(shù)目的地標(biāo)服務(wù)器110是可得到的,則可以減小到坐標(biāo)組的收斂時間。
得到坐標(biāo)正如以上討論的,客戶設(shè)備140可以使用地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器130的坐標(biāo)來更新它的本地坐標(biāo)??蛻粼O(shè)備140可以通過使用如下面討論的不同的技術(shù)而得到對于地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器130的坐標(biāo)。
在一些實(shí)施例中,對于地標(biāo)服務(wù)器110的坐標(biāo)可以已知是永久的或?qū)τ谀硞€或許預(yù)定的時間段是固定的。例如,地標(biāo)服務(wù)器110的坐標(biāo)可以獨(dú)立于涉及到地標(biāo)服務(wù)器的連接性的網(wǎng)絡(luò)性能和度量的改變,而對于預(yù)定的時間段保持為恒定的值。因此,可能可行的是讓客戶設(shè)備140用對于每個地標(biāo)服務(wù)器的已知網(wǎng)絡(luò)坐標(biāo)預(yù)先配置。在其它實(shí)施例中,客戶設(shè)備140可以通過用信標(biāo)請求來請求坐標(biāo)而得到對于每個地標(biāo)服務(wù)器的坐標(biāo)。因?yàn)閷τ谀硞€時間段,坐標(biāo)可以保持為恒定,所以客戶設(shè)備140不一定必須不斷地更新對于每個地標(biāo)服務(wù)器的網(wǎng)絡(luò)坐標(biāo)。
然而,正如也討論的,可能希望周期地更新地標(biāo)服務(wù)器110的坐標(biāo)。例如,如果在網(wǎng)絡(luò)系統(tǒng)100上的連接鏈路在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的給定區(qū)域內(nèi)被去除或被限制,則可以預(yù)期 由于這種對于網(wǎng)絡(luò)系統(tǒng)100的物理改變的結(jié)果,一個或多個地標(biāo)服務(wù)器可能經(jīng)歷增加的等待時間。在這樣的環(huán)境下,可能希望給受到影響的地標(biāo)服務(wù)器賦予新的坐標(biāo),以便把它們 “移動”遠(yuǎn)離客戶設(shè)備和內(nèi)容服務(wù)器,這樣,所述客戶設(shè)備和內(nèi)容服務(wù)器將不再能夠使用被去除的連接鏈路。同樣地,如果通信鏈路被添加或它的容量被擴(kuò)展,則可能希望給受到影響的地標(biāo)服務(wù)器賦予新的坐標(biāo),以便把它們“移動”得更靠近客戶設(shè)備和內(nèi)容服務(wù)器,這樣,所述客戶設(shè)備和內(nèi)容服務(wù)器將能夠利用添加/擴(kuò)展的鏈路。在再另外的實(shí)施例中,地標(biāo)服務(wù)器110可以通過使用諸如方法400那樣的技術(shù)而周期地自定位。在這樣的實(shí)施例中,地標(biāo)服務(wù)器110可以配備有類似于自定位構(gòu)件224和244那樣的自定位構(gòu)件。
在其中地標(biāo)服務(wù)器110接收更新的坐標(biāo)的情形下,可以使用幾種方法來把坐標(biāo)提供給內(nèi)容服務(wù)器120/130和客戶設(shè)備140。例如,當(dāng)新的坐標(biāo)被賦予時,地標(biāo)服務(wù)器110可以把新的坐標(biāo)“推送”到網(wǎng)絡(luò)系統(tǒng)100上的每個設(shè)備。替換地,地標(biāo)服務(wù)器110可以等待來自網(wǎng)絡(luò)系統(tǒng)100上的設(shè)備的下一個信標(biāo)請求,并用新賦予的坐標(biāo)進(jìn)行響應(yīng)。
而且,地標(biāo)服務(wù)器110還可以與在DNS服務(wù)器150上的域名和對應(yīng)的DNS條目相關(guān)聯(lián)。例如,在地標(biāo)服務(wù)器110上的DNS更新客戶機(jī)216可以把對于地標(biāo)服務(wù)器的坐標(biāo)的拷貝保留在DNS服務(wù)器150上的文本(txt)記錄中。DNS更新客戶機(jī)216還可以按想要的那樣更新txt記錄,以便反映新賦予的坐標(biāo)。客戶設(shè)備140和內(nèi)容服務(wù)器120/130可被配置成除了地址記錄以外還請求DNS txt記錄,以便得到對于地標(biāo)服務(wù)器的坐標(biāo)。客戶設(shè)備 140可以使用DNS查找客戶機(jī)246用于這些目的。在一些實(shí)施例中,內(nèi)容服務(wù)器120/130也可以被配置以類似于DNS查找客戶機(jī)246那樣的DNS查找客戶機(jī)。
內(nèi)容服務(wù)器120/130可以使用如以上討論的類似的技術(shù)來提供它們的各自的坐標(biāo)給客戶設(shè)備140。例如,內(nèi)容服務(wù)器120/130可以通過使用類似于以上相對于方法400討論的那樣的處理,不斷地更新它們的坐標(biāo),并且保留/更新具有其當(dāng)前的坐標(biāo)的DNS txt記錄。在這樣的實(shí)施例中,客戶設(shè)備140可被配置成當(dāng)從DNS服務(wù)器150請求域名的解析時請求DNS txt記錄以及地址記錄。
在另外的實(shí)施例中,內(nèi)容服務(wù)器120/130可以把它們的坐標(biāo)直接提供到客戶設(shè)備 140。例如,客戶設(shè)備140可以得到具有用于內(nèi)容服務(wù)器120(1)的IP地址的DNS地址記錄。 在接收到來自客戶設(shè)備140的初始通信后,內(nèi)容服務(wù)器120(1)可以提供它自己的坐標(biāo),以及其它內(nèi)容服務(wù)器,諸如內(nèi)容服務(wù)器120 (2)的坐標(biāo)給客戶設(shè)備140??蛻粼O(shè)備140可以把它自己的坐標(biāo)與從內(nèi)容服務(wù)器120 (I)接收的坐標(biāo)進(jìn)行比較,以確定是從內(nèi)容服務(wù)器120 (I)還是從 120 (2)訪問 “www. 123news. com,,。
在一些實(shí)施例中,內(nèi)容服務(wù)器120和130可以在網(wǎng)頁上提供它們的坐標(biāo)給客戶設(shè)備140。例如,對于“www. 123news. com”的主頁可包括標(biāo)記語言代碼,諸如超文本標(biāo)記語言 (HTML)或擴(kuò)展標(biāo)記語言(XML)代碼。內(nèi)容服務(wù)器120(1)和120(2)可以在標(biāo)記語言代碼中包括它們的坐標(biāo)。因此,每次在客戶設(shè)備140處刷新網(wǎng)頁時,客戶設(shè)備140將得到對應(yīng)的更新的坐標(biāo)。
在另外的實(shí)施例中,網(wǎng)頁可包括腳本代碼,諸如JavaScript 或VBScript 。腳本代碼可直接包括坐標(biāo),或可以是客戶設(shè)備140可執(zhí)行的,以便從對應(yīng)的內(nèi)容服務(wù)器檢索坐標(biāo)。在再另外的實(shí)施例中,來自單個內(nèi)容服務(wù)器的標(biāo)記語言或腳本代碼可包括對于多個內(nèi)容服務(wù)器的坐標(biāo)。因此,如果客戶設(shè)備140從內(nèi)容服務(wù)器120(1)檢索網(wǎng)頁,則該網(wǎng)頁可包括對于內(nèi)容服務(wù)器120(1)和120(2)兩者的坐標(biāo)。在這樣的實(shí)施例中,內(nèi)容服務(wù)器120(1) 和120(2)可以周期地互相傳達(dá)它們更新的坐標(biāo)。
網(wǎng)絡(luò)性能度量正如以上討論的,等待時間可被用作為用于定義網(wǎng)絡(luò)坐標(biāo)系統(tǒng)上的距離的度量。對于給定設(shè)備的本地坐標(biāo)可以根據(jù)等待時間的一次或移動平均而被確定。在一些實(shí)施例中,地標(biāo)服務(wù)器110、內(nèi)容服務(wù)器120/130和客戶設(shè)備140可被配置成實(shí)施傳輸控制協(xié)議擴(kuò)展統(tǒng)計 (“TCP ESTATS”)。一般地說,TCP ESTATS可以基于逐個連接地提供擁塞、帶寬、等待時間和其它網(wǎng)絡(luò)性能度量。例如,TCP ESTATS直接指示往返行程時間,并且指示分組丟失以及為給定連接所傳送的數(shù)據(jù)量。因此,帶寬和擁塞測量可以從TCP ESTATS推定。
而且,TCP ESTATS可以在許多計算設(shè)備上被預(yù)先配置,且可以作用來在無論何時被配置以TCP ESTATS的設(shè)備從事網(wǎng)絡(luò)通信時監(jiān)視TCP業(yè)務(wù)量。因此,例如,在客戶設(shè)備140 與內(nèi)容服務(wù)器130之間的通信可以使用在網(wǎng)絡(luò)系統(tǒng)100上的TCP/IP(互聯(lián)網(wǎng)協(xié)議)連接。 對于通信的網(wǎng)絡(luò)性能度量可以反映在用于TCP/IP連接的TCP ESTATS信息中。因此,例如, 方法400的塊402和405可以通過處理分別用于與地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器130的連接的TCP ESTATS數(shù)據(jù)而被實(shí)施。
等待時間不是適用于定義網(wǎng)絡(luò)系統(tǒng)100的網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的唯一的度量。在一些實(shí)施例中,帶寬可被使用為替換的距離量度(measure)。一般地說,互相之間具有可得到的高帶寬的兩個設(shè)備,比起具有可得到的較低帶寬的兩個設(shè)備,可以在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)上定位得更靠近。然而,應(yīng)當(dāng)指出,帶寬測量通??赡軤可娴奖鹊却龝r間測量顯著更多的用于測量的網(wǎng)絡(luò)業(yè)務(wù)量。這是因?yàn)閱蝹€分組和響應(yīng)可能適用于確定在兩個設(shè)備之間的等待時間,而帶寬測量可能牽涉到顯著大于一個分組和響應(yīng)的傳送。
而且,復(fù)合的網(wǎng)絡(luò)性能度量也可以被使用來定義網(wǎng)絡(luò)坐標(biāo)系統(tǒng)。作為例子,網(wǎng)絡(luò)距離可以根據(jù)在兩個設(shè)備之間的吞吐量,或根據(jù)等待時間與帶寬的和值或乘積,而被定義。在再另外的實(shí)施例中,所述和值和/或乘積可被加權(quán),以得到想要的用戶體驗(yàn)。一般地說,帶寬和等待時間測量可以通過使用網(wǎng)絡(luò)統(tǒng)計而得到,例如通過使用TCP ESTATS得到的網(wǎng)絡(luò)統(tǒng)計。
作為例子,在其中用戶以相對較少的服務(wù)器交互而訪問大的數(shù)據(jù)文件的實(shí)施例中,帶寬可以相對較重地被加權(quán)。同樣地,在高度交互的應(yīng)用中,帶寬可以不予考慮,或相對較輕地加權(quán)。這樣的加權(quán)機(jī)制例如可以通過將加權(quán)因子乘以在任何兩個設(shè)備之間的測量的等待時間和/或帶寬而被實(shí)施。
后臺位置更新在以上的方法400的討論中,客戶設(shè)備140響應(yīng)于對于搜索新聞服務(wù)的用戶請求,訪問內(nèi)容服務(wù)器130處的搜索引擎。與請求相關(guān)聯(lián)的通信被使用來更新客戶設(shè)備140的本地坐標(biāo)。因此,在網(wǎng)絡(luò)系統(tǒng)100上請求數(shù)據(jù)的用戶的行動被利用來更新客戶設(shè)備140的位置,而不招致在網(wǎng)絡(luò)系統(tǒng)100上附加的探測業(yè)務(wù)量的代價。
然而,不是來自客戶設(shè)備140的所有通信都必然地響應(yīng)于用戶輸入。而是,在一些情形下,由web瀏覽器243進(jìn)行的后臺處理可被使用來通過網(wǎng)絡(luò)系統(tǒng)100得到用戶數(shù)據(jù)。例如,web瀏覽器243可以周期地訪問網(wǎng)絡(luò)系統(tǒng)100上的時間服務(wù)器(未示出),例如以便更新與web瀏覽器243相關(guān)聯(lián)的時鐘或系統(tǒng)時鐘。
在一些實(shí)施例中,時間服務(wù)器還可以具有它自己的網(wǎng)絡(luò)坐標(biāo)組。因此,客戶設(shè)備 140可以通過使用后臺通信來更新它的位置而實(shí)施方法400。作為另一個例子,在web瀏覽器243中用戶條目的服務(wù)器一側(cè)的自動完成也可以被使用來更新位置坐標(biāo),例如當(dāng)自動完成服務(wù)器具有相關(guān)聯(lián)的網(wǎng)絡(luò)坐標(biāo)組時。還應(yīng)當(dāng)指出,內(nèi)容服務(wù)器120和130還可以使用對于用戶數(shù)據(jù)(例如,web內(nèi)容、時間數(shù)據(jù)、自動完成數(shù)據(jù)、等等)的前臺和/或后臺請求來更新它們在坐標(biāo)系統(tǒng)內(nèi)的位置。
第二種場景在一些實(shí)施例中,客戶設(shè)備140可以具有多種訪問網(wǎng)絡(luò)系統(tǒng)100的方式。例如,客戶設(shè)備140可能能夠通過使用有線接口,例如電纜調(diào)制解調(diào)器、DSL、以太網(wǎng)等等,而連接到網(wǎng)絡(luò)系統(tǒng)100??蛻粼O(shè)備140還可能能夠通過使用諸如Wi-Fi或3G接口那樣的無線接口而連接到網(wǎng)絡(luò)系統(tǒng)100。有時,客戶設(shè)備140可以同時通過兩種接口被連接到網(wǎng)絡(luò)系統(tǒng)100。在其它時間,客戶設(shè)備140可以通過使用兩種接口中的僅僅一種接口而被連接到網(wǎng)絡(luò)系統(tǒng)100。
圖5舉例說明了如以上相對于圖I討論的網(wǎng)絡(luò)系統(tǒng)100。然而,在圖5上,客戶設(shè)備140被圖解為處在坐標(biāo)系統(tǒng)內(nèi)的幾個不同的位置。當(dāng)使用有線接口連接到網(wǎng)絡(luò)系統(tǒng)100 時,客戶設(shè)備140可以確定它自己的坐標(biāo)是(10,30)。然而,當(dāng)使用無線接口連接到網(wǎng)絡(luò)系統(tǒng)100時,客戶設(shè)備140可以初始地確定它的坐標(biāo)是(40,30),并隨后更新對于無線接口的坐標(biāo)為(35,30)。然而,應(yīng)當(dāng)指出,圖I的前面的討論不限于有線或無線接口,以及相對于圖 I討論的實(shí)施例可以用有線或無線接口被實(shí)施。
對于上下文,考慮諸如客戶設(shè)備140那樣的單個設(shè)備為什么可能對于不同接口具有不同的網(wǎng)絡(luò)坐標(biāo)可以是有用的。雖然客戶設(shè)備140在一個時間僅僅可以處在一個地理位14置,但到網(wǎng)絡(luò)系統(tǒng)100上各種設(shè)備的等待時間對于不同的網(wǎng)絡(luò)接口可以是非常不同的。例如,客戶設(shè)備140可以使用到由電纜ISP操作的服務(wù)器的有線接口,例如,電纜調(diào)制解調(diào)器。 同時,客戶設(shè)備140可以使用無線接口,例如3G,來連接到由它們的蜂窩服務(wù)提供者操作的服務(wù)器。雖然客戶設(shè)備140對于兩個接口是在同一個物理位置,但與網(wǎng)絡(luò)系統(tǒng)100的通信在使用有線接口時被通過電纜ISP服務(wù)器來路由,而在使用無線接口時被通過蜂窩提供者服務(wù)器路由。通過這兩個服務(wù)器到網(wǎng)絡(luò)系統(tǒng)100上的各種設(shè)備的等待時間可以是非常不同的,因?yàn)閮蓚€服務(wù)器可以是處在不同的物理位置。因此,有可能客戶設(shè)備140同時具有對于每個接口的兩個不同的網(wǎng)絡(luò)坐標(biāo)組。為了得到對于各個接口的網(wǎng)絡(luò)坐標(biāo),客戶設(shè)備140可以實(shí)施諸如以上相對于方法400討論的那些的技術(shù)來識別對于每個接口的它的本地坐標(biāo)。
在某些情形下,對于客戶設(shè)備140,可能希望通過使用一個接口而不是另一個接口來訪問特定的web服務(wù)。取決于對于每個接口的各自的網(wǎng)絡(luò)坐標(biāo),客戶設(shè)備140當(dāng)使用特定的接口時可以更接近于特定的web瀏覽器。作為例子,客戶設(shè)備140可能希望在網(wǎng)絡(luò)系統(tǒng)100上從內(nèi)容服務(wù)器130訪問搜索引擎“www. abcsearch. com”。如果客戶設(shè)備140具有對于有線接口的網(wǎng)絡(luò)坐標(biāo),這些網(wǎng)絡(luò)坐標(biāo)比對于無線接口的坐標(biāo)更接近于內(nèi)容服務(wù)器130, 則客戶設(shè)備140可以使用有線接口,而不是無線接口,來與內(nèi)容服務(wù)器130通信。一般地, 客戶設(shè)備140可以從幾個網(wǎng)絡(luò)接口中選擇使用具有較低的等待時間的接口,以便提供更好的用戶體驗(yàn)。
圖6舉例說明了適用于例如由客戶設(shè)備140上的自定位構(gòu)件244實(shí)施的示范性方法 600。
塊601牽涉到識別對于第一網(wǎng)絡(luò)接口和第二網(wǎng)絡(luò)接口的、在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)中的位置。在本例的上下文中,客戶設(shè)備140可以通過使用以上相對于方法400討論的那些的技術(shù),而識別對于第一有線接口的、在網(wǎng)絡(luò)系統(tǒng)100內(nèi)的它的本地坐標(biāo)。同樣地,客戶設(shè)備140 也可以識別對于第二無線接口的、在網(wǎng)絡(luò)系統(tǒng)100內(nèi)的它的本地坐標(biāo)。如圖7所示,客戶設(shè)備140可對于每個接口在坐標(biāo)表格245中包括分開的RTT測量和本地坐標(biāo)。例如,圖7舉例說明了客戶設(shè)備140確定對于有線接口的它的本地坐標(biāo)是(10,30),以及對于無線接口是(40,30)。
應(yīng)當(dāng)指出,客戶設(shè)備140當(dāng)確定它的本地坐標(biāo)時不一定必須在兩個接口上與同一組設(shè)備通信。例如,客戶設(shè)備140可以與地標(biāo)服務(wù)器110(2),(3)和⑷通信,以得到對于有線接口的它的本地坐標(biāo),并且改而與地標(biāo)服務(wù)器110(1),(3)和(4)通信以得到對于無線接口的它的本地坐標(biāo)。同樣地,客戶設(shè)備140可以通過使用每個網(wǎng)絡(luò)接口與不同的設(shè)備通信而更新坐標(biāo)。
接著,塊602牽涉到接收對于訪問服務(wù)的請求。在本例的上下文中,客戶設(shè)備140 的用戶可以在web瀏覽器243中輸入請求以訪問諸如web服務(wù)“www. abcsearch. com”那樣的網(wǎng)絡(luò)服務(wù)。這時,客戶設(shè)備140可以接著識別與“www. abcsearch. com”相關(guān)聯(lián)的一個或多個IP地址,這例如是通過從DNS服務(wù)器150得到它們來進(jìn)行的。例如,客戶設(shè)備140可以得到對于內(nèi)容服務(wù)器130的IP地址和網(wǎng)絡(luò)坐標(biāo),例如,IPl和(30,30)。
接著,塊603牽涉到從第一和第二網(wǎng)絡(luò)接口進(jìn)行選擇。在本例的上下文中,客戶設(shè)備140可以根據(jù)對于各個網(wǎng)絡(luò)接口的網(wǎng)絡(luò)坐標(biāo),從有線網(wǎng)絡(luò)接口或無線網(wǎng)絡(luò)接口進(jìn)行選擇,以便訪問“WWW. abcsearch. com”。例如,客戶設(shè)備140可以選擇具有離內(nèi)容服務(wù)器130的最接近網(wǎng)絡(luò)坐標(biāo)的接口。應(yīng)當(dāng)指出,當(dāng)使用無線接口時,客戶設(shè)備140是處在(40,30), 即,沿正X方向離開(30,30)處的內(nèi)容服務(wù)器130 10個單位。然而,當(dāng)使用有線接口時,客戶設(shè)備140是處在(10,30),它是沿負(fù)X方向離開(30,30)處的內(nèi)容服務(wù)器130 20個單位。 因此,客戶設(shè)備140可以選擇無線接口用于訪問“www. abcsearch. com”,因?yàn)闊o線接口有離對應(yīng)內(nèi)容服務(wù)器130的較小網(wǎng)絡(luò)距離。
接著,塊604牽涉到存儲對于所選擇的網(wǎng)絡(luò)的更新的坐標(biāo)。在本例的上下文中,客戶設(shè)備140例如根據(jù)與內(nèi)容服務(wù)器130的通信,可以更新對于無線接口的它的本地坐標(biāo)。例如,如果在內(nèi)容服務(wù)器130與客戶設(shè)備140之間存在低的等待時間條件,則客戶設(shè)備140可以更新它的位置,以移動得更靠近內(nèi)容服務(wù)器130,例如,大約為(35,30),正如圖5上褪色的圖標(biāo)顯示的。應(yīng)當(dāng)指出,在一些情形下,客戶設(shè)備140可以確定使用無線接口比起使用有線接口,它的更新的坐標(biāo)把客戶設(shè)備140定位為更加遠(yuǎn)離內(nèi)容服務(wù)器130。在這樣的情形下,客戶設(shè)備140可以開始使用有線接口訪問“www. abcsearch. com”。
接著,塊605可以牽涉到在將來的某個時間重新啟動設(shè)備。在本例的上下文中,客戶設(shè)備140可以重新啟動。為了本例的目的,重新啟動可包括進(jìn)入休眠模式、電源完全關(guān)斷、或僅僅斷開與一個或這兩個網(wǎng)絡(luò)接口的連接。客戶設(shè)備140還可以將對于每個接口的它的當(dāng)前的網(wǎng)絡(luò)坐標(biāo)記入日志(log),供將來參考。
接著,塊606牽涉到使用更新的坐標(biāo)作為初始值。在本例的上下文中,客戶設(shè)備 140可以使用對于每個網(wǎng)絡(luò)接口的最近更新的坐標(biāo)作為用于更新它的位置的初始值,例如使用方法400的一個或多個步驟。作為例子,客戶設(shè)備140可以重新連接到無線接口,并使用(35,30)的更新的坐標(biāo)作為對于無線接口的它的初始坐標(biāo)。在這樣的實(shí)施例中,客戶設(shè)備140可能不需要執(zhí)行方法400的塊401-403,即,通過與地標(biāo)服務(wù)器110通信而確定它的初始位置。替代地,客戶設(shè)備140可以通過使用記入日志的坐標(biāo),立即開始在網(wǎng)絡(luò)系統(tǒng)100 上與內(nèi)容服務(wù)器120/130通信。
正如以上相對于圖I討論的,網(wǎng)絡(luò)坐標(biāo)可以在設(shè)備特定的基礎(chǔ)上,例如,對于網(wǎng)絡(luò)系統(tǒng)100中的每個設(shè)備而被計算。另外,正如相對于圖5討論的,在單個設(shè)備可以對于不同的網(wǎng)絡(luò)接口具有不同坐標(biāo)的場合下,改進(jìn)是可能的。在再另外的改進(jìn)中,每個網(wǎng)絡(luò)接口可以具有一個以上的相關(guān)聯(lián)網(wǎng)絡(luò)坐標(biāo)組,正如下面更詳細(xì)地討論的。
一般地說,客戶設(shè)備140的每個網(wǎng)絡(luò)接口可以通過接入網(wǎng)絡(luò)在網(wǎng)絡(luò)系統(tǒng)100上通信,所述接入網(wǎng)絡(luò)連接客戶設(shè)備140到互聯(lián)網(wǎng)服務(wù)提供者。在以上討論的例子中,客戶設(shè)備 140可以將第一接入網(wǎng)絡(luò)用于有線連接以連接到電纜ISP,而將第二接入網(wǎng)絡(luò)用于到它們的蜂窩服務(wù)提供者的無線3G連接。然而,在一些情形下,客戶設(shè)備140可以使用同一個接口連接到多個接入網(wǎng)絡(luò)。
例如,考慮在家中的用戶,他連接到無線路由器,以訪問它們的電纜互聯(lián)網(wǎng)服務(wù)。 用戶在它們的電纜互聯(lián)網(wǎng)服務(wù)方面可能有某些困難,并可能決定使用替換的無線連接,諸如 3G 便攜式連接或 WiMax (Worldwide Interoperability for Microwave Access (全球微波接入互操作性))連接。因此,用戶從用于它們的電纜ISP的接入網(wǎng)絡(luò)切換到用于替換的無線連接的不同的接入網(wǎng)絡(luò),而同時繼續(xù)使用無線接口。
在這樣的實(shí)施例中,客戶設(shè)備140可以在接入網(wǎng)絡(luò)的基礎(chǔ)上計算和更新網(wǎng)絡(luò)坐標(biāo),例如,對于用戶的電纜ISP的第一坐標(biāo)組和對于3G或WiMax連接的第二坐標(biāo)組。客戶設(shè)備140可以將對于每個相應(yīng)的接入網(wǎng)絡(luò)的坐標(biāo)記入日志,供以后使用。因此,如果用戶從 3G或WiMax連接切換回它們自己的無線路由器和ISP,則客戶設(shè)備140可以使用以前記入日志的、用于它們自己的ISP的坐標(biāo)作為初始坐標(biāo)。與通過同地標(biāo)服務(wù)器110通信而重新初始化坐標(biāo)相比,這可以加速對于坐標(biāo)的收斂時間。
以上公開的技術(shù)當(dāng)用戶在地理位置之間移動時也可以是有用的。當(dāng)用戶到達(dá)新的目的地,例如咖啡店時,用戶可以訪問由咖啡店提供的Wi-Fi互聯(lián)網(wǎng)服務(wù)??Х鹊昕梢允褂门c用戶的家庭ISP不同的接入網(wǎng)絡(luò)。因此,用戶第一次連接到咖啡店Wi-Fi服務(wù)時,客戶設(shè)備140可以全部地實(shí)施方法400,例如確定初始坐標(biāo)組,然后當(dāng)用戶瀏覽到各個不同的網(wǎng)址時,迭代地更新坐標(biāo)。客戶設(shè)備140也可以將對于咖啡店Wi-Fi網(wǎng)絡(luò)的坐標(biāo)記入日志。在以后訪問咖啡店時,客戶設(shè)備140可以訪問對于咖啡店的最近的記入日志的坐標(biāo)組,并使用這些作為初始坐標(biāo)來用于訪問。
第三種場景在某些情形下,可能希望操縱客戶設(shè)備140和/或內(nèi)容服務(wù)器120/130的網(wǎng)絡(luò)坐標(biāo), 以得到某些結(jié)果。特別地,給定設(shè)備的網(wǎng)絡(luò)坐標(biāo)可被基于網(wǎng)絡(luò)性能而操縱成使得設(shè)備表現(xiàn)為處在不同于“實(shí)際”位置的、網(wǎng)絡(luò)系統(tǒng)100上的位置。作為例子,內(nèi)容服務(wù)器120(2)可被配置成使得它自己表現(xiàn)為處在與通常通過等待時間的實(shí)際測量而得到的位置不同的位置。 這樣的處理可被實(shí)施,以便使得客戶設(shè)備140 (和在網(wǎng)絡(luò)系統(tǒng)100上的其它客戶設(shè)備)訪問在不同的內(nèi)容服務(wù)器處,例如在內(nèi)容服務(wù)器120(1)處的web服務(wù)。因此,通過操縱它自己的位置,內(nèi)容服務(wù)器120(2)可以故意重定向客戶設(shè)備140到內(nèi)容服務(wù)器120(1),雖然內(nèi)容服務(wù)器120(2)實(shí)際上是在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)中最接近的內(nèi)容服務(wù)器。這個方法例如對于為了負(fù)荷平衡的目的而減小內(nèi)容服務(wù)器120(2)上的處理負(fù)荷,使內(nèi)容服務(wù)器120(2)停止使用 (decommission),或是在不同的(或許更新的或最佳化的)內(nèi)容從內(nèi)容服務(wù)器120 (I)而不是內(nèi)容服務(wù)器120(2)可得到的場合下,可以是有用的。
在內(nèi)容服務(wù)器120 (2)上的操縱構(gòu)件227可以實(shí)施某種處理來達(dá)到內(nèi)容服務(wù)器 120(2)的坐標(biāo)操縱。圖8舉例說明了適用于實(shí)施這樣的技術(shù)的示范性方法800。下面的討論是參照如圖I所示的各種設(shè)備的位置進(jìn)行的。
塊801牽涉到接收來自客戶的請求。在本例的上下文中,內(nèi)容服務(wù)器120(2)可以接收對于“WWW. 123news. com”的請求。例如,所述請求可以由客戶設(shè)備140發(fā)送,例如作為對網(wǎng)頁的HTTP請求。
接著,塊802牽涉到確定在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)內(nèi)的移動。在本例的上下文中,內(nèi)容服務(wù)器120(2)可以確定內(nèi)容服務(wù)器120 (2)遠(yuǎn)離客戶設(shè)備140的移動。例如,內(nèi)容服務(wù)器120 (2) 可能打算通過操縱在網(wǎng)絡(luò)系統(tǒng)100上它自己的位置以表現(xiàn)為更加遠(yuǎn)離客戶設(shè)備140,而使它自己慢慢地“停止使用”。一般地說,內(nèi)容服務(wù)器120(2)可以通過在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)內(nèi)的任何維度中移動它自己而做到這一點(diǎn)。這可以具有減小內(nèi)容服務(wù)器120(2)上的工作負(fù)荷,直至最終沒有另外的請求被內(nèi)容服務(wù)器120(2)接收到的效果。在這一點(diǎn),可以使內(nèi)容服務(wù)器 120(2)變?yōu)橥耆仉x線,而不用中斷“www. 123news. com”的可用性。
對于本二維例子來說,內(nèi)容服務(wù)器120(2)將更改它的位置的X分量,正如下面討論的。在三維或更多維坐標(biāo)系統(tǒng)的情形下,也可以有高度或z分量。在一些實(shí)施例中,在網(wǎng)絡(luò)系統(tǒng)100上設(shè)備的缺省高度或z分量可以是O。因此,內(nèi)容服務(wù)器120(2)可以僅僅增加它的高度分量的絕對值,以使它自己移動遠(yuǎn)離網(wǎng)絡(luò)系統(tǒng)100上的各種設(shè)備。甚至在網(wǎng)絡(luò)系統(tǒng)100上的實(shí)際等待時間條件通常不會導(dǎo)致內(nèi)容服務(wù)器120(2)具有增加的高度分量的場合下也可以是這種情形。
接著,塊803牽涉到確定操縱數(shù)據(jù)。在本例的上下文中,內(nèi)容服務(wù)器120⑵可以確定操縱數(shù)據(jù),例如,被操縱的坐標(biāo),其反映從(25,30)到(40,30)的移動。例如,被操縱的坐標(biāo)可被包括在DNS txt記錄。替換地,被操縱的坐標(biāo)可被包括在用于與“www. 123news. com” 相關(guān)聯(lián)的網(wǎng)頁的修改的標(biāo)記語言或腳本代碼中。正如討論的,在一些實(shí)施例中,腳本代碼并不直接包括坐標(biāo),而是可由客戶設(shè)備140執(zhí)行來檢索坐標(biāo)。在這樣的實(shí)施例中,操縱數(shù)據(jù)可以是由內(nèi)容服務(wù)器120(2)本地存儲的更新的坐標(biāo)的拷貝,用于當(dāng)腳本代碼被客戶設(shè)備140 執(zhí)行時的以后的檢索。
接著,塊804牽涉到操縱位置。在本例的上下文中,內(nèi)容服務(wù)器120(2)可以把操縱數(shù)據(jù),例如,操縱的坐標(biāo),提供到遠(yuǎn)程設(shè)備,諸如客戶設(shè)備140。內(nèi)容服務(wù)器120(2)可以直接或間接地這樣做。在其中坐標(biāo)被包括在標(biāo)記語言或腳本代碼的實(shí)施例中,內(nèi)容服務(wù)器 120(2)可以把坐標(biāo)連同對于“www. 123news. com”的網(wǎng)頁一起發(fā)送到客戶設(shè)備140。在其中坐標(biāo)通過客戶機(jī)執(zhí)行的腳本代碼而被檢索的實(shí)施例中,內(nèi)容服務(wù)器120(2)可以在與網(wǎng)頁分開的通信中提供坐標(biāo)。在其中坐標(biāo)經(jīng)由DNS txt記錄被分發(fā)的實(shí)施例中,內(nèi)容服務(wù)器 120(2)可以通過把具有被操縱的坐標(biāo)的DNS txt記錄上載到DNS服務(wù)器150而間接地提供它的坐標(biāo)到客戶設(shè)備140。
在一些實(shí)施例中,慢慢地移動內(nèi)容服務(wù)器120(2)遠(yuǎn)離客戶設(shè)備140是有用的。在這樣的實(shí)施例中,內(nèi)容服務(wù)器120(2)可以迭代地實(shí)施方法800的一個或多個塊。例如,內(nèi)容服務(wù)器120(2)可以每天操縱它的位置I個單位,慢慢地移動遠(yuǎn)離一個或多個客戶設(shè)備。 在幾天或幾星期的時間段后,這可以導(dǎo)致穩(wěn)定地減小對于內(nèi)容服務(wù)器120(2)的工作負(fù)荷, 因?yàn)檩^少的客戶設(shè)備將選擇內(nèi)容服務(wù)器120(2)來訪問“www. 123news. com”。最終,內(nèi)容服務(wù)器120(2)可被移動得足夠遠(yuǎn),這樣,網(wǎng)絡(luò)系統(tǒng)100上的每個客戶設(shè)備比起120(2)更接近于另一個內(nèi)容服務(wù)器,因此內(nèi)容服務(wù)器120(2)將被完全地停止使用。
操縱客戶機(jī)坐標(biāo)在某些情形下,可能希望操縱客戶設(shè)備140的位置,代替或附加于操縱內(nèi)容服務(wù)器的位置。例如,地標(biāo)服務(wù)器110可以使用操縱構(gòu)件214來指引客戶設(shè)備140遠(yuǎn)離內(nèi)容服務(wù)器 120(2)和/或趨向內(nèi)容服務(wù)器120 (I)。在這樣的實(shí)施例中,地標(biāo)服務(wù)器110以幾種不同的方式操縱客戶設(shè)備140的坐標(biāo),正如下面討論的。
地標(biāo)服務(wù)器110操縱客戶設(shè)備140的位置的一個方法是故意延遲信標(biāo)響應(yīng)。例如, 應(yīng)當(dāng)指出,如果地標(biāo)服務(wù)器110(3)和⑷在方法400的塊401延遲它們的對客戶設(shè)備140 的響應(yīng),則這將具有使客戶設(shè)備140沿負(fù)X方向移動的效果。為了做到這一點(diǎn),地標(biāo)服務(wù)器 110(3)和(4)可以計算足以將客戶設(shè)備140移動到被操縱的位置的附加等待時間段。在這樣的實(shí)施例中,附加等待時間段可以是在方法800的塊803確定的操縱數(shù)據(jù)。應(yīng)當(dāng)指出,客戶設(shè)備140不一定必須知道它的位置正在被地標(biāo)服務(wù)器110操縱。
然而,因?yàn)樵诮邮招艠?biāo)響應(yīng)中的延遲,故意地引入等待時間可能具有減慢對于客戶設(shè)備140的收斂時間的后果。在另外的實(shí)施例中,地標(biāo)服務(wù)器110可被配置成在信標(biāo)響應(yīng)中提供值,客戶設(shè)備140可以使用這些值來確定它的位置,正如在下面更詳細(xì)地討論的。這樣的實(shí)現(xiàn)可以允許地標(biāo)服務(wù)器110立即對信標(biāo)請求進(jìn)行響應(yīng),而同時仍舊操縱客戶設(shè)備 140的位置。
例如,地標(biāo)服務(wù)器110可以在它們的信標(biāo)響應(yīng)中包括可由客戶設(shè)備140施加的某些縮放因子。例如,地標(biāo)服務(wù)器110(3)和110(4)可以在信標(biāo)響應(yīng)中包括值“2”,指示客戶設(shè)備140可以把信標(biāo)響應(yīng)的測量的等待時間乘以因數(shù)2。地標(biāo)服務(wù)器110(1)和110(2)可以同樣地在信標(biāo)響應(yīng)中提供值“1”,指示客戶設(shè)備140可以使用實(shí)際的等待時間值(例如乘以I)來計算它的位置。在這種情形下,縮放因子會用作為在方法800的塊803中所確定的操縱數(shù)據(jù)。這樣地使用縮放因子,地標(biāo)服務(wù)器110便可以對信標(biāo)請求立即響應(yīng),而同時仍舊移動客戶設(shè)備140趨向內(nèi)容服務(wù)器120(1)和遠(yuǎn)離內(nèi)容服務(wù)器120(2)。
在其它實(shí)施例中,地標(biāo)服務(wù)器110可以直接在信標(biāo)響應(yīng)中提供等待時間(和/或帶寬)值。作為例子,地標(biāo)服務(wù)器110可包括數(shù)值,指示客戶設(shè)備可以使用該數(shù)值,例如,以毫秒計的等待時間測量,作為要代替實(shí)際測量的等待時間來使用的操縱數(shù)據(jù)。因此,地標(biāo)服務(wù)器110(3)和110 (4)可以在它們的信標(biāo)響應(yīng)中發(fā)送相對較大的等待時間值,以及地標(biāo)服務(wù)器(I)和(2)可以使用相對較小的值。這樣的實(shí)現(xiàn)也可以具有沿想要的方向移動客戶設(shè)備 140的效果。應(yīng)當(dāng)指出,在其中帶寬被操縱的實(shí)施例中,較小的帶寬值將具有移動客戶設(shè)備 140遠(yuǎn)離特定的地標(biāo)服務(wù)器的效果。當(dāng)操縱實(shí)際測量的等待時間和/或帶寬時,被發(fā)送到客戶設(shè)備140的等待時間和/或帶寬值可以如以上討論的那樣被縮放。
在再另外的實(shí)施例中,地標(biāo)服務(wù)器110可以改而直接地操縱客戶設(shè)備140的坐標(biāo)。 作為例子,在信標(biāo)響應(yīng)中,地標(biāo)服務(wù)器110可以包括用于客戶設(shè)備140的坐標(biāo)組以用作為它的本地坐標(biāo)。在一些情形下,信標(biāo)響應(yīng)可包括重寫(override)標(biāo)志,指示客戶設(shè)備140應(yīng)當(dāng)重寫它自己的等待時間測量,并使用被包括在信標(biāo)響應(yīng)中的坐標(biāo)。坐標(biāo)和重寫標(biāo)志可被包括在各種類型的通信中,包括作為標(biāo)記語言或腳本代碼。
在再另外的實(shí)施例中,內(nèi)容服務(wù)器120(2)可以執(zhí)行類似于以上相對于地標(biāo)服務(wù)器110討論的那樣的處理,以操縱用于客戶設(shè)備140的坐標(biāo)。例如,內(nèi)容服務(wù)器120(2)可以故意地延遲響應(yīng)客戶設(shè)備140,以使得客戶設(shè)備140將更新它的位置來移動遠(yuǎn)離內(nèi)容服務(wù)器120(2)。替換地,內(nèi)容服務(wù)器120(2)可以把前述的等待時間縮放因子或操縱的坐標(biāo)發(fā)送到客戶設(shè)備140。
在再另外的實(shí)施例中,內(nèi)容服務(wù)器120(1)可以例如通過代表內(nèi)容服務(wù)器120(2) 提供等待時間因子或操縱的坐標(biāo),而操縱用于內(nèi)容服務(wù)器120(2)的坐標(biāo)。一般地說,因?yàn)榭蛻粼O(shè)備140可以使用與內(nèi)容服務(wù)器120/130的通信來確定它自己的坐標(biāo),所以以上相對于地標(biāo)服務(wù)器110描述的技術(shù)也可以應(yīng)用于與內(nèi)容服務(wù)器120/130進(jìn)行的通信。
而且,地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器120/130不需要直接提供操縱數(shù)據(jù)到客戶設(shè)備140。而是,地標(biāo)服務(wù)器110例如可以提供操縱數(shù)據(jù)到內(nèi)容服務(wù)器120/130,這樣使得內(nèi)容服務(wù)器120/130把它們自己的坐標(biāo)、等待時間值等等報告給客戶設(shè)備140,以便實(shí)施想要的操縱。同樣地,地標(biāo)服務(wù)器110和內(nèi)容服務(wù)器120/130可以用操縱數(shù)據(jù)來填充DNS服務(wù)器150上的一個或多個txt記錄。在這樣的實(shí)施例中,當(dāng)用DNS服務(wù)器150解析域名時,客戶設(shè)備140可以得到操縱數(shù)據(jù)。
正如以上討論的,操縱網(wǎng)絡(luò)系統(tǒng)100內(nèi)的設(shè)備的位置對于使一個或多個服務(wù)器停止使用可能是有用的,或者在減小服務(wù)器上的處理或網(wǎng)絡(luò)負(fù)荷可能有用的其它時間可能是有用的。而且,通過使用與以上討論的類似的技術(shù),可以達(dá)到負(fù)荷平衡。例如,地標(biāo)服務(wù)器和/或內(nèi)容服務(wù)器120/130可被配置成操縱網(wǎng)絡(luò)坐標(biāo),以使得經(jīng)歷較低負(fù)荷的內(nèi)容服務(wù)器被移動趨向具有高度密集的客戶設(shè)備的位置,以及經(jīng)歷較高負(fù)荷的內(nèi)容服務(wù)器被移動遠(yuǎn)離這些區(qū)域。替換地,客戶設(shè)備可被移動趨向具有相對較低負(fù)荷的服務(wù)器,和/或遠(yuǎn)離具有相對較高負(fù)荷的服務(wù)器。
客戶和/或內(nèi)容服務(wù)器坐標(biāo)的操縱并不限于使服務(wù)器停止使用或負(fù)荷平衡的目的。例如,可以在其中對于重定向客戶機(jī)到不同的內(nèi)容服務(wù)器是有用的各種其它環(huán)境下操縱坐標(biāo)。例如,一個內(nèi)容服務(wù)器120(1)可包括“www. 123news. com”網(wǎng)址的特定版本,例如 Adobe Flash 版本,而內(nèi)容服務(wù)器120 (2)可包括網(wǎng)址的標(biāo)準(zhǔn)HTML版本。在這樣的情形下, 可能希望把使能Adobe Flash 的客戶設(shè)備重定向到內(nèi)容服務(wù)器120 (I),而把未使能的客戶設(shè)備重定向到內(nèi)容服務(wù)器120(2)。
作為另一個例子,內(nèi)容服務(wù)器120(1)可以具有以特定的格式可得到的數(shù)據(jù),諸如以Microsoft Access 格式可得到的數(shù)據(jù)庫。內(nèi)容服務(wù)器120 (2)可以具有以不同格式的類似的或完全相同的數(shù)據(jù)庫,諸如以MySQL。在這樣的情形下,可能希望把具有Microsoft Access 能力的客戶機(jī)重定向到內(nèi)容服務(wù)器120 (I),而把具有MySQL能力的客戶機(jī)重定向到內(nèi)容服務(wù)器120(2)。
第四種場景以上描述的技術(shù)對于把客戶設(shè)備140指引到適當(dāng)?shù)膬?nèi)容服務(wù)器以用于得到對web服務(wù)的訪問可以是有用的。然而,在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)內(nèi)的客戶設(shè)備140和內(nèi)容服務(wù)器120/130的移動也可以提供關(guān)于在網(wǎng)絡(luò)系統(tǒng)100上的狀況的某些信息。例如,如果客戶設(shè)備140和內(nèi)容服務(wù)器120/130 —致地移動遠(yuǎn)離地標(biāo)服務(wù)器110(2)和110(3),則這可以指示它們正經(jīng)歷與地標(biāo)服務(wù)器110(2)和(3)的某些連接性問題。這甚至在客戶設(shè)備140和內(nèi)容服務(wù)器 120/130之間的相對距離不改變的情形下也可能是真實(shí)的。
例如,考慮圖9,其舉例說明了在網(wǎng)絡(luò)系統(tǒng)100上客戶設(shè)備140和內(nèi)容服務(wù)器120(2)和130的移動。圖9上顯示的正常圖標(biāo)代表了在第一時間每個設(shè)備的位置,且劃陰影的圖標(biāo)代表響應(yīng)于網(wǎng)絡(luò)連接性的某種改變的設(shè)備的新位置。應(yīng)當(dāng)指出,這些設(shè)備的每個設(shè)備在第一時間具有30的y坐標(biāo),但隨后每個設(shè)備沿負(fù)I方向移動20個單位。然而,還應(yīng)當(dāng)指出,內(nèi)容服務(wù)器120(1)并沒有移動。取決于被使用來定義網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的網(wǎng)絡(luò)性能度量, 這可能暗示了在內(nèi)容服務(wù)器120(2),130和客戶設(shè)備140中的每一個與地標(biāo)服務(wù)器(2)和(3)之間的增加的等待時間、減小的帶寬或二者。而且,這可能暗示了某些共享的網(wǎng)絡(luò)狀況,諸如出故障的或擁塞的路由器,可能被客戶設(shè)備140、內(nèi)容服務(wù)器120(2)和內(nèi)容服務(wù)器 130使用。所述狀況的識別可以通過注意到內(nèi)容服務(wù)器120(1)在網(wǎng)絡(luò)系統(tǒng)100內(nèi)未展現(xiàn)類似的移動而被促進(jìn),正如下面更詳細(xì)地討論的。
圖10舉例說明了例如適合于由地標(biāo)服務(wù)器110上的診斷構(gòu)件217實(shí)施的示范性方法1000。
方法1000可以在塊1001開始,這牽涉到確定第一網(wǎng)絡(luò)坐標(biāo)。在本例的上下文中, 地標(biāo)服務(wù)器110可以確定在第一時間的一個或多個設(shè)備的第一網(wǎng)絡(luò)坐標(biāo)。例如,診斷構(gòu)件 217可以確定120(1)、客戶設(shè)備140、內(nèi)容服務(wù)器120(2)和內(nèi)容服務(wù)器130的網(wǎng)絡(luò)坐標(biāo),例如分別為(0,30)、(10,30)、(25,30)和(30,30)。
接著,塊1002牽涉到確定第二網(wǎng)絡(luò)坐標(biāo)。在本例的上下文中,地標(biāo)服務(wù)器110可以確定在第二時間的對于設(shè)備的第二網(wǎng)絡(luò)坐標(biāo)。例如,診斷構(gòu)件217可以確定在某個預(yù)定的時間量內(nèi),例如一天內(nèi),以上識別的設(shè)備的網(wǎng)絡(luò)坐標(biāo)是如由圖9的劃上陰影的圖標(biāo)顯示的。 例如,診斷構(gòu)件217可以識別內(nèi)容服務(wù)器120 (I)、客戶設(shè)備140、內(nèi)容服務(wù)器120 (2)和內(nèi)容服務(wù)器130的位置是分別在(0,30)、(10,10)、(25,10)和(30,10)。
接著,塊1003牽涉到計算所述坐標(biāo)的差值。在本例的上下文中,地標(biāo)服務(wù)器110 可以計算對于每個設(shè)備的第一坐標(biāo)組和第二坐標(biāo)組的差值。因此,診斷構(gòu)件217可以識別 客戶設(shè)備140、內(nèi)容服務(wù)器120(2)和內(nèi)容服務(wù)器130在一天內(nèi)每個已經(jīng)沿負(fù)7方向移動20 個單位。相反,診斷構(gòu)件217可以識別內(nèi)容服務(wù)器120(1)沒有移動。
接著,塊1004可以識別設(shè)備的子集。在本例的上下文中,地標(biāo)服務(wù)器110可以識別已經(jīng)移動的設(shè)備子集,例如用于進(jìn)一步處理。因此,診斷構(gòu)件217可以識別客戶設(shè)備140、 內(nèi)容服務(wù)器120(2)和內(nèi)容服務(wù)器130作為設(shè)備的子集,其排除了內(nèi)容服務(wù)器120(1)。
接著,塊1005牽涉到識別設(shè)備的公共通信路由。在本例的上下文中,地標(biāo)服務(wù)器 110可以識別與設(shè)備子集相關(guān)聯(lián)的公共通信路由。例如,診斷構(gòu)件217可以確定設(shè)備子集的每個設(shè)備通過公共的路由器或其它通信路由(交換機(jī)、集線器、物理有線、無線路徑、代理或其它服務(wù)器、互聯(lián)網(wǎng)服務(wù)提供者等等)而與地標(biāo)服務(wù)器110 (2)和(3)通信。通過識別這樣的公共通信路由,方法1000可以幫助管理員確定網(wǎng)絡(luò)系統(tǒng)100上可能存在問題的地方。 這個技術(shù)可以有利于識別過載的連接,例如,太多的帶寬被使用在特定的連接上。這個技術(shù)也可以有利于識別通信錯誤,例如,由沒有被應(yīng)答的通信而造成的重發(fā)。
在另外的實(shí)施例中,在塊1004,可以使用閾值技術(shù)來識別設(shè)備子集。例如,僅僅移動大于預(yù)定數(shù)目(例如10個)的網(wǎng)絡(luò)單位的設(shè)備可被識別。這可能是有用的,因?yàn)閮?nèi)容服務(wù)器120(1)可以被預(yù)期為在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)內(nèi)展現(xiàn)某種正常的移動。通過將這樣的閾值設(shè)置得足夠高,在塊1004,內(nèi)容服務(wù)器120(1)的正常移動(例如,由于預(yù)期的等待時間的波動) 可能不會觸發(fā)把內(nèi)容服務(wù)器120(1)包括在設(shè)備子集中。
而且,附加于使用移動的絕對值或作為其替換,移動的速率也可以被使用來在塊 1004識別設(shè)備子集。作為例子,每天10個單位的移動可被指定為用于包括在子集中的閾值。因此,在連續(xù)四天的每天內(nèi)移動5個單位的設(shè)備將總共移動20個單位,但仍將不被包括在子集內(nèi)。然而,一天內(nèi)移動10個單位和以后不移動的設(shè)備將被包括在子集內(nèi)。
在再另外的實(shí)施例中,某些類型的設(shè)備可以被排除在方法1000之外。作為例子, 移動設(shè)備,諸如膝上型計算機(jī)、蜂窩電話、個人數(shù)字助理(PDA)等等,可被預(yù)期為展現(xiàn)在網(wǎng)絡(luò)系統(tǒng)100內(nèi)的顯著移動。相反,服務(wù)器和/或臺式計算機(jī)可能往往保持為相對靜止,因此對于通過方法1000考慮可能是更有用的。
還應(yīng)當(dāng)指出,診斷構(gòu)件217也可以被包括在客戶設(shè)備140和/或內(nèi)容服務(wù)器 120/130中,以實(shí)施以上相對于方法1000所描述的處理。
方法實(shí)現(xiàn)正如以上討論的,圖4,6,8和10分別顯示了示范性方法400,600,800和1000的流程圖。這些方法中的每個與本構(gòu)思的至少某些實(shí)現(xiàn)一致。應(yīng)當(dāng)指出,方法400,600,800和1000 被描述的次序不打算被解釋為限制,以及任何數(shù)目的描述的塊可以以任何次序被組合來實(shí)施所述方法,或替換的方法。
而且,雖然示范性方法是相對于公開的系統(tǒng)實(shí)施例討論的,但這些方法可以以任何適當(dāng)?shù)挠布④浖?、固件或它們的任何組合被實(shí)施。在一種情形下,所述方法被存儲在計算機(jī)可讀媒體上作為一組指令,使得其由計算設(shè)備的處理器的執(zhí)行使得計算設(shè)備執(zhí)行所述方法。
權(quán)利要求
1.一種方法包括以下步驟存儲在網(wǎng)絡(luò)(100)中第一設(shè)備(140)的初始網(wǎng)絡(luò)位置,所述網(wǎng)絡(luò)包括該第一設(shè)備(140) 和第二設(shè)備(130);監(jiān)視涉及到與第二設(shè)備(140)的現(xiàn)有應(yīng)用通信的一個或多個網(wǎng)絡(luò)性能度量(302);以及根據(jù)該初始網(wǎng)絡(luò)位置和網(wǎng)絡(luò)性能度量(302),確定第一設(shè)備(140)的更新的網(wǎng)絡(luò)位置。
2.按照權(quán)利要求1的方法,其中網(wǎng)絡(luò)性能度量包括TCP擴(kuò)展的統(tǒng)計(“TCPESTATS”)。
3.按照權(quán)利要求1的方法,其中現(xiàn)有的應(yīng)用通信包括以下的一項(xiàng)或多項(xiàng) 來自第二設(shè)備的、對于網(wǎng)頁的請求,來自第二設(shè)備的、對于當(dāng)前時間的請求,或來自第二設(shè)備的、對于自動完成數(shù)據(jù)的請求。
4.按照權(quán)利要求1的方法,其中第一設(shè)備的更新的網(wǎng)絡(luò)位置根據(jù)第二設(shè)備的網(wǎng)絡(luò)位置被確定。
5.按照權(quán)利要求1的方法,其中初始網(wǎng)絡(luò)位置被表示為網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的坐標(biāo),所述方法還包括與多個地標(biāo)服務(wù)器進(jìn)行通信,所述地標(biāo)服務(wù)器具有被表示為在網(wǎng)絡(luò)坐標(biāo)系統(tǒng)中的已知坐標(biāo)的位置,其中更新的網(wǎng)絡(luò)位置包括根據(jù)一個個地標(biāo)服務(wù)器的已知坐標(biāo)而被確定的更新的坐標(biāo)。
6.按照權(quán)利要求1的方法,所述方法還包括識別在網(wǎng)絡(luò)中第一設(shè)備的第二網(wǎng)絡(luò)位置,其中第一設(shè)備同時處在該第一網(wǎng)絡(luò)位置和該第二網(wǎng)絡(luò)位置;接收對于訪問在網(wǎng)絡(luò)上可得到的網(wǎng)絡(luò)服務(wù)的請求;以及確定是從第一位置還是從第二位置訪問該網(wǎng)絡(luò)服務(wù)。
7.一種系統(tǒng)(100),包括存儲裝置(222 ),被配置成存儲網(wǎng)絡(luò)中的內(nèi)容服務(wù)器(120)或客戶設(shè)備(140 )的第一網(wǎng)絡(luò)位置;以及操縱構(gòu)件(227),被配置成將客戶設(shè)備(140)或內(nèi)容服務(wù)器(120)的第一網(wǎng)絡(luò)位置操縱成第二網(wǎng)絡(luò)位置。
8.按照權(quán)利要求7的系統(tǒng),其中第一網(wǎng)絡(luò)位置包括網(wǎng)絡(luò)坐標(biāo)系統(tǒng)的第一網(wǎng)絡(luò)坐標(biāo),以及操縱構(gòu)件還被配置成通過確定對于第二網(wǎng)絡(luò)位置的第二網(wǎng)絡(luò)坐標(biāo)而操縱第一網(wǎng)絡(luò)位置。
9.按照權(quán)利要求7的系統(tǒng),其中操縱構(gòu)件還被配置成通過提供值給遠(yuǎn)程設(shè)備而操縱第一網(wǎng)絡(luò)位置,其中所述值被遠(yuǎn)程設(shè)備應(yīng)用來確定客戶設(shè)備或內(nèi)容服務(wù)器的第二網(wǎng)絡(luò)位置。
10.按照權(quán)利要求7的系統(tǒng),其中操縱構(gòu)件還被配置成通過給遠(yuǎn)程設(shè)備提供以對應(yīng)于第二網(wǎng)絡(luò)位置的網(wǎng)絡(luò)性能度量而操縱第一網(wǎng)絡(luò)位置。
11.一種計算機(jī)可讀存儲媒體(222),其包括指令,使得一個或多個處理器(221)執(zhí)行按照權(quán)利要求1一 6中的任何一項(xiàng)的方法。
全文摘要
本文檔涉及到分布式網(wǎng)絡(luò)坐標(biāo)系統(tǒng)。一種實(shí)現(xiàn)提供了計算機(jī)可讀存儲媒體,其包括可以使得處理器執(zhí)行某些動作的指令。例如,所述動作可包括存儲網(wǎng)絡(luò)中的第一設(shè)備的初始網(wǎng)絡(luò)位置。該網(wǎng)絡(luò)可包括第一設(shè)備和第二設(shè)備。所述動作還可包括監(jiān)視涉及到與第二設(shè)備的現(xiàn)有應(yīng)用通信的一個或多個網(wǎng)絡(luò)性能度量,和根據(jù)初始網(wǎng)絡(luò)位置和網(wǎng)絡(luò)性能度量確定第一設(shè)備的更新的網(wǎng)絡(luò)位置。網(wǎng)絡(luò)健康的各方面可以從監(jiān)視坐標(biāo)系統(tǒng)內(nèi)各種設(shè)備的網(wǎng)絡(luò)位置的改變而得到。
文檔編號H04L12/26GK102546245SQ20111044693
公開日2012年7月4日 申請日期2011年12月28日 優(yōu)先權(quán)日2010年12月28日
發(fā)明者A.G.格林伯格, K.達(dá)摩爾, R.克恩, S.阿賈瓦爾, T.V.庫里恩, 袁利華 申請人:微軟公司