地址系統(tǒng)的制作方法
【專利摘要】用于通過網(wǎng)絡(luò)將數(shù)據(jù)從設(shè)備路由到端點(diǎn)的設(shè)備、地址系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。設(shè)備執(zhí)行用于路由數(shù)據(jù)的客戶端的實(shí)例。用于請(qǐng)求端點(diǎn)的網(wǎng)絡(luò)地址的地址查詢依賴于客戶端實(shí)例的類型而形成,并且所述地址查詢被發(fā)送給地址系統(tǒng)。地址系統(tǒng)基于地址查詢而確定端點(diǎn)地址,這樣使得端點(diǎn)地址依賴于客戶端實(shí)例的類型,并且地址系統(tǒng)將端點(diǎn)地址發(fā)送給設(shè)備。然后通過網(wǎng)絡(luò)把數(shù)據(jù)從設(shè)備路由到端點(diǎn)地址。
【專利說明】
地址系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及地址系統(tǒng)。特別地,本發(fā)明涉及使用地址系統(tǒng)將數(shù)據(jù)路由到網(wǎng)絡(luò)的端點(diǎn)。
【背景技術(shù)】
[0002]通信系統(tǒng)允許設(shè)備的用戶跨網(wǎng)絡(luò)進(jìn)行通信。例如,通信系統(tǒng)可以是基于分組的通信系統(tǒng),其允許諸如個(gè)人計(jì)算機(jī)、移動(dòng)電話、平板電腦和電視的設(shè)備的用戶跨互聯(lián)網(wǎng)進(jìn)行通信。為了使能對(duì)通信系統(tǒng)的訪問,通信客戶端軟件可以由軟件提供者提供,并且被安裝在用戶的設(shè)備中??蛻舳塑浖试S用戶向通信系統(tǒng)注冊(cè),并且通過通信系統(tǒng)進(jìn)行通信。用戶的設(shè)備可以與網(wǎng)絡(luò)的其它端點(diǎn)(諸如通信系統(tǒng)的其它用戶設(shè)備或者服務(wù)器)進(jìn)行通信??梢栽谟脩粼O(shè)備上安裝不同類型的客戶端實(shí)例。例如,不同類型的客戶端實(shí)例可以被安裝來用于在不同平臺(tái)(例如,不同操作系統(tǒng))上執(zhí)行,平臺(tái)可以在設(shè)備上實(shí)現(xiàn)。軟件提供者可以對(duì)客戶端軟件進(jìn)行更新,例如,以便在客戶端軟件的新版本中引入新的和/或改進(jìn)的功能性。因此,不同類型的客戶端實(shí)例可以具有不同的版本和/或構(gòu)建號(hào)(build number)。客戶端的構(gòu)建號(hào)對(duì)于客戶端軟件的代碼的每個(gè)改變而遞增。當(dāng)客戶端的功能性改變時(shí),客戶端的版本號(hào)遞增。相比于對(duì)于版本號(hào)的改變,對(duì)于構(gòu)建號(hào)的改變一般表明對(duì)于客戶端軟件的較小改變。以這種方式,構(gòu)建號(hào)可以被認(rèn)為是版本號(hào)的細(xì)分。優(yōu)選地,不同類型的客戶端實(shí)例可以通過網(wǎng)絡(luò)彼此通信。
[0003]為了讓在設(shè)備中實(shí)現(xiàn)的客戶端實(shí)例通過網(wǎng)絡(luò)與端點(diǎn)(例如,網(wǎng)絡(luò)的另一個(gè)設(shè)備或者服務(wù)器)進(jìn)行通信,客戶端實(shí)例首先確定端點(diǎn)的網(wǎng)絡(luò)地址。作為示例,在網(wǎng)絡(luò)是互聯(lián)網(wǎng)的場(chǎng)合,網(wǎng)絡(luò)地址可以是端點(diǎn)的IP地址。當(dāng)客戶端實(shí)例已經(jīng)確定端點(diǎn)的網(wǎng)絡(luò)地址時(shí),其可以通過網(wǎng)絡(luò)將數(shù)據(jù)路由給該端點(diǎn)。為了確定端點(diǎn)的網(wǎng)絡(luò)地址,客戶端實(shí)例可以將地址查詢發(fā)送給網(wǎng)絡(luò)的地址系統(tǒng),并且作為響應(yīng),地址系統(tǒng)可以返回對(duì)于地址查詢的應(yīng)答,應(yīng)答包括端點(diǎn)的網(wǎng)絡(luò)地址。例如,地址系統(tǒng)可以是域名系統(tǒng),并且地址查詢可以是域名系統(tǒng)(DNS)查詢。域名系統(tǒng)是用于連接到互聯(lián)網(wǎng)或者私有網(wǎng)絡(luò)的資源的分級(jí)分布式命名系統(tǒng)。DNS查詢包括客戶端實(shí)例打算連接到的端點(diǎn)的域名(例如,WWW, skype.com)。域名系統(tǒng)將DNS查詢解析成對(duì)應(yīng)于DNS查詢中的域名的IP地址,并且將IP地址返回給設(shè)備處的客戶端實(shí)例。對(duì)于用戶而言,域名比IP地址更容易理解和記憶。
【發(fā)明內(nèi)容】
[0004]本概要被提供來以簡(jiǎn)化的形式介紹概念的選擇,這些概念還將在下面的詳細(xì)說明中進(jìn)行描述。本概要既不打算標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不打算被用來限制所要求保護(hù)的主題的范圍。
[0005]不同類型的客戶端實(shí)例可以被路由到不同的端點(diǎn)。這可以通過由客戶端實(shí)例依賴于客戶端實(shí)例的類型形成地址查詢(例如,DNS查詢)而達(dá)到。例如,平臺(tái)ID、客戶端版本和構(gòu)建號(hào)可以被包括在地址查詢中。在一個(gè)示例中,平臺(tái)ID、客戶端版本和構(gòu)建號(hào)可以在DNS查詢中按相反的次序放置,并且用點(diǎn)分隔。地址系統(tǒng)(例如,域名系統(tǒng))可以存儲(chǔ)用于將地址查詢映射到網(wǎng)絡(luò)地址的關(guān)系,其中所存儲(chǔ)的關(guān)系在依賴于客戶端實(shí)例的不同類型而形成的地址查詢之間進(jìn)行區(qū)分。例如,包括第一平臺(tái)ID的第一 DNS查詢可以被映射到與包括第二平臺(tái)ID的第二 DNS查詢被映射到的IP地址不同的IP地址。這允許地址系統(tǒng)確定依賴于在設(shè)備中執(zhí)行的客戶端實(shí)例的類型的端點(diǎn)地址。
[0006]因此,可以提供一種方法,用來通過所連接的客戶端類型(例如,平臺(tái)、版本或者構(gòu)建號(hào))而將它們路由到不同端點(diǎn)。端點(diǎn)可以是網(wǎng)絡(luò)中的服務(wù)器端點(diǎn)或者用戶設(shè)備端點(diǎn)。例如,端點(diǎn)地址可以涉及網(wǎng)絡(luò)中的真實(shí)服務(wù)器。然而,端點(diǎn)地址可以不涉及網(wǎng)絡(luò)中的真實(shí)實(shí)體(例如,真實(shí)服務(wù)器)。使用不涉及網(wǎng)絡(luò)中真實(shí)實(shí)體的地址使得通信系統(tǒng)的控制者(例如,客戶端軟件提供者)能夠阻止特定類型的客戶端實(shí)例(例如,表現(xiàn)不好的客戶端)與網(wǎng)絡(luò)中特定的、真實(shí)的端點(diǎn)進(jìn)行通信。此外,來自特定類型的客戶端實(shí)例的數(shù)據(jù)可以被路由到不同的服務(wù)器端點(diǎn),例如,來自試用版客戶端的數(shù)據(jù)可以被路由到預(yù)演環(huán)境(stagingenvironment)用于測(cè)試。
【專利附圖】
【附圖說明】
[0007]為了更好地理解本發(fā)明,并且為了示出本發(fā)明如何得以實(shí)行,作為示例,現(xiàn)在將對(duì)以下附圖進(jìn)行參考,其中:
圖1示出包括兩個(gè)用戶設(shè)備的通信系統(tǒng);
圖2示出用戶設(shè)備的示意性視圖;
圖3示出域名系統(tǒng)服務(wù)器的示意性視圖;并且圖4是用于將數(shù)據(jù)路由到端點(diǎn)地址的過程的流程圖。
【具體實(shí)施方式】
[0008]現(xiàn)在將僅作為示例對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行描述。
[0009]圖1不出了通信系統(tǒng)100,其包括與第一用戶設(shè)備102相關(guān)聯(lián)的第一用戶104和與第二用戶設(shè)備112相關(guān)聯(lián)的第二用戶114。在其它實(shí)施例中,通信系統(tǒng)100可以包括任意數(shù)量的用戶和相關(guān)聯(lián)的用戶設(shè)備。用戶設(shè)備102和112可以通過通信系統(tǒng)100中的網(wǎng)絡(luò)106進(jìn)行通信,從而允許用戶104和114通過網(wǎng)絡(luò)106彼此通信。通信系統(tǒng)100包括網(wǎng)絡(luò)106中的服務(wù)器。圖1示出網(wǎng)絡(luò)106包括域名系統(tǒng)服務(wù)器108和兩個(gè)其它的服務(wù)器IlOjP 110 2,但是在網(wǎng)絡(luò)106中可存在比圖1中所示出的那些更多或者更少的服務(wù)器。在圖1中示出的通信系統(tǒng)100是基于分組的通信系統(tǒng),但是也可以使用其它類型的通信系統(tǒng)。網(wǎng)絡(luò)106可以例如是互聯(lián)網(wǎng)。用戶設(shè)備102和112的每一個(gè)可以是例如移動(dòng)電話、平板電腦、膝上型計(jì)算機(jī)、個(gè)人計(jì)算機(jī)(“PC”)(包括例如Windows?、Mac OS?、和Linux? PC)、游戲設(shè)備、電視、個(gè)人數(shù)字助理(“PDA”)或者能夠連接到網(wǎng)絡(luò)106的其它嵌入式設(shè)備。用戶設(shè)備102被安排用于接收來自用戶設(shè)備102的用戶104的信息,以及將信息輸出給用戶設(shè)備102的用戶104。用戶設(shè)備102包括輸出裝置,諸如顯示器和揚(yáng)聲器。用戶設(shè)備102也包括輸入裝置,諸如小鍵盤、觸摸屏、用于接收音頻信號(hào)的話筒和/或用于捕獲視頻信號(hào)的圖像的相機(jī)。用戶設(shè)備102被連接到網(wǎng)絡(luò)106。
[0010]用戶設(shè)備102執(zhí)行通信客戶端的實(shí)例,其由與通信網(wǎng)絡(luò)100相關(guān)聯(lián)的軟件提供者所提供。通信客戶端是在用戶設(shè)備102中的本地處理器上執(zhí)行的軟件程序??蛻舳藞?zhí)行在用戶設(shè)備102中所需要的處理,以便讓用戶設(shè)備102通過通信系統(tǒng)100傳輸和接收數(shù)據(jù)。
[0011]用戶設(shè)備112對(duì)應(yīng)于用戶設(shè)備102,并且在本地處理器中執(zhí)行對(duì)應(yīng)于在用戶設(shè)備102中所執(zhí)行的通信客戶端的通信客戶端。用戶設(shè)備112中的客戶端以與在用戶設(shè)備102中的客戶端執(zhí)行對(duì)于允許用戶104通過網(wǎng)絡(luò)106通信所需要的處理相同的方式,來執(zhí)行對(duì)于允許用戶114通過網(wǎng)絡(luò)106通信所需要的處理。用戶設(shè)備102和112是通信系統(tǒng)100中的端點(diǎn)。為了簡(jiǎn)明,圖1僅示出兩個(gè)用戶(104和114)和兩個(gè)用戶設(shè)備(102和112),但是在通信系統(tǒng)100中可以包括更多的用戶和用戶設(shè)備,并且可以使用在相應(yīng)的用戶設(shè)備中執(zhí)行的相應(yīng)的通信客戶端而通過通信系統(tǒng)100進(jìn)行通信。服務(wù)器IlOjP 110 2也是通信系統(tǒng)100中的端點(diǎn)。
[0012]域名系統(tǒng)在網(wǎng)絡(luò)106中實(shí)現(xiàn),以便將域名映射到IP地址。域名系統(tǒng)是用于被連接到網(wǎng)絡(luò)106的資源的分級(jí)分布式命名系統(tǒng)。域名系統(tǒng)包括若干服務(wù)器,諸如DNS服務(wù)器108,其實(shí)行對(duì)于將域名映射到IP地址所需要的處理。
[0013]圖2圖示用戶設(shè)備102的詳細(xì)視圖,在用戶設(shè)備102執(zhí)行用于通過通信網(wǎng)絡(luò)100進(jìn)行通信的通信客戶端實(shí)例。用戶設(shè)備102包括中央處理單元(“CPU”)或者“處理模塊”202,被連接到中央處理單元(“CPU”)或者“處理模塊”202的有:輸出設(shè)備,諸如顯示器204,其可以被實(shí)現(xiàn)為觸摸屏;輸入設(shè)備,諸如小鍵盤206 ;用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器208 ;和網(wǎng)絡(luò)接口210,諸如用于與網(wǎng)絡(luò)106進(jìn)行通信的調(diào)制解調(diào)器。用戶設(shè)備102可以包括除了在圖2中所示出的那些之外的其它單元。顯示器204、小鍵盤206、存儲(chǔ)器208和網(wǎng)絡(luò)接口 210可以集成在用戶設(shè)備102中,如在圖2中所示出的。在可替換的用戶設(shè)備中,顯示器204、小鍵盤206、存儲(chǔ)器208和網(wǎng)絡(luò)接口 210中的一個(gè)或者多個(gè)可以不集成在用戶設(shè)備102中,并且可以經(jīng)由相應(yīng)的接口連接到CPU 202。這樣的接口的一個(gè)示例是USB接口。如果用戶設(shè)備102的經(jīng)由網(wǎng)絡(luò)接口 210到網(wǎng)絡(luò)106的連接是無線連接的話,那么網(wǎng)絡(luò)接口 210可以包括用于將信號(hào)無線地傳輸?shù)骄W(wǎng)絡(luò)106并且從網(wǎng)絡(luò)106中無線地接收信號(hào)的天線。
[0014]圖2還圖示出在CPU 202中執(zhí)行的操作系統(tǒng)(“OS”)214。在OS 214之上運(yùn)行的是用于通信系統(tǒng)100的客戶端實(shí)例的客戶端軟件的軟件堆棧216。軟件堆棧示出客戶端協(xié)議層218、客戶端引擎層220和客戶端用戶界面層(“Π”)222。每個(gè)層負(fù)責(zé)特定的功能。因?yàn)槊總€(gè)層通常與兩個(gè)其它層進(jìn)行通信,所以它們被視作是安排在如圖2所示出的堆棧中。操作系統(tǒng)214管理計(jì)算機(jī)的硬件資源,并且操縱經(jīng)由網(wǎng)絡(luò)接口 210被傳輸?shù)骄W(wǎng)絡(luò)106和從網(wǎng)絡(luò)106傳輸來的數(shù)據(jù)??蛻舳塑浖目蛻舳藚f(xié)議層218與操作系統(tǒng)214進(jìn)行通信,并且管理通過通信系統(tǒng)的連接。需要更高等級(jí)處理的過程被傳遞給客戶端引擎層220??蛻舳艘?20也與客戶端用戶界面層222進(jìn)行通信??蛻舳艘?20可以被安排成控制客戶端用戶界面層222來經(jīng)由客戶端的用戶界面向用戶104呈現(xiàn)信息以及經(jīng)由用戶界面接收來自用戶104的信息。
[0015]圖3圖示DNS服務(wù)器108的詳細(xì)視圖,DNS服務(wù)器108接收并且響應(yīng)于來自通信系統(tǒng)100中的用戶設(shè)備的DNS查詢。為了簡(jiǎn)明,在本文描述的示例中,域名系統(tǒng)僅包括一個(gè)服務(wù)器,這就是DNS服務(wù)器108。然而,在可替換的實(shí)施例中,域名系統(tǒng)可以包括網(wǎng)絡(luò)106中的多個(gè)DNS服務(wù)器,其可以分擔(dān)操控DNS查詢的負(fù)擔(dān)。DNS服務(wù)器108包括中央處理單元(“CPU”)或者“處理模塊”302,被連接到所述中央處理單元(“CPU”)或者“處理模塊”302的有存儲(chǔ)數(shù)據(jù)庫304的存儲(chǔ)器和諸如用于與網(wǎng)絡(luò)106進(jìn)行通信的調(diào)制解調(diào)器那樣的網(wǎng)絡(luò)接口306。DNS服務(wù)器108可以包括除了在圖3中所示出的那些之外的其它單元。數(shù)據(jù)庫304存儲(chǔ)將DNS查詢映射到IP地址的關(guān)系。DNS服務(wù)器108被配置成從設(shè)備102接收DNS查詢,使用數(shù)據(jù)庫304中存儲(chǔ)的關(guān)系來確定對(duì)應(yīng)于DNS查詢中的域名的IP地址,并且將包括所確定的IP地址的應(yīng)答發(fā)送給設(shè)備102。
[0016]參考圖4中所示出的流程圖,現(xiàn)在描述設(shè)備102用以將數(shù)據(jù)路由到網(wǎng)絡(luò)106中的端點(diǎn)地址的方法。在下文所描述的示例中,數(shù)據(jù)被路由到的端點(diǎn)是服務(wù)器I11,其是通信系統(tǒng)100的后端服務(wù)器。然而,在其它示例中,端點(diǎn)可以是網(wǎng)絡(luò)106中的另一個(gè)服務(wù)器,或者可以是不同的網(wǎng)絡(luò)節(jié)點(diǎn),諸如網(wǎng)絡(luò)106中的用戶設(shè)備。在設(shè)備102中執(zhí)行的客戶端實(shí)例使用域名系統(tǒng)來確定服務(wù)器11(^的IP地址。
[0017]在步驟S402,在設(shè)備102中執(zhí)行的客戶端形成用于從域名系統(tǒng)中請(qǐng)求服務(wù)器IlO1的IP地址的DNS查詢。本文所描述的方法提供用于將不同類型的客戶端實(shí)例(例如,帶有不同的版本號(hào))路由到不同服務(wù)器或者甚至路由到網(wǎng)絡(luò)106中不存在的服務(wù)器的地址的功能性。為了達(dá)到這個(gè)目的,在步驟S402,依賴于在設(shè)備102處執(zhí)行的客戶端實(shí)例的類型而形成DNS查詢。換言之,基于在設(shè)備102處執(zhí)行的客戶端實(shí)例的類型而在步驟S402中形成DNS查詢。
[0018]客戶端基于客戶端實(shí)例形成版本串,并且使用版本串和地址后綴來形成DNS查詢。以這種方式,客戶端將版本串用作為用來計(jì)算將要被包括在DNS查詢中的域名的一個(gè)分量。版本串包括設(shè)備102中客戶端在其上執(zhí)行的平臺(tái)的平臺(tái)ID,以及在設(shè)備102中執(zhí)行的客戶端實(shí)例的版本號(hào)和構(gòu)建號(hào)。平臺(tái)可以包括硬件架構(gòu)和軟件框架(包括應(yīng)用框架),其允許客戶端軟件執(zhí)行。平臺(tái)可以定義計(jì)算機(jī)的架構(gòu)、操作系統(tǒng)、編程語言和/或有關(guān)的用戶界面(例如,運(yùn)行時(shí)間系統(tǒng)庫或者圖形用戶界面)。例如,當(dāng)設(shè)備102是諸如移動(dòng)電話(例如具有相對(duì)低的處理和顯示能力)那樣的移動(dòng)設(shè)備時(shí),可以使用一種平臺(tái),而當(dāng)設(shè)備102是諸如PC (例如具有相對(duì)高的處理和顯示能力)的固定設(shè)備時(shí),可以使用另一種平臺(tái),并且當(dāng)設(shè)備102是電視(例如具有相對(duì)低的處理能力但是相對(duì)高的顯示能力)時(shí),可以使用再一種平臺(tái)。
[0019]在本文所描述的實(shí)施例中,版本串具有以下格式:
[platform_id]/[vers1n_number].[build_number],
其中platform_id是數(shù)值(諸如10021),其指示設(shè)備102中客戶端實(shí)例在其上執(zhí)行的平臺(tái),vers1r^number具有由點(diǎn)分隔的多個(gè)數(shù)字(諸如1.2.0),其指示客戶端實(shí)例的版本,而build_number具有數(shù)值(諸如402),其指示客戶端實(shí)例的具體構(gòu)建。因此,在一個(gè)示例中,版本串將是1021/1.2.0.402。在其它實(shí)施例中,客戶端實(shí)例的類型可以以不同的方式來指示,例如,使用具有不同格式的版本串。
[0020]為了計(jì)算用于DNS查詢的DNS名稱,在設(shè)備102中執(zhí)行的客戶端將版本串中以點(diǎn)(“.”)或者斜線(“/”)分隔的數(shù)字的順序進(jìn)行反轉(zhuǎn),并且形成以點(diǎn)分隔的數(shù)字的陣列。例如,如果客戶端版本串是10021/1.2.0.402,則該步驟產(chǎn)生數(shù)字的陣列:402.0.2.1.10021??蛻舳巳缓髮⑺渲玫挠蚝缶Y添加到數(shù)字的陣列中,從而形成DNS查詢。例如,如果所配置的域后綴是“rst.skype.net”,那么最終得到的DNS查詢可以是:402.0.2.1.10021.rst.skype.net 0
[0021]在步驟S404,在步驟S402所形成的DNS查詢被發(fā)送給網(wǎng)絡(luò)106中的域名系統(tǒng)。在這個(gè)示例中,DNS查詢被發(fā)送給DNS服務(wù)器108。DNS查詢通過網(wǎng)絡(luò)106按照已知的協(xié)議被發(fā)送,由此當(dāng)網(wǎng)絡(luò)106是互聯(lián)網(wǎng)時(shí),DNS查詢可以作為按照互聯(lián)網(wǎng)協(xié)議而分組化的一個(gè)或者多個(gè)數(shù)據(jù)分組來發(fā)送。在步驟S404,使用設(shè)備102的網(wǎng)絡(luò)接口 210和DNS服務(wù)器108的網(wǎng)絡(luò)接口 306通過網(wǎng)絡(luò)106發(fā)送和接收DNS查詢。
[0022]在步驟S406,DNS服務(wù)器108使用CPU 302和數(shù)據(jù)庫304來處理DNS查詢,從而將所接收的DNS查詢映射到端點(diǎn)的IP地址,即,服務(wù)器11(^的IP地址。如上文所描述的,依賴于在設(shè)備102上執(zhí)行的客戶端實(shí)例的類型而形成DNS查詢。DNS服務(wù)器108使用存儲(chǔ)在數(shù)據(jù)庫304中的、在域名和IP地址之間的關(guān)系來確定對(duì)應(yīng)于特定域名的IP地址。如果所存儲(chǔ)的關(guān)系不在客戶端實(shí)例的不同類型之間進(jìn)行區(qū)分,那么帶有相同域后綴的DNS查詢將被映射到相同的IP地址,而不考慮形成DNS查詢的客戶端的類型。例如,在這種情況下,DNS數(shù)據(jù)庫306中的“rst.skype.net”區(qū)域?qū)⒋鎯?chǔ)以下記錄:
rst.skype.net.1N A x.x.x.x。
[0023]*字符表示通配符,這樣使得包括以rst.skype.net結(jié)束的域名的每個(gè)DNS查詢都將被映射到IP地址X.X.X.X。
[0024]然而,按照本文描述的方法,所存儲(chǔ)的關(guān)系在由不同類型的客戶端實(shí)例所形成的DNS查詢之間進(jìn)行區(qū)分。因此,使用第一類型客戶端實(shí)例形成的DNS查詢可以被映射到與使用第二類型客戶端實(shí)例形成的DNS查詢不同的IP地址,即便在這兩個(gè)DNS查詢中的域后綴是相同的。
[0025]在一個(gè)示例中,在具有平臺(tái)ID 10021的特定平臺(tái)中執(zhí)行的客戶端將被路由到與在具有其它平臺(tái)ID的平臺(tái)中執(zhí)行的客戶端不同的服務(wù)器端點(diǎn)。在這種情況下,數(shù)據(jù)庫304將附加的記錄“*.10021.rst.skype.net”存儲(chǔ)到“rst.skype.net”區(qū)域。所以,在數(shù)據(jù)庫304中的“rst.skype.net”區(qū)域?qū)⒕哂幸韵掠涗?
rst.skype.net.1N A x.x.x.x 和
10021.rst.skype.net.1N A y.y.y.y。
[0026]在數(shù)據(jù)庫304所存儲(chǔ)的記錄中,點(diǎn)被認(rèn)為是域分隔符,而通配符字符被認(rèn)為是匹配任何域基礎(chǔ)(domain basis)的。對(duì)于每個(gè)DNS查詢而言,確定數(shù)據(jù)庫304中的記錄的最佳匹配,以便將DNS查詢映射到IP地址。因此,對(duì)于上文所示出的、存儲(chǔ)在數(shù)據(jù)庫304中的記錄而言,以.10021.rst.skype.net結(jié)束的每個(gè)DNS查詢將被映射到IP地址y.y.y.y,因?yàn)檫@是對(duì)于DNS查詢而言的最佳匹配(即,與記錄.10021.rst.skype.net的匹配同與記錄*.rst.skype.net的匹配相比,是更好的匹配)。然而,以“.rst.skype.net”結(jié)束的每個(gè)其它DNS查詢將被映射到IP地址X.X.X.Xo通配符字符是有用的,因?yàn)閷⒚繂蝹€(gè)可能的版本串都配置到域名系統(tǒng)的(一個(gè)或多個(gè))服務(wù)器的(一個(gè)或多個(gè))數(shù)據(jù)庫中可能是行不通的。
[0027]如果特定類型的客戶端實(shí)例要被路由到網(wǎng)絡(luò)中的可替換的服務(wù)器地址,則可以將記錄添加到存儲(chǔ)在數(shù)據(jù)庫304中的rst.skype.net”區(qū)域,例如以下面的格式:
402.0.2.1.10021.rst.skype.net.1N A z.z.z.z。
[0028]由于在這個(gè)記錄中不存在通配符字符,所以僅有準(zhǔn)確詢問402.0.2.1.10021.rst.skype.net的DNS查詢將匹配該記錄,并且將被映射到IP地址ζ.ζ.ζ.ζ。
[0029]在步驟S408,對(duì)于DNS查詢的應(yīng)答通過網(wǎng)絡(luò)106從DNS服務(wù)器108發(fā)送到設(shè)備102。該應(yīng)答包括在步驟S406確定的IP地址。
[0030]在步驟S410,在設(shè)備102上執(zhí)行的客戶端實(shí)例將數(shù)據(jù)路由到在步驟S408從DNS服務(wù)器108接收的應(yīng)答中所包括的IP地址。如上文所描述的,IP地址可以是網(wǎng)絡(luò)106中的真實(shí)地址,諸如服務(wù)器11(^的IP地址,這樣使得客戶端實(shí)例將數(shù)據(jù)路由到服務(wù)器110 10這允許設(shè)備102中的客戶端實(shí)例與服務(wù)器IlO1進(jìn)行通信。如果不同類型的客戶端實(shí)例在設(shè)備102中執(zhí)行,那么在步驟S408從DNS服務(wù)器108接收的應(yīng)答中所包括的IP地址可能是不同的,并且可能例如是服務(wù)器1102的IP地址,這樣使得客戶端實(shí)例將數(shù)據(jù)路由到服務(wù)器I12而不是服務(wù)器110 —
[0031]如上文所描述的,在步驟S408從DNS服務(wù)器108所接收的應(yīng)答中的IP地址可以是網(wǎng)絡(luò)106中不存在的地址(即,不涉及網(wǎng)絡(luò)106中的實(shí)體的地址)。在這種情況下,當(dāng)客戶端實(shí)例將數(shù)據(jù)(例如,連接建立請(qǐng)求)路由到不存在的IP地址時(shí),可以將一消息從網(wǎng)絡(luò)106(例如,來自網(wǎng)絡(luò)106的服務(wù)器)返回給設(shè)備102上的客戶端實(shí)例,從而通知客戶端:該IP地址不涉及網(wǎng)絡(luò)106中存在的實(shí)體。
[0032]可以意識(shí)到的是,由于基于DNS查詢(其自身是基于在設(shè)備102上執(zhí)行的客戶端實(shí)例的類型而形成的)來確定IP地址,并且由于存儲(chǔ)在數(shù)據(jù)庫304中的關(guān)系在基于不同類型的客戶端實(shí)例所形成的DNS查詢之間進(jìn)行區(qū)分,所以在步驟S408的應(yīng)答中返回給設(shè)備102的IP地址依賴于在設(shè)備102上執(zhí)行的客戶端實(shí)例的類型。因此,本文所描述的方法提供了用來將不同類型的客戶端實(shí)例(例如,在不同平臺(tái)上執(zhí)行或者具有不同版本或者構(gòu)建號(hào))路由到網(wǎng)絡(luò)106中的不同服務(wù)器端點(diǎn)的簡(jiǎn)單方式。這是在不需要復(fù)雜目錄服務(wù)或者維護(hù)額外開銷的情況下而達(dá)到的。
[0033]用來將不同類型的客戶端實(shí)例路由到不同端點(diǎn)地址的能力在許多情景中可以是有用的。例如,通信系統(tǒng)100可以包括不能實(shí)現(xiàn)特定功能性的較舊版本客戶端,而被包括在通信系統(tǒng)100中的較新版本客戶端可能能夠?qū)崿F(xiàn)特定功能性。在這種情況下,較舊版本客戶端可以被路由到與較新客戶端版本不同的服務(wù)器端點(diǎn),以使得較舊版本不需要實(shí)現(xiàn)新的功能性。這是在不需要阻止較新版本實(shí)現(xiàn)新功能性的情況下而達(dá)到的。作為另一個(gè)示例,在一種類型的平臺(tái)(例如,由移動(dòng)電話實(shí)現(xiàn)的平臺(tái))中運(yùn)行的客戶端實(shí)例可以被路由到與運(yùn)行另一種類型的平臺(tái)的客戶端實(shí)例(例如,由PC實(shí)現(xiàn)的平臺(tái))不同的服務(wù)器端點(diǎn)。可以為一些類型的客戶端實(shí)例(例如,表現(xiàn)不好的客戶端實(shí)例)提供網(wǎng)絡(luò)106中不存在的實(shí)體的IP地址,以使得它們不將數(shù)據(jù)路由到網(wǎng)絡(luò)106中的真實(shí)服務(wù)器。作為另一個(gè)示例,可以將試用版版本的客戶端路由到實(shí)現(xiàn)測(cè)試環(huán)境(或者“預(yù)演環(huán)境”)的服務(wù)器,以使得可以在試用版版本的客戶端被實(shí)施于真實(shí)通信系統(tǒng)環(huán)境中之前對(duì)其進(jìn)行測(cè)試。
[0034]可以將不同的服務(wù)提供給不同類型的客戶端實(shí)例。由于在網(wǎng)絡(luò)106中可以存在許多不同類型的客戶端實(shí)例,所以可能有用的是,將不同的服務(wù)提供給不同類型的客戶端實(shí)例。這可以確保為通信系統(tǒng)100中的每種類型的客戶端實(shí)例提供恰當(dāng)?shù)姆?wù),例如,適合于與特定類型的客戶端實(shí)例一同使用的服務(wù)。這可以例如促進(jìn)通過通信系統(tǒng)100在不同類型的客戶端實(shí)例之間的通信。這也可以允許通信系統(tǒng)的操作者更好地控制不同類型的客戶端實(shí)例可以如何在通信系統(tǒng)100中交互。
[0035]本文所描述的在設(shè)備102上執(zhí)行的操作可以由計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn),計(jì)算機(jī)程序產(chǎn)品被包含在非瞬時(shí)性計(jì)算機(jī)可讀介質(zhì)中,并且被配置成使得當(dāng)其由設(shè)備102的處理模塊(例如,CPU 202)執(zhí)行時(shí)實(shí)現(xiàn)客戶端實(shí)例。本文所描述的在DNS服務(wù)器108上執(zhí)行的操作可以由計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn),計(jì)算機(jī)程序產(chǎn)品被包含在非瞬時(shí)性計(jì)算機(jī)可讀介質(zhì)中,并且被配置成由DNS服務(wù)器108的處理模塊(例如,CPU 302)執(zhí)行。
[0036]上文描述了涉及用于確定IP地址的DNS查詢的方法。其它實(shí)施例可以涉及其它類型的地址查詢和網(wǎng)絡(luò)地址,例如如果網(wǎng)絡(luò)106不是互聯(lián)網(wǎng)的話。
[0037]雖然本主題是以特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語言被描述的,但應(yīng)當(dāng)理解在所附權(quán)利要求中限定的主題不是必然地局限于上述的特定特征或動(dòng)作。而是,上述的特定特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例性形式而公開的。
【權(quán)利要求】
1.一種設(shè)備,被配置為連接到網(wǎng)絡(luò),所述設(shè)備包含處理模塊,其被配置為執(zhí)行客戶端的實(shí)例,從而通過以下方式將數(shù)據(jù)路由到網(wǎng)絡(luò)的端點(diǎn): 依賴于由處理模塊所執(zhí)行的客戶端實(shí)例的類型而形成地址查詢,所述地址查詢用于請(qǐng)求端點(diǎn)的網(wǎng)絡(luò)地址; 將該地址查詢發(fā)送給地址系統(tǒng); 接收來自地址系統(tǒng)的、響應(yīng)于該地址查詢的應(yīng)答,其中該應(yīng)答包括由地址系統(tǒng)基于該地址查詢而確定的網(wǎng)絡(luò)中的端點(diǎn)地址,這樣使得端點(diǎn)地址依賴于由處理模塊所執(zhí)行的客戶端實(shí)例的類型;并且 通過網(wǎng)絡(luò)將數(shù)據(jù)路由到該端點(diǎn)地址。
2.如權(quán)利要求1的設(shè)備,其中所述地址查詢是域名查詢,而地址系統(tǒng)是域名系統(tǒng)。
3.如任一前述權(quán)利要求的設(shè)備,其中所述客戶端實(shí)例的類型由下列至少一個(gè)給出: 在設(shè)備處客戶端實(shí)例在其上執(zhí)行的平臺(tái)的平臺(tái)標(biāo)識(shí)符; 客戶端實(shí)例的版本號(hào);以及 客戶端實(shí)例的構(gòu)建號(hào)。
4.如任一前述權(quán)利要求的設(shè)備,其中所述形成地址查詢包括基于客戶端實(shí)例的類型形成版本串,并且使用所述版本串和地址后綴來形成所述地址查詢。
5.如當(dāng)從屬于權(quán)利要求3時(shí)的權(quán)利要求4的設(shè)備,其中所述版本串包括平臺(tái)標(biāo)識(shí)符、版本號(hào)和構(gòu)建號(hào),其中版本串的平臺(tái)標(biāo)識(shí)符、版本號(hào)和構(gòu)建號(hào)可選地是按相反的次序,并且在所述地址查詢中以點(diǎn)分隔。
6.—種計(jì)算機(jī)程序產(chǎn)品,其被包含在非瞬時(shí)性計(jì)算機(jī)可讀介質(zhì)中,并且被配置成使得當(dāng)其由設(shè)備的處理模塊執(zhí)行時(shí)實(shí)現(xiàn)客戶端的實(shí)例,以通過如下方式將數(shù)據(jù)路由到網(wǎng)絡(luò)的端占.依賴于客戶端實(shí)例的類型而形成地址查詢,所述地址查詢用于請(qǐng)求端點(diǎn)的網(wǎng)絡(luò)地址; 將該地址查詢發(fā)送給地址系統(tǒng); 接收來自地址系統(tǒng)的、響應(yīng)于該地址查詢的應(yīng)答,其中該應(yīng)答包括由地址系統(tǒng)基于該地址查詢而確定的網(wǎng)絡(luò)中的端點(diǎn)地址,這樣使得端點(diǎn)地址依賴于客戶端實(shí)例的類型;并且通過網(wǎng)絡(luò)將數(shù)據(jù)路由到該端點(diǎn)地址。
7.—種地址系統(tǒng),用于基于地址查詢而確定網(wǎng)絡(luò)中的端點(diǎn)地址,所述地址系統(tǒng)被配置成: 接收來自網(wǎng)絡(luò)的設(shè)備的地址查詢,所述地址查詢依賴于在設(shè)備處執(zhí)行的客戶端實(shí)例的類型而形成,所述地址查詢用于請(qǐng)求網(wǎng)絡(luò)的端點(diǎn)的網(wǎng)絡(luò)地址; 存儲(chǔ)將地址查詢映射到網(wǎng)絡(luò)地址的關(guān)系,其中所存儲(chǔ)的關(guān)系在依賴于客戶端實(shí)例的不同類型所形成的地址查詢之間進(jìn)行區(qū)分; 使用所存儲(chǔ)的關(guān)系基于該地址查詢來確定網(wǎng)絡(luò)中的端點(diǎn)地址,以使得所確定的端點(diǎn)地址依賴于在設(shè)備處執(zhí)行的客戶端實(shí)例的類型;并且 將響應(yīng)于地址查詢的應(yīng)答發(fā)送給所述設(shè)備,所述應(yīng)答包括所確定的端點(diǎn)地址。
8.如權(quán)利要求7的地址系統(tǒng),其中所述地址查詢使用版本串和地址后綴形成,所述版本串基于在設(shè)備處執(zhí)行的客戶端實(shí)例的類型而形成,其中所存儲(chǔ)的關(guān)系將至少兩個(gè)使用不同版本串形成的地址查詢映射到不同的網(wǎng)絡(luò)地址。
9.如權(quán)利要求8的地址系統(tǒng),其中所存儲(chǔ)的關(guān)系將至少兩個(gè)使用不同版本串所形成的另外的地址查詢映射到相同的網(wǎng)絡(luò)地址。
10.如權(quán)利要求9的地址系統(tǒng),其中所存儲(chǔ)的關(guān)系的至少一個(gè)包括通配符,這樣使得部分相同但不是完全一致的兩個(gè)地址查詢被映射到相同的網(wǎng)絡(luò)地址。
【文檔編號(hào)】H04L29/12GK104509075SQ201380041888
【公開日】2015年4月8日 申請(qǐng)日期:2013年5月29日 優(yōu)先權(quán)日:2012年6月6日
【發(fā)明者】拉斯 V., 莫羅佐夫 I., 約翰森 R., 考拉基斯 J., 科斯梅 M. 申請(qǐng)人:微軟公司