專利名稱:客戶機服務(wù)器網(wǎng)絡(luò)中作為分配數(shù)據(jù)包的中繼服務(wù)器的終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信網(wǎng)絡(luò)的改進以及這種網(wǎng)絡(luò)中所采用的系統(tǒng)、方法和裝置。
背景技術(shù):
在傳統(tǒng)的客戶機/服務(wù)器數(shù)據(jù)網(wǎng)絡(luò)中,如TCP/IP或其他路由網(wǎng)絡(luò)中,主服務(wù)器通過單一的服務(wù)器端口(socket)為所有的終端提供服務(wù)。這種網(wǎng)絡(luò)將導致極端的網(wǎng)絡(luò)負載尖峰,特別是當數(shù)據(jù)需要被同時傳送到大量的客戶機時,會引起數(shù)據(jù)傳輸?shù)难訒r。
本發(fā)明試圖提供改進的網(wǎng)絡(luò)系統(tǒng)、方法和裝置從而增強網(wǎng)絡(luò)的性能。
發(fā)明內(nèi)容
本發(fā)明提供了由所附權(quán)利要求書限定的改進的數(shù)據(jù)通信網(wǎng)絡(luò)、操作數(shù)據(jù)通信網(wǎng)絡(luò)的方法、網(wǎng)絡(luò)服務(wù)器、網(wǎng)絡(luò)終端和計算機程序。
附圖簡要說明以下將參考附圖,示例性地描述本發(fā)明的實施例,其中
圖1所示為實施本發(fā)明的數(shù)據(jù)通信網(wǎng)絡(luò)的操作模型;圖2A、2B和2C所示為圖1中的網(wǎng)絡(luò)所采用的主服務(wù)器和終端的操作結(jié)構(gòu);圖3A和3B是圖1中的網(wǎng)絡(luò)所采用的路由和數(shù)據(jù)傳輸過程的事物處理簡圖;圖4所示為根據(jù)本發(fā)明,從主服務(wù)器向大量目標終端分配數(shù)據(jù)的一個方案的例子。
優(yōu)選實施例的詳細描述參見附圖,圖1所示為根據(jù)本發(fā)明的數(shù)據(jù)通信網(wǎng)絡(luò)的簡化的示例性實施例的操作模型。該網(wǎng)絡(luò)包括一個數(shù)據(jù)存儲系統(tǒng)10,在該實施例中其包括介質(zhì)存儲系統(tǒng)18和跟蹤數(shù)據(jù)庫20,介質(zhì)存儲系統(tǒng)18用于存儲有選擇地被分配到網(wǎng)絡(luò)中的數(shù)據(jù)(即“介質(zhì)”或“內(nèi)容”),跟蹤數(shù)據(jù)庫20用于管理以下將更詳細描述的網(wǎng)絡(luò)的操作。為了便于描述,在此將從介質(zhì)存儲系統(tǒng)18中被分配的數(shù)據(jù)稱為“內(nèi)容”,其可以理解為包括最終用戶感興趣的任何類型的數(shù)據(jù),包括但不僅限于文本、圖形、視頻數(shù)據(jù)、音頻數(shù)據(jù)、可執(zhí)行代碼等。內(nèi)容通常包括某種類型的一個數(shù)據(jù)文件。
在本發(fā)明中,“內(nèi)容”是指文件、部分文件或其等價物,其存儲在服務(wù)器上,可由客戶機從服務(wù)器上下載并由該客戶機存儲以便于隨后應用,“內(nèi)容”完全不同于數(shù)字廣播介質(zhì),在數(shù)字廣播介質(zhì)中,數(shù)據(jù)流由廣播服務(wù)器發(fā)送并由客戶機,在某些情況下由介入的中繼單元臨時緩沖。
該網(wǎng)絡(luò)還包括一個主服務(wù)器12,其可與介質(zhì)存儲系統(tǒng)18和跟蹤數(shù)據(jù)庫20通信并可控制來自介質(zhì)存儲系統(tǒng)18的內(nèi)容的分配。該網(wǎng)絡(luò)還包括多個終端14和16,內(nèi)容被分配到這些終端。根據(jù)本發(fā)明,當相同的內(nèi)容將要被分配給大量終端時,至少一些終端14還作為“中繼服務(wù)器”將內(nèi)容分配給剩余的終端16(即,一些或所有的終端還可以作為中繼服務(wù)器)。
介質(zhì)存儲系統(tǒng)18和終端14、16之間的所有事物處理都是由主服務(wù)器12控制的。具體而言,所有從介質(zhì)存儲系統(tǒng)18下載到終端的數(shù)據(jù)都由主服務(wù)器12管理。通常,由主服務(wù)器從存儲系統(tǒng)中檢索內(nèi)容并將之傳遞到終端14和16。但是在某些情況下,主服務(wù)器本身不檢索和傳遞內(nèi)容,而是管理其他服務(wù)器對內(nèi)容的檢索和傳遞。
這里所用的術(shù)語“目標終端”是指作為預期接收者的終端,其接收來自介質(zhì)存儲系統(tǒng)18的內(nèi)容(數(shù)據(jù)文件)。每個終端14和16都可以是數(shù)據(jù)文件的目標終端。在該實施例中,第一組終端中的每個終端14還作為中繼服務(wù)器將數(shù)據(jù)傳遞到第二組終端中的一個或多個終端16,這一點將在以下描述。終端16也可以作為中繼服務(wù)器將數(shù)據(jù)中繼到其下行的其他終端(未示出)??梢岳斫猓⒉皇前ㄔ诰W(wǎng)絡(luò)中的所有終端都需要作為中繼服務(wù)器,該網(wǎng)絡(luò)可包括不適于作為中繼服務(wù)器的終端設(shè)備。
跟蹤數(shù)據(jù)庫20保存主服務(wù)器12和各種終端14、16之間事物處理的記錄。具體而言,跟蹤數(shù)據(jù)庫監(jiān)視網(wǎng)絡(luò)中還作為中繼服務(wù)器的所有終端的性能(通信速度和/或其他參數(shù),如可靠性)。這個信息可供主服務(wù)器使用。具體而言,跟蹤數(shù)據(jù)庫12能將按照終端的相對性能排序的終端地址的列表提供給主服務(wù)器。
在該網(wǎng)絡(luò)的操作過程中,當內(nèi)容數(shù)據(jù)文件被分配到特定的目標終端時,主服務(wù)器12通過向第一組終端14發(fā)送一個傳輸請求來初始化數(shù)據(jù)傳輸操作,第一組終端14是根據(jù)當前的性能數(shù)據(jù),從目標終端的列表中選出的最佳的終端。傳輸請求包括--將要傳輸?shù)奈募脑敿氋Y料。通常包括,例如,文件類型和大小、內(nèi)容激活和釋放的時間戳、加密和壓縮的詳細資料等。
--文件分配過程中所涉及的中繼服務(wù)器和終端的地址從主服務(wù)器12向第一組終端14發(fā)送的傳輸請求指示這些終端從主服務(wù)器12(或從包括在傳輸請求中的其他服務(wù)器地址)中檢索數(shù)據(jù)。在第一終端14之間分派剩余目標終端地址的列表。這樣,每個第一終端14都可作為中繼服務(wù)器將數(shù)據(jù)分配到剩余目標終端的子集。
響應于來自主服務(wù)器12的傳輸請求,各第一終端14開始從主服務(wù)器12下載文件。當?shù)谝唤K端14中的一個已經(jīng)接收到預定數(shù)量字節(jié)的文件時,該終端14就會向其目標終端16的子集發(fā)送一個原傳輸請求的修訂版本。該修訂的傳輸請求將相應的第一終端14確定為中繼服務(wù)器地址,其目標服務(wù)器16的子集應該從這個地址中檢索數(shù)據(jù)。根據(jù)目標終端的數(shù)量,目標終端的列表可以再細分多次。即,各第二組終端16可收到進一步(further)目標終端的列表,第二組終端16將作為這些進一步目標終端的中繼服務(wù)器。在每個階段,優(yōu)選為將從其余目標終端的列表中選擇的“最佳的”終端作為剩余終端的中繼服務(wù)器。
當各終端14或16已經(jīng)下載完整個文件時,直接向主服務(wù)器12發(fā)送一個通知消息,如圖1中的符號22所示。
主服務(wù)器12服務(wù)于來自第一組終端14的數(shù)據(jù)請求。如果第二組終端16中的終端不能連接到第一組終端14內(nèi)的終端,那么它將向主服務(wù)器12發(fā)送數(shù)據(jù)請求。
通常,主服務(wù)器和作為中繼服務(wù)器的各下行的終端只服務(wù)于少量的(如2到5個)下行終端。如果目標終端的數(shù)目少于或等于這個數(shù)量,則目標終端都可以直接從主服務(wù)器檢索數(shù)據(jù),或者主服務(wù)器可以請求最佳的目標終端作為其他終端的中繼服務(wù)器。
可以理解,該網(wǎng)絡(luò)可包括比圖1中所示以樹狀結(jié)構(gòu)排列的更多的終端,其中每個終端或者是一個節(jié)點(既作為中繼服務(wù)器又作為目標終端),或者只是一個葉(只作為目標終端);即,在主服務(wù)器和各目標終端之間的下行數(shù)據(jù)傳輸路徑中可能有許多節(jié)點終端。優(yōu)選為,從各終端14、16直接到主服務(wù)器12也有一個上行通信路徑22。上行通信路徑22由目標終端使用以確認數(shù)據(jù)的接收。這些確認直接從目標終端發(fā)送到主服務(wù)器12,如圖所示。為了清楚地進行說明,在圖1中省略了終端14和主服務(wù)器12之間的上行路徑22。
可以理解,圖1中所示的操作模型可以應用一個現(xiàn)有的傳統(tǒng)網(wǎng)絡(luò)架構(gòu)(如因特網(wǎng)或其同等物)來實現(xiàn),而不需要新的物理網(wǎng)絡(luò)。服務(wù)器和終端可以通過同步的固定連接如ISDN、HSDL、T1或T3被連接到網(wǎng)絡(luò)主干上,且該網(wǎng)絡(luò)可包括撥號連接、無線連接等。即,圖1中所示的是服務(wù)器和多個終端之間的邏輯連接而非物理連接。此外,主服務(wù)器和多個終端之間的邏輯連接可在網(wǎng)絡(luò)的使用過程中進行動態(tài)地調(diào)整,這一點將在下文中進一步描述。
本發(fā)明特別適用于所有終端都可作為上述的中繼服務(wù)器并假定永久在線的情況。但是,可以理解,本發(fā)明也適用于不可作為中繼服務(wù)器的終端(這種終端是處于目標終端列表的末尾一直是“葉”的終端)。
目標終端請求單獨地傳輸每個數(shù)據(jù)包。被傳輸?shù)臄?shù)據(jù)包包括的信息有被傳輸數(shù)據(jù)的類型、被傳輸數(shù)據(jù)包的大小、壓縮和確認所需的校驗信息。
圖2A所示為主服務(wù)器12的操作結(jié)構(gòu),包括網(wǎng)絡(luò)數(shù)據(jù)庫23、數(shù)據(jù)庫接口模塊24、26以及終端模塊28,網(wǎng)絡(luò)數(shù)據(jù)庫23用于存儲包括網(wǎng)絡(luò)終端的地址等的網(wǎng)絡(luò)信息(該數(shù)據(jù)庫可實現(xiàn)圖1中的跟蹤數(shù)據(jù)庫20的全部或部分功能;這些數(shù)據(jù)庫功能可以由在一個或多個計算機/服務(wù)器上的一個或多個數(shù)據(jù)庫系統(tǒng)來完成)。包括在主服務(wù)器12中的終端模塊28也可應用于各網(wǎng)絡(luò)終端/中繼服務(wù)器14、16,并且包括路由網(wǎng)絡(luò)協(xié)議模塊30(優(yōu)選為一個TCP/IP模塊,但也可應用其他的路由協(xié)議)和一個主應用程序模塊32。如圖2B所示,數(shù)據(jù)庫接口模塊24和26提供I/O(輸入/輸出)控制函數(shù)34和數(shù)據(jù)庫接口函數(shù)36,I/O控制函數(shù)34向主應用程序模塊32的內(nèi)核提供所需的服務(wù)器級功能以用于數(shù)據(jù)傳送控制和記錄數(shù)據(jù)集合(data aggregation),數(shù)據(jù)庫接口函數(shù)36提供對網(wǎng)絡(luò)數(shù)據(jù)庫23的訪問。例如,可以經(jīng)ODBC(開放式數(shù)據(jù)庫互連)接口或網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)23自帶的數(shù)據(jù)庫接口進行訪問。
如圖2C所示,在主服務(wù)器和那些也可以作為中繼服務(wù)器的終端中采用的主應用程序模塊32包括以下的功能模塊一個內(nèi)核模塊38,用于解釋接收的數(shù)據(jù)包并存儲數(shù)據(jù)。
一個數(shù)據(jù)接收模塊40,用于接收單獨的數(shù)據(jù)包。
一個數(shù)據(jù)準備模塊42,用于準備將要被中繼的數(shù)據(jù)。
一個數(shù)據(jù)發(fā)送模塊44,用于發(fā)送由準備模塊42準備的數(shù)據(jù)并向相應的客戶機發(fā)送確認。
一個路由控制模塊46,用于保持最佳數(shù)據(jù)傳輸速率。
一個端口控制模塊48,用于管理端口對象。
一個服務(wù)器端口50,用于監(jiān)視經(jīng)TCP/IP模塊(或其他路由網(wǎng)絡(luò)協(xié)議模塊)30接收的數(shù)據(jù)。
客戶機端口52經(jīng)模塊30發(fā)送數(shù)據(jù)??蛻魴C端口的數(shù)量可根據(jù)任何特定的時間所需的服務(wù)器連接的數(shù)量而進行動態(tài)調(diào)整。
在傳統(tǒng)的系統(tǒng)中,服務(wù)器具有一個面向服務(wù)器的客戶機連接,服務(wù)器包括一個服務(wù)器端口,其用于連接到客戶機的服務(wù)器端口。在本發(fā)明中,主服務(wù)器12和作為中繼服務(wù)器的各終端中的主應用程序模塊包括一個用于從其客戶機接收數(shù)據(jù)的標準服務(wù)器端口50。此外,該主應用程序模塊還具有客戶機端口52,用于與下行終端進行下行通信。將被傳輸?shù)侥繕私K端的實際數(shù)據(jù)經(jīng)這些客戶機端口發(fā)送并經(jīng)服務(wù)器端口接收來自這些終端的確認。當所需數(shù)據(jù)已由服務(wù)器發(fā)送時,就可取消該為發(fā)送數(shù)據(jù)所創(chuàng)建的客戶機端口,從而不會浪費不必要的網(wǎng)絡(luò)資源。應用這種方法,接收的確認在傳出的數(shù)據(jù)流中將不會引起任何中斷。每個終端/服務(wù)器具有兩個“硬編碼的”端口,一個是為其他終端/服務(wù)器提供服務(wù)的客戶機端口52,一個是只用于主服務(wù)器連接的服務(wù)器端口50。根據(jù)需要可動態(tài)地創(chuàng)建和使用其他的端口。每個端口都有一個用于控制該端口的獨立的處理器線程,從而可在不出現(xiàn)中斷和延遲的情況下對這些端口進行管理和控制。
端口的打開和操作是應用C++類應用程序進行動態(tài)處理的,當需要一個該類的新實例時,該應用程序產(chǎn)生一個新端口。用這種方式,端口可被動態(tài)地管理且其數(shù)量可根據(jù)需要改變。每個線程擁有并控制自己的端口。當不再需要一個端口時,控制線程會取消該線程然后取消自己。
現(xiàn)在描述該網(wǎng)絡(luò)的操作。
圖3A所示為路由過程。
主服務(wù)器選擇第一組的幾個(2個或3個)終端,并向這些終端中的每一個終端發(fā)送傳輸請求(包括相應目標終端的地址)。每個第一組的終端通過直接向主服務(wù)器發(fā)送一個消息來確認其在動態(tài)路由中的連接。該確認的速度可被用于更新監(jiān)視終端性能的終端數(shù)據(jù)。根據(jù)在網(wǎng)絡(luò)操作過程中預先獲得的并存儲在網(wǎng)絡(luò)數(shù)據(jù)庫中的性能數(shù)據(jù),將“最佳的”(“最快的”)終端選為第一組終端,該第一組終端用于將數(shù)據(jù)傳送到特定的目標終端。
在進行數(shù)據(jù)傳輸時,數(shù)據(jù)會被傳送到已注冊為網(wǎng)絡(luò)的一部分的已知終端。如果在傳輸過程中,有一個新終端注冊到主服務(wù)器上,則該終端將被包括在下一個數(shù)據(jù)傳輸中。
如上所述,主服務(wù)器選擇具有最短響應時間的終端。這個信息是用以下的方式獲得的來自特定終端的路由確認的最初接收者是向這些特定終端發(fā)送傳輸請求的“擔任服務(wù)器角色”(serverrole)的應用程序。當該傳送鏈完成時,信息被自動地中繼到主服務(wù)器。通過測量不同終端之間的響應時間簡單地測量不同終端(網(wǎng)絡(luò)地址)的性能,并選擇具有最短響應時間的終端。
由于目標終端的地址被包括在傳輸請求中,因此這些終端不需要知道網(wǎng)絡(luò)中總的網(wǎng)絡(luò)地址空間。
作為傳輸請求的一部分,主服務(wù)器將其他目標終端的地址發(fā)送到第一組終端/中繼服務(wù)器。每個終端選擇自己的下行終端/中繼服務(wù)器并向這些終端/中繼服務(wù)器發(fā)送作為修訂的傳輸請求的一部分的其余目標終端的網(wǎng)絡(luò)地址。即,每個第一組終端從主服務(wù)器傳遞給它的地址中選擇進一步的兩個或三個“最佳的”終端/中繼服務(wù)器,并將修訂的傳輸請求傳送到這些終端,修訂的傳輸請求中包括其他剩余的目標終端的詳細資料。由于是動態(tài)路由,主服務(wù)器不需要清楚地知道哪個終端傳送數(shù)據(jù),哪個終端接收數(shù)據(jù)。只要保證路由中的每個終端都是可訪問的就足夠了。如果由于某種原因一個終端的傳送失敗,則在數(shù)據(jù)庫中登記該情況,并在下一個傳輸過程中重復該失敗的傳送。
當已經(jīng)建立起一個到特定終端的路由時,數(shù)據(jù)文件的數(shù)據(jù)包就會沿確定的路由被傳輸,該傳輸是根據(jù)每個數(shù)據(jù)包的句柄/報頭中的目標終端地址經(jīng)選定的中繼服務(wù)器而進行的。
自動路由可在大型網(wǎng)絡(luò)區(qū)域中均勻地分配負載,減少任何特定的數(shù)據(jù)傳輸操作所需的時間窗。
圖3B示出了數(shù)據(jù)傳送的過程。
如圖3B所示,響應于傳輸請求,各目標終端請求來自主服務(wù)器或作為服務(wù)器(參見關(guān)于傳輸請求的描述)的上行終端的打包的數(shù)據(jù),重組文件,如果需要還要將這些數(shù)據(jù)包中繼到下行的目標終端。當目標終端接收到文件的最后一個數(shù)據(jù)包時,向主服務(wù)器發(fā)送確認。
優(yōu)選為所有數(shù)據(jù)都以加密和壓縮的二進制格式傳送。這種方式與純文本的傳送相比提高了數(shù)據(jù)的安全性,且需要較少的數(shù)據(jù)傳輸時間。由于不需要解釋接收的數(shù)據(jù),二進制格式的數(shù)據(jù)需要相應的應用程序較少的“智能”。這種數(shù)據(jù)可以直接被重構(gòu)以形成適當?shù)臄?shù)據(jù)結(jié)構(gòu)。所有接收的數(shù)據(jù)首先被重構(gòu)為基本類型(可在數(shù)據(jù)包頭中識別),然后包含在該基本類型內(nèi)的信息指示確定的數(shù)據(jù)類型。這種結(jié)構(gòu)也提供了數(shù)據(jù)確認每個數(shù)據(jù)類型的大小都是預定的,且所接收數(shù)據(jù)的總量必須與該數(shù)據(jù)類型的大小相對應。
由于傳送的數(shù)據(jù)只是二進制的,數(shù)據(jù)包又相當小,且數(shù)據(jù)包的數(shù)量可能很大,因此,若出現(xiàn)在傳送過程中某些數(shù)據(jù)包被未經(jīng)授權(quán)的第三方所訪問的情況,也不會有確定所傳送數(shù)據(jù)的目的的風險。由于在不知道數(shù)據(jù)的結(jié)構(gòu)時很難推斷二進制數(shù)據(jù)的內(nèi)容,因此,當應用公共網(wǎng)絡(luò)時,提高了數(shù)據(jù)的安全性。
為了更好地理解本發(fā)明,以下將參照根據(jù)本發(fā)明的網(wǎng)絡(luò)的優(yōu)選實施例描述數(shù)據(jù)傳輸?shù)睦?。如上所述,主服?wù)器包括網(wǎng)絡(luò)數(shù)據(jù)庫并可訪問該網(wǎng)絡(luò)數(shù)據(jù)庫,該網(wǎng)絡(luò)數(shù)據(jù)庫列出了網(wǎng)絡(luò)中按其性能(速度)排序的當前所有激活的/注冊的終端/中繼服務(wù)器。假定將要從主服務(wù)器到一個或多個目標終端傳送的數(shù)據(jù)包括單個的數(shù)據(jù)文件。
如上所述,傳輸請求包括該/各目標終端的地址和其他關(guān)于被傳送數(shù)據(jù)的信息,這些信息包括數(shù)據(jù)包的數(shù)量等。
在第一個例子中,假定數(shù)據(jù)將要被傳輸?shù)絾蝹€目標終端。主服務(wù)器直接向該目標終端發(fā)送傳輸請求。目標終端確認該請求,然后請求主服務(wù)器依次發(fā)送各數(shù)據(jù)包。每個數(shù)據(jù)包都被單獨地壓縮并加密。目標終端確認每個數(shù)據(jù)包。如果一個特定數(shù)據(jù)包丟失,只需要重發(fā)該數(shù)據(jù)包,而不是從起點重新開始整個的下載。在某些情況下,應用本發(fā)明的方法將數(shù)據(jù)傳送到單個目標終端與傳統(tǒng)的下載方法相比可能不會快很多。但是,數(shù)據(jù)包的壓縮以及丟失的數(shù)據(jù)包不需要重新開始下載意味著單個目標終端的下載通常會比傳統(tǒng)方法快而且更可靠,特別是對于非常大的文件來說更是如此。
在第二個例子中,參照圖4,假定數(shù)據(jù)將要被傳送到39個按性能排序的目標終端T1-T39。假定主服務(wù)器M.S.和每個作為服務(wù)器的終端將只與預定數(shù)量的N個下行終端直接進行下行通信,N=3。主服務(wù)器向終端T1發(fā)送第一傳輸請求,向終端T2發(fā)送第二傳輸請求,向終端T3發(fā)送第三傳輸請求,每個傳輸請求中包括全部目標地址列表的三分之一的地址。由于終端地址是按性能排序的,為了在網(wǎng)絡(luò)中均勻地分配負載,發(fā)送到T1的請求包括每第1+N個地址(T1,4,7,10,13,16,19,22,25,28,31,34,37),發(fā)送到T2的請求包括每第2+N個地址(T2,5,8,11,14,17,20,23,26,29,32,35,38),發(fā)送到T3的請求包括每第3+N個地址(T3,6,9,12,15,18,21,24,27,30,33,36,39)。由此我們知道這種方法可以應用于N為任何值和任何數(shù)量的終端的情況。
參考T1以及與其相關(guān)的下行地址,當從主服務(wù)器接收到請求時,T1確認該請求并立即開始從主服務(wù)器下載數(shù)據(jù)包。T1還將修訂的請求中繼到發(fā)送給T1的目標地址列表中的下一組N個最快的終端(T4、T7和T10)。中繼到各終端T4、T7和T10的請求包括最初發(fā)送給T1的剩余地址的N分之一(1/3),分配方式與最初在T1、T2和T3之間分配全部目標地址列表的方式類似(即,T4接收T13、T22和T31的地址,T7接收T16、T25和T34的地址,T10接收T19、T28和T37的地址)。每個終端T4、T7和T10向主服務(wù)器確認該請求,開始從T1下載數(shù)據(jù)包(該過程可以在從主服務(wù)器到T1的下載完成之前就開始),并向其自己的地址列表中的剩余終端傳遞進一步的修訂請求,各剩余終端向主服務(wù)器確認該請求并開始從其各自的中繼終端下載數(shù)據(jù)包。在該例中,這些剩余終端是最后的“葉”終端,但是我們知道這種方法可以通過任何數(shù)量的中繼階段擴展到任何數(shù)量的終端。另外,我們還知道相同的方案可以應用于T2和T3的目標地址列表中。
可以理解,具體的分配方案可以不同于圖4中所示的方案。重要的是將相對較快的終端應用于路由的開始,將相對較慢的終端應用于路由的末尾。
如果到一個特定終端的傳輸失敗,該終端就會在目標列表中向下移,從而使相應分配列表子集中的下一個最快的終端在樹結(jié)構(gòu)中被“提升”。例如,在圖4中,如果從T2到T8的連接失敗,T8就會與T17互相交換。如果新的連接仍然失敗,則會嘗試其他的選擇。如果所有可用的選擇都失敗,則向主服務(wù)器報告這種情況。
可以理解,根據(jù)本發(fā)明的分配方案可以應用不同的網(wǎng)絡(luò)結(jié)構(gòu)來實現(xiàn)。網(wǎng)絡(luò)數(shù)據(jù)庫不需要在作為分配管理系統(tǒng)(產(chǎn)生傳輸請求)的相同的服務(wù)器/計算機上,但是該網(wǎng)絡(luò)數(shù)據(jù)庫必須是可以訪問的。被傳送的數(shù)據(jù)不需要駐留在或接入到作為分配管理系統(tǒng)的相同的服務(wù)器/計算機上。發(fā)送到第一組終端(圖4中的T1、T2、T3)的傳輸請求可能包括另一服務(wù)器(“分配服務(wù)器”)的進一步的地址,從該另一服務(wù)器可以獲得數(shù)據(jù)。該分配服務(wù)器可以具有與上述主服務(wù)器和中繼服務(wù)器基本相同的功能。
下載數(shù)據(jù)的終端向服務(wù)器確認數(shù)據(jù)包,該服務(wù)器是終端正在從其上下載數(shù)據(jù)的服務(wù)器。當下載完成時,下載數(shù)據(jù)的終端向主服務(wù)器發(fā)送確認。
本發(fā)明提供了具有改進性能的數(shù)據(jù)通信系統(tǒng)、方法和裝置,其中根據(jù)需要,一些或所有的終端也充當中繼服務(wù)器,動態(tài)路由和分配的數(shù)據(jù)傳輸可確保整個終端網(wǎng)絡(luò)內(nèi)的每個終端的最佳或接近最佳的數(shù)據(jù)傳輸速率,且即使部分網(wǎng)絡(luò)損壞,動態(tài)路由也可確保數(shù)據(jù)的發(fā)送。
在不脫離由所附權(quán)利要求書限定的本發(fā)明的范圍的情況下,可以對其進行其他的改進和修改。
權(quán)利要求
1.一種數(shù)據(jù)通信網(wǎng)絡(luò),包括多個終端;和主服務(wù)器,其通過至少一個目標終端管理來自第一服務(wù)器的數(shù)據(jù)的選擇性檢索,該目標終端選自所述的多個終端;其中,至少一些所述的終端被作為中繼服務(wù)器,用于將從所述第一服務(wù)器檢索的數(shù)據(jù)提供給至少一個目標終端。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò),其中該主服務(wù)器直接向至少一個第一目標終端發(fā)送傳輸請求,所述傳輸請求包括將要被檢索的數(shù)據(jù)的詳細資料以及第一服務(wù)器的地址,第一目標終端從該第一服務(wù)器中請求數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò),其中第一目標終端被作為中繼服務(wù)器,且該傳輸請求包括至少一個第二目標終端的地址,從第一服務(wù)器檢索的數(shù)據(jù)將要被該第一目標終端中繼到該至少一個第二目標終端。
4.根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò),其中作為中繼服務(wù)器的多個終端修訂從主服務(wù)器或從其他中繼服務(wù)器接收的傳輸請求,并將該修訂的傳輸請求發(fā)送到從傳輸請求中標識的一組目標終端中選定的目標終端,其中,該修訂的傳輸請求將發(fā)送該修訂的傳輸請求的終端確定為服務(wù)器,該修訂的傳輸請求的接收者應當從該確定的服務(wù)器中請求數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò),其中該修訂的傳輸請求還包括進一步目標終端的地址,該修訂的傳輸請求的接收者作為這些進一步目標終端的中繼服務(wù)器。
6.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò),還包括網(wǎng)絡(luò)信息數(shù)據(jù)庫,其中主服務(wù)器根據(jù)存儲在所述網(wǎng)絡(luò)信息數(shù)據(jù)庫中的終端性能信息,選擇至少一個第一目標終端作為中繼服務(wù)器,該中繼服務(wù)器用于將從所述第一服務(wù)器檢索的數(shù)據(jù)提供給至少一個第二目標終端。
7.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò),其中主服務(wù)器直接向至少一個第一目標終端發(fā)送傳輸請求,所述傳輸請求包括將要被檢索的數(shù)據(jù)的詳細資料以及第一服務(wù)器的地址,該第一目標終端從該第一服務(wù)器中請求數(shù)據(jù);和多個進一步目標終端的地址,從第一服務(wù)器檢索的數(shù)據(jù)將要被該第一目標終端中繼到該多個進一步目標終端;基于存儲在所述網(wǎng)絡(luò)信息數(shù)據(jù)庫中的終端性能信息,該傳輸請求還指示該進一步目標終端的相關(guān)性能。
8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò),其中作為中繼服務(wù)器的多個終端根據(jù)所述傳輸請求中指示的該進一步目標終端的相關(guān)性能,選擇進一步的下行目標終端作為進一步的中繼服務(wù)器。
9.根據(jù)權(quán)利要求7或8所述的網(wǎng)絡(luò),其中在所述的傳輸請求中,通過在一個有序的列表中對這些進一步目標終端的地址排序來指示所述進一步的中繼服務(wù)器的相關(guān)性能。
10.根據(jù)以上任一權(quán)利要求所述的網(wǎng)絡(luò),其中第一服務(wù)器是主服務(wù)器。
11.根據(jù)權(quán)利要求1到9中任一權(quán)利要求所述的網(wǎng)絡(luò),其中第一服務(wù)器是一個被作為中繼服務(wù)器的終端。
12.根據(jù)以上任一權(quán)利要求所述的網(wǎng)絡(luò),其中每個所述的終端在上行方向直接與所述的主服務(wù)器通信。
13.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò),其中由所述目標終端檢索的數(shù)據(jù)被分為一系列數(shù)據(jù)包以發(fā)送到所述的目標終端,且每個所述的終端直接與所述的主服務(wù)器通信以確認一系列路由到這些終端的最后一個數(shù)據(jù)包的接收。
14.根據(jù)以上任一權(quán)利要求所述的網(wǎng)絡(luò),其中按照路由網(wǎng)絡(luò)業(yè)務(wù)協(xié)議(routed network protocol traffic)如TCP/IP業(yè)務(wù)協(xié)議將數(shù)據(jù)路由到所述的終端。
15.根據(jù)以上任一權(quán)利要求所述的網(wǎng)絡(luò),其中所述的主服務(wù)器和每個所述的終端包括服務(wù)器端口和至少一個動態(tài)控制和管理的客戶機端口,該服務(wù)器端口用于在所述終端和所述主服務(wù)器之間直接進行上行通信,該客戶機端口用于在主服務(wù)器和所述的終端之間或在作為中繼服務(wù)器的多個終端和其他下行終端之間進行下行數(shù)據(jù)傳送。
16.根據(jù)以上任一權(quán)利要求所述的網(wǎng)絡(luò),其中數(shù)據(jù)以二進制格式傳送。
17.根據(jù)以上任一權(quán)利要求所述的網(wǎng)絡(luò),其中主服務(wù)器監(jiān)視網(wǎng)絡(luò)中終端的響應時間,其中根據(jù)這些終端相應的響應時間選擇作為用于特定數(shù)據(jù)傳輸?shù)闹欣^服務(wù)器的終端。
18.一種操作數(shù)據(jù)通信網(wǎng)絡(luò)的方法,這種網(wǎng)絡(luò)包括多個終端和一個主服務(wù)器,該主服務(wù)器通過至少一個目標終端管理來自第一服務(wù)器的數(shù)據(jù)的選擇性檢索,該目標終端選自所述的多個終端;該方法包括將至少一些所述的終端作為中繼服務(wù)器,用于將從所述第一服務(wù)器檢索的數(shù)據(jù)提供給至少一個目標終端。
19.根據(jù)權(quán)利要求18所述的方法,包括直接向至少一個第一目標終端發(fā)送來自該主服務(wù)器的傳輸請求,所述傳輸請求包括將要被檢索的數(shù)據(jù)的詳細資料以及第一服務(wù)器的地址,第一目標終端從該第一服務(wù)器中請求數(shù)據(jù)。
20.根據(jù)權(quán)利要求19所述的方法,包括將第一目標終端作為中繼服務(wù)器,并且在傳輸請求中包括至少一個第二目標終端的地址,從第一服務(wù)器檢索的數(shù)據(jù)將要被該第一目標終端中繼到該至少一個第二目標終端。
21.根據(jù)權(quán)利要求20所述的方法,包括使作為中繼服務(wù)器的多個終端修訂從主服務(wù)器或從其他中繼服務(wù)器接收的傳輸請求,并將該修訂的傳輸請求發(fā)送到從該傳輸請求中確定的一組目標終端中選定的目標終端,在該修訂的傳輸請求中,將發(fā)送該修訂的傳輸請求的終端確定為服務(wù)器,該修訂的傳輸請求的接收者應當從該服務(wù)器請求數(shù)據(jù)。
22.根據(jù)權(quán)利要求21所述的方法,其中該修訂的傳輸請求還包括進一步目標終端的地址,該修訂的傳輸請求的接收者作為這些進一步目標終端的中繼服務(wù)器。
23.根據(jù)權(quán)利要求18所述的方法,其中該網(wǎng)絡(luò)還包括網(wǎng)絡(luò)信息數(shù)據(jù)庫,該方法包括使主服務(wù)器根據(jù)存儲在所述網(wǎng)絡(luò)信息數(shù)據(jù)庫中的終端性能信息,選擇至少一個第一目標終端作為中繼服務(wù)器,該中繼服務(wù)器用于將從所述第一服務(wù)器檢索的數(shù)據(jù)提供給至少一個第二目標終端。
24.根據(jù)權(quán)利要求23所述的方法,包括使主服務(wù)器直接向至少一個第一目標終端發(fā)送傳輸請求,所述傳輸請求包括將要被檢索的數(shù)據(jù)的詳細資料以及第一服務(wù)器的地址,該第一目標終端從該第一服務(wù)器中請求數(shù)據(jù);和多個進一步目標終端的地址,從第一服務(wù)器檢索的數(shù)據(jù)將要被該第一目標終端中繼到該多個進一步目標終端;基于存儲在所述網(wǎng)絡(luò)信息數(shù)據(jù)庫中的終端性能信息,該傳輸請求還指示該進一步目標終端的相關(guān)性能。
25.根據(jù)權(quán)利要求24所述的方法,包括使作為中繼服務(wù)器的多個終端根據(jù)所述傳輸請求中指示的該進一步目標終端的相關(guān)性能,選擇進一步的下行目標終端作為進一步的中繼服務(wù)器。
26.根據(jù)權(quán)利要求24或25所述的方法,包括在所述的傳輸請求中,通過在一個有序的列表中對這些進一步目標終端的地址排序來指示所述進一步的中繼服務(wù)器的相關(guān)性能。
27.根據(jù)以上18到26中任一權(quán)利要求所述的方法,其中第一服務(wù)器是主服務(wù)器。
28.根據(jù)權(quán)利要求18到26中任一權(quán)利要求所述的方法,其中第一服務(wù)器是一個被作為中繼服務(wù)器的終端。
29.根據(jù)以上任一權(quán)利要求所述的方法,其中每個所述的終端在上行方向直接與所述的主服務(wù)器通信。
30.根據(jù)權(quán)利要求29所述的方法,包括將由所述目標終端檢索的數(shù)據(jù)分為一系列數(shù)據(jù)包以發(fā)送到所述的目標終端,其中每個所述的終端直接與所述的主服務(wù)器通信以確認一系列路由到這些終端的最后一個數(shù)據(jù)包的接收。
31.根據(jù)權(quán)利要求18到30中任一權(quán)利要求所述的方法,包括按照路由網(wǎng)絡(luò)業(yè)務(wù)協(xié)議如TCP/IP業(yè)務(wù)協(xié)議將數(shù)據(jù)路由到所述的終端。
32.根據(jù)權(quán)利要求18到31中任一權(quán)利要求所述的方法,包括以二進制格式傳送數(shù)據(jù)。
33.根據(jù)權(quán)利要求18到32中任一權(quán)利要求所述的方法,包括使主服務(wù)器監(jiān)視網(wǎng)絡(luò)中終端的響應時間,并根據(jù)相應的響應時間選擇作為用于特定數(shù)據(jù)傳輸?shù)闹欣^服務(wù)器的終端。
34.一種在根據(jù)權(quán)利要求1到33中任一權(quán)利要求所述的網(wǎng)絡(luò)或方法中的作為主服務(wù)器的網(wǎng)絡(luò)服務(wù)器。
35.一種在根據(jù)權(quán)利要求1到33中任一權(quán)利要求所述的網(wǎng)絡(luò)或方法中作為中繼服務(wù)器的網(wǎng)絡(luò)終端。
36.一種應用于根據(jù)權(quán)利要求34所述的網(wǎng)絡(luò)服務(wù)器中的編碼在數(shù)據(jù)載體上的計算機程序,該程序用于實現(xiàn)根據(jù)權(quán)利要求18到33中任一權(quán)利要求所述的方法。
37.一種應用于根據(jù)權(quán)利要求35所述的網(wǎng)絡(luò)終端中的編碼在數(shù)據(jù)載體上的計算機程序,該程序用于實現(xiàn)根據(jù)權(quán)利要求18到33中任一權(quán)利要求所述的方法。
全文摘要
一種數(shù)據(jù)通信網(wǎng)絡(luò)包括多個終端和一個主服務(wù)器,該主服務(wù)器通過至少一個目標終端管理來自第一服務(wù)器的數(shù)據(jù)的選擇性檢索。一些或所有的終端被作為中繼服務(wù)器,用于將從所述第一服務(wù)器檢索的數(shù)據(jù)提供給至少一個目標終端。該網(wǎng)絡(luò)包括一個網(wǎng)絡(luò)信息數(shù)據(jù)庫,并且根據(jù)存儲在網(wǎng)絡(luò)信息數(shù)據(jù)庫中的終端性能信息,主服務(wù)器選擇至少一個目標終端作為中繼服務(wù)器,該中繼服務(wù)器用于將數(shù)據(jù)提供給其他目標終端。作為中繼服務(wù)器的終端根據(jù)進一步目標終端的相關(guān)性能,選擇其他的下行目標終端作為進一步的中繼服務(wù)器。這樣,主服務(wù)器上的負載就被分配到了所有中繼服務(wù)器中,以提供改進的網(wǎng)絡(luò)性能。
文檔編號H04L29/06GK1557085SQ02818610
公開日2004年12月22日 申請日期2002年7月31日 優(yōu)先權(quán)日2001年8月2日
發(fā)明者勞里·瓦利亞卡, 勞里 瓦利亞卡, 利羅·卡雷斯涅米, 卡雷斯涅米 申請人:E-3解決方案有限公司