專利名稱:在服務器與客戶機終端之間使用緩存管理來發(fā)送對象的方法、相應的傳輸系統(tǒng)、服務器及終端的制作方法
技術領域:
本發(fā)明的領域是經(jīng)由通信網(wǎng)絡的數(shù)據(jù)傳輸。更確切地說,本發(fā)明涉及的是交互式顯示數(shù)據(jù)的傳輸以及相應的緩存管理。
背景技術:
目前,在通信網(wǎng)絡方面所進行的卓越研發(fā)使得用戶能以交互方式實時顯示例如圖像、文本、幾何模型或3D場景模型。通常,用戶借助一個恰當?shù)慕K端而與一個遠程服務器相連,這個遠程服務器將用戶執(zhí)行該顯示所需要的全部信息都集中在一個數(shù)據(jù)庫中(應該注意的是,盡管在此情況下使用的是術語“顯示”,但是這類信息也可以包括各種類型的數(shù)據(jù),尤其是聲音數(shù)據(jù)、分頁數(shù)據(jù)等等)。
這樣一來,舉例來說,用戶可以訪問那些使之能在3D虛擬環(huán)境中移動的全新應用,舉例來說,所述3D虛擬環(huán)境可以是虛擬博物館、地形地貌或古典音樂音樂會。因此在這些應用上下文中,服務器根據(jù)用戶在場景中的位置而將重建全局場景需要的信息連同場景中進入用戶視野(或聽覺區(qū)域)的不同對象的信息一起發(fā)送到客戶機。
特別地,本發(fā)明適合那些用戶為了以后使用而可以經(jīng)由數(shù)據(jù)服務器訪問的所有類型信息的傳輸和存儲,但是并不僅限于此。
舉例來說,為了能夠(像上面描述的那樣)實時顯示場景或視頻,用戶終端通常與一個保存了終端實時再現(xiàn)場景所需要的所有信息的高速緩存相關聯(lián)。
這類高速緩存通常存儲了“過去”數(shù)據(jù),也就是那些終端已經(jīng)用以再現(xiàn)了場景或圖像的數(shù)據(jù),但是這些數(shù)據(jù)根據(jù)用戶需要而有可能在稍后得到使用。此外,所述高速緩存還保存了“當前”數(shù)據(jù),也就是終端當前正在使用的數(shù)據(jù),并且所述高速緩存最終有可能還保存了終端近期所必需的“未來”數(shù)據(jù),這些“未來”數(shù)據(jù)源自服務器對用戶需要所做的預期。
很容易理解的是,服務器發(fā)送的信息量以及在高速緩存中需要管理的信息量都是相當大的,在用戶想要顯示諸如大型三維場景這類極大的數(shù)據(jù)項的情況下則更是如此。
目前可以引入幾種方法來對那些涉及在客戶機與相應服務器之間進行大量數(shù)據(jù)交換的問題加以解決,其中尤其包括-置換算法,該算法可用于在緩存填充率很高的時候選擇所要刪除的存儲數(shù)據(jù),以便釋放存儲空間,-傳輸方法,該方法對服務器選擇發(fā)送到客戶機的數(shù)據(jù)以及這些數(shù)據(jù)的傳輸方式進行控制。
目前已知有兩種主要方法用于在客戶機與服務器之間創(chuàng)建對話并將發(fā)送到客戶機的信息告知服務器。
特別地,在J.H.P.Chim等人發(fā)表于VRST’98第24~34頁的“Multi-Resolution Model transmission in Distributed VirtualEnvironments”一文中描述了第一種已知的傳輸方法。
根據(jù)第一種方法,服務器可以在四個連續(xù)步驟中發(fā)送客戶機想要顯示的數(shù)據(jù)-在一個步驟,客戶機終端將涉及用戶在所顯示場景中的位置的信息發(fā)送到服務器;-當服務器接收到這個位置信息時,它對用戶需要的所有對象進行計算,并且在第二個步驟中發(fā)送對象的必要的<O,L0>對的列表,其中O是對象坐標,L0是與之對應的細節(jié)級別;-然后,作為其緩存內(nèi)容的一個函數(shù),客戶機終端使用這個列表來選擇與其希望接收的對象相對應的配對,并且在第三個步驟中將其選擇結果發(fā)送到服務器;-在第四個步驟,服務器傳送客戶機終端請求的對象。
這種依照現(xiàn)有技術的技術方法的一個缺陷在于每次當用戶在場景中的位置發(fā)生變化的時候,并且由此每次在服務器需要向用戶發(fā)送一個或幾個新對象的時候,在用戶通過其高速緩沖存儲器訪問一個或多個必要對象之前,服務器與客戶機終端之間將會需要進行兩次以往返移動為形式的完整數(shù)據(jù)交換。
因此,這類技術方法不適合那些經(jīng)由等待時間很長的通信網(wǎng)絡所進行的數(shù)據(jù)傳輸;對這類網(wǎng)絡而言,這類技術方法不能實時顯示服務器發(fā)送的數(shù)據(jù)。
第二種已知的傳輸方法是在J.H.P Chim等人發(fā)表于Proceedingsof the sixth ACM international conference on Multimedia,1998的第171~180頁的“On Caching and Prefetching of Virtual Objects inDistributed Virtual Environments”一文中描述的。
這種方法尤其適合傳輸漸進編碼的對象,根據(jù)第二種方法,客戶機終端將其在顯示場景中的每次移動的信息連同位置信息和涉及其緩存內(nèi)容的信息一起以<O,L0>對的形式發(fā)送到服務器。同樣,O表示的是客戶機高速緩存中包含的對象的坐標,而L0則將關聯(lián)于所述對象的細節(jié)級別告知服務器。
然后,作為用戶在場景中的位置的一個函數(shù),服務器對在視覺方面相關的所有對象進行計算,檢查用戶高速緩存中是否存在這些對象并且將所有那些丟失的對象全都發(fā)送到客戶機。
在使用這種方法的情況下,有必要在客戶機與服務器之間進行單個往來,以便將顯示場景所需要的數(shù)據(jù)傳送到客戶機。
然而,這種依照現(xiàn)有技術的技術方法的缺陷在于它耗費了很多網(wǎng)絡資源,尤其是帶寬方面的資源。對用戶在場景中每一次移動來說,客戶機終端將與其緩存內(nèi)容有關的所有信息(也就是與其緩存中包含的對象相對應的所有<O,L0>對)都傳送到服務器。
因此,對大型場景的顯示而言,從客戶機終端發(fā)送到服務器的信息量是非常大的,特別地,對低速通信網(wǎng)絡而言,這個問題是很難解決的。
發(fā)明內(nèi)容
本發(fā)明的一個目的是克服依照現(xiàn)有技術所帶來的缺陷。
更確切地說,本發(fā)明的一個目的是提供一種技術方法,用于將實時顯示大量數(shù)據(jù)所需要的信息從服務器發(fā)送到客戶機終端,從而將服務器與客戶機終端之間的傳輸減至最少。
本發(fā)明的另一個目的是實施這類簡單并且易于執(zhí)行的數(shù)據(jù)傳輸方法。
本發(fā)明的另一個目的是借助一個通信網(wǎng)絡來提供這種數(shù)據(jù)傳輸技術,其中該技術適合任何類型的網(wǎng)絡,特別地,所述技術同樣適合等待時間很長的網(wǎng)絡以及低速網(wǎng)絡。
本發(fā)明的另一個目的是通過實施這種數(shù)據(jù)傳輸技術來避免服務器到客戶機終端的數(shù)據(jù)傳輸冗余。
本發(fā)明的還有一個目的是提出這樣一種數(shù)據(jù)傳輸技術,該技術消除或者至少減少了客戶機終端發(fā)送到服務器的數(shù)據(jù)請求。
這些目的以及稍后將會清楚的其他目的是借助了一種通過服務器和至少一個客戶機終端之間的至少一個通信網(wǎng)絡而對名為對象的數(shù)據(jù)進行傳輸?shù)姆椒▉韺崿F(xiàn)的,至少一個保存了由所述服務器發(fā)送的至少一些對象的高速緩沖存儲器與所述網(wǎng)絡內(nèi)部至少一個所述客戶機相關聯(lián)。
根據(jù)本發(fā)明,管理在與所述客戶機終端之一相關聯(lián)的所述高速緩沖存儲器中的至少一個對象列表,以便對涉及所述客戶機終端與所述服務器之間的所述高速緩沖存儲器內(nèi)容的信息交換加以限制。
因此,本發(fā)明基于一種管理高速緩沖存儲器的全新發(fā)明方法。本發(fā)明尤其依賴于一種全新的有利思想,那就是在數(shù)據(jù)服務器可以訪問的客戶機終端的輸入端(上游)上維護一個表示與客戶機相關聯(lián)的高速緩存的內(nèi)容的列表。這樣一來,通過使用這種解決方案,服務器可以隨時了解客戶機高速緩存的內(nèi)容而不需要在服務器上復制這些內(nèi)容。因此,本發(fā)明提供了這樣一種解決方案,就資源尤其是用于服務器的存儲器而言,所述解決方案并不昂貴,但是該方案可以在客戶機顯示場景或一組對象的時候顯著減少那些在服務器與客戶機之間交換的信息。特別地,對低容量客戶機終端或性能有限的通信網(wǎng)絡而言,這類解決方案是非常有利的。
目前存在幾種已知的幾種技術方法,特別地,在專利文獻US6,098,064和US5,956,039中描述了這些技術,這些技術方法旨在管理服務器與客戶機終端之間的交換場景中的對象列表或文檔列表。然而不論是就形式還是功能而言,這些列表與依照本發(fā)明的列表都存在著很大差別。
因此,專利文獻US6,098,064描述的是一種用于判定計算機高速緩沖存儲器中所保存文檔(尤其是網(wǎng)頁形式)的技術,以此作為用戶以后需要這些文檔的概率的一個函數(shù)。在使用這種技術方法的情況下,通過列舉終端高速緩沖存儲器中給出的文檔或是用戶以后可能感興趣的文檔而擬定了一個需要列表。
與依照本發(fā)明的列表所不同,上述列表的功能并不是在客戶機顯示文檔時減少服務器與客戶機終端之間交換的次數(shù)和/或信息量,并且所述列表也無法用于這個目的。
專利文獻US5,956,039介紹的是一種用于改進3D場景中的實時導航系統(tǒng)性能的技術方法。這種類型的技術方法包括為場景中的不同對象分配優(yōu)先級,由此客戶機終端首先接收的是具有最高優(yōu)先級的對象。而這些優(yōu)先級則是在一個數(shù)據(jù)庫中得到管理的,其中該數(shù)據(jù)庫包含了關于當前場景中的每個對象的信息。
然而,這個數(shù)據(jù)庫不是在客戶機終端的輸入端(上游)得到管理的,由此不能像本發(fā)明那樣解決減少服務器與終端之間交換的技術問題。
非常有利的是,對至少一個所述對象來說,每一個所述對象的標識符都與再現(xiàn)所述對象的信息一起保存在所述列表中。
因此,服務器不但可以訪問客戶機高速緩存中包含的對象列表,而且可以訪問客戶機再現(xiàn)對象時所在的再現(xiàn)級別。
優(yōu)選地,關于至少一個所述對象的所述再現(xiàn)信息與所述對象的優(yōu)化(refinement)級別相關聯(lián)。
因此,舉例來說,服務器可以知道客戶機終端是否能以粗糙或細節(jié)形式再現(xiàn)對象。
優(yōu)選地,所述列表包含了用于所述高速緩沖存儲器中保存的各個所述對象的<O,L0>對,其中所述<O,L0>對包含了所述對象的所述O標識符以及所述對象的所述再現(xiàn)信息L0。
根據(jù)本發(fā)明的一個有利特征,至少一個名為顯示信息的有關所述客戶機終端和/或所述客戶機終端用戶的信息項與每個所述客戶機終端的所述列表相關聯(lián),由此形成了一個上下文。
對每一個連接到服務器的客戶機而言,服務器管理包括關聯(lián)于客戶機的高速緩存狀態(tài)的典型列表以及顯示信息。特別地,這類信息可以表示客戶機終端容量及其執(zhí)行方法的速度。
優(yōu)選地,所述顯示信息屬于包括以下信息的群組-所述用戶的位置信息;-所述用戶的觀察方向;-所述對象的選擇參數(shù)。
例如,這類選擇參數(shù)包括一個對象選擇閾值和一個觀察者視角。對客戶機終端的3D場景顯示而言,位置信息可以用一個3D點的形式來表示,相對于場景中心而言,這個點的坐標與觀察者的位置相對應。而觀察方向則可以用3D矢量的形式來表示。
非常有利的是,所述列表由所述服務器或是所述網(wǎng)絡的中間部件來進行管理。
例如,該列表可以由介于服務器與客戶機之間的代理服務器來管理。然后,服務器可以向所述代理發(fā)送請求,以便確定客戶機高速緩存的內(nèi)容狀態(tài)。由于產(chǎn)生了更多的信息交換,因此這種解決方案的性能很低,但在服務器與代理經(jīng)由一個高性能網(wǎng)絡相連并且有必要“減輕”服務器負載(例如服務器性能很低)的情況下,則有可能關注到這種解決方案。
根據(jù)本發(fā)明的一個優(yōu)選實施例,這類方法包括一個預先初始化階段,其中包括用于每個所述客戶機終端的第一傳輸步驟,在第一傳輸步驟中將初始顯示信息發(fā)送到所述服務器,以及一個存儲步驟,在存儲步驟中所述服務器在所述相應上下文中保存所述初始顯示信息。
非常有利的是,所述預先初始化階段還包括一個第二傳輸步驟,在第二傳輸步驟中所述服務器向所述客戶機終端進行傳輸,以便發(fā)送一個將要由所述客戶機終端再現(xiàn)的粗糙版本的場景。
因此,依照本發(fā)明,與根據(jù)現(xiàn)有技術的解決方案所不同,在初始化時并未發(fā)送所有那些包含了客戶機想要顯示的對象的數(shù)據(jù)庫,由此大量節(jié)省了客戶機的存儲器和網(wǎng)絡帶寬。對一個大約100兆比特的數(shù)據(jù)庫來說,我們設想客戶機與服務器是通過一個最高速度為500kb/s的ADSL“非對稱數(shù)字用戶線”類型的網(wǎng)絡相連的。因此,在初始化客戶機與服務器之間連接的時候,將會發(fā)送加載客戶機上所顯示的整個場景所需要的全部基底(base),這至少需要200秒的時間。本發(fā)明免除了初始化時進行這種傳輸?shù)男枰?,因此特別有利于客戶機,因為這意味著客戶機能以幾乎即時的方式來顯示場景的粗糙表示,由此消除了依照現(xiàn)有技術的技術方法所施加的至少200秒即3分鐘以上的較長等待時間。
優(yōu)選地,每一個所述客戶機終端都執(zhí)行了一個將顯示信息的至少一些所述項目在預定時間間隔和/或在修改所述顯示信息時傳送到所述服務器的步驟。
應該指出的是,如果在從最后一次傳輸以來已經(jīng)修改了信息,那么選擇包含在預定時間間隔傳送顯示信息會使傳輸數(shù)目減至最小。
根據(jù)本發(fā)明的第一有利實施例,所述預定時間間隔是由所述客戶機終端確定的。
特別地,舉例來說,作為客戶機用以刷新所顯示場景的頻率的一個函數(shù),所述預定時間間隔可以由客戶機強制確定。
根據(jù)本發(fā)明的第二有利實施例,所述預定時間間隔取決于所述通信網(wǎng)絡的至少一個特性。
特別地,舉例來說,這些時間間隔可以取決于網(wǎng)絡負載或是網(wǎng)絡的吞吐量或等待時間。
優(yōu)選地,在所述客戶機終端實施的所述傳送步驟末端,所述方法將會執(zhí)行在相應的所述上下文內(nèi)部更新所述顯示信息的步驟。
優(yōu)選地,在這個更新步驟末端,所述服務器將會執(zhí)行以下步驟-確定步驟,作為至少一些所述經(jīng)過更新的顯示信息的函數(shù),所述步驟確定所述客戶機終端需要的至少一個標識符對象O以及相應的再現(xiàn)級別L0;-對表示與所述客戶機終端相關聯(lián)的所述高速緩沖存儲器的所述列表進行分析,以便在具有所述客戶機終端需要的與一個或多個所述標識符對象O相對應并且再現(xiàn)級別為L0的<O,L0>對的情況下,識別所述<O,L0>對,而不是將其存儲在所述列表中的步驟;-在具有所述客戶機終端需要的一個或多個再現(xiàn)級別為L0的所述標識符對象O的情況下,將所述標識符對象發(fā)送到所述客戶機終端的步驟,其中所述標識符對應于所述列表中并未存儲的一個或多個所述<O,L0>對;-對表示與所述客戶機終端相關聯(lián)的所述高速緩沖存儲器的所述列表進行更新,由此在具有一個或多個與所述發(fā)送的一個或多個對象相對應的所述<O,L0>對的情況下,將所述<O,L0>對添加到客戶機終端中的步驟。
確定客戶機需要的一個或幾個對象的步驟可以是作為客戶機上下文中所保存信息的一個函數(shù)而由服務器執(zhí)行的計算的結果。舉例來說,這類計算還可以在建立客戶機連接之前由與服務器相關聯(lián)的獨立計算實體來完成;然后,判定步驟包括服務器對這個計算結果進行查看,從而識別出一個或多個作為與客戶機相關聯(lián)的顯示信息的函數(shù)的必要對象。因此,與依照現(xiàn)有技術的技術方法相比,本發(fā)明提供了一種將客戶機需要的對象計算從客戶機終端轉(zhuǎn)移到服務器或與之相關的計算實體的手段。
非常有利的是,所述服務器還可以使用-根據(jù)至少一個預定概率判據(jù)來確定所述客戶機終端需要的至少一個再現(xiàn)級別為L0的標識符對象O的步驟;-預先將具有再現(xiàn)級別L0的所述至少一個標識符對象O發(fā)送到所述客戶機終端的步驟。
例如,作為觀察者先前位移變化的一個函數(shù),服務器對觀察者向場景中某個對象移動的概率進行評估,如果這個概率大于預定閾值,則在其實際繼續(xù)沿同一方向移動的情況下,服務器將會主動發(fā)送一個客戶機近期需要的對象。
優(yōu)選地,在接收所述服務器發(fā)送的至少一個對象的時候,所述客戶機終端將會執(zhí)行以下步驟-如果與所述客戶機終端關聯(lián)的所述高速緩沖存儲器的填充率小于預定閾值,則在所述高速緩沖存儲器中執(zhí)行保存所述接收對象的步驟;-否則執(zhí)行一個用于評估所述接收對象的相關性判據(jù)的步驟;-如果保存在所述高速緩沖存儲器中的至少一個所述對象具有一個值比所述接收對象的所述相關性判據(jù)更小的相關性判據(jù),則所述客戶機終端執(zhí)行從所述高速緩沖存儲器中刪除所述相關性較低的對象的子步驟以及將所述接收對象保存在所述高速緩沖存儲器中的子步驟。
-否則,所述客戶機終端執(zhí)行拒絕所述接收對象的子步驟。
舉例來說,這種相關性判據(jù)可以取決于對象與觀察者之間的距離。
根據(jù)本發(fā)明的一個有利特征,在所述消除子步驟和/或所述拒絕子步驟之后,所述客戶機終端向所述服務器發(fā)送至少一個信息項,以便更新與所述客戶機終端相關聯(lián)的所述高速緩沖存儲器,由此所述服務器從表示所述高速緩沖存儲器的所述列表中消除至少一個與所述刪除子步驟中刪除的所述對象和/或在所述傳送步驟中由所述服務器發(fā)送的對象相對應的<O,L0>對,而沒有將其保存在所述高速緩沖存儲器中。
優(yōu)選地,至少一些所述對象包含至少一個索引,由此能夠有選擇地發(fā)送一部分始于所述相關索引的所述對象。
特別地,舉例來說,這些對象可以是下列類型的數(shù)據(jù)之一-2D圖像;-網(wǎng)格;-紋理;-聲音;-幾何模型;-3D場景;-視頻數(shù)據(jù);-分頁數(shù)據(jù)。
很明顯,這個列表并非窮舉而僅僅是用于說明目的。
本發(fā)明還涉及一種用于通過服務器和至少一個客戶機終端之間的至少一個通信網(wǎng)絡來傳送名為對象的數(shù)據(jù)的系統(tǒng),至少一個高速緩沖存儲器被設計成保存所述服務器發(fā)送的至少一些所述對象,所述高速緩沖存儲器則與所述網(wǎng)絡內(nèi)部的至少一個所述客戶機終端相關聯(lián)。
根據(jù)本發(fā)明,這類系統(tǒng)可以包括處于所述客戶機終端的輸入端的管理裝置,用于管理與在與所述客戶機終端之一相關聯(lián)的所述高速緩沖存儲器中給出的至少一個對象列表,從而限制那些涉及所述客戶機終端與所述服務器之間的所述高速緩沖存儲器內(nèi)容的信息交換。
本發(fā)明還涉及一種用于名為對象的數(shù)據(jù)的數(shù)據(jù)服務器,所述服務器經(jīng)由至少一個通信網(wǎng)絡而與至少一個客戶機終端相連,至少一個高速緩沖存儲器被用于保存所述服務器發(fā)送的至少一些所述對象,所述服務器與所述網(wǎng)絡內(nèi)部的至少一個所述客戶機終端相關聯(lián)。這類服務器包括對在關聯(lián)于至少一個所述客戶機終端的所述高速緩存中給出的至少一個對象列表進行管理的裝置,以便限制與所述相關客戶機終端所進行的信息交換,其中所述信息對應于與所述高速緩沖存儲器的內(nèi)容相關的信息。
本發(fā)明還涉及一種用于如上所述的數(shù)據(jù)服務器的客戶機終端,包括將至少一個更新信息項發(fā)送到所述服務器,以使所述服務器更新關聯(lián)于所述終端的表示所述高速緩沖存儲器的所述列表的裝置。
在閱讀了以下關于優(yōu)選實施例的描述以及附圖之后,可以更清楚地了解本發(fā)明的其他特征和優(yōu)點,其中所述優(yōu)選實施例是作為示范性而不是限制性實例給出的,并且其中-圖1介紹的是適合本發(fā)明的實施方式的客戶機-服務器架構的框圖;-圖2描述的是依照本發(fā)明而在服務器上添加對象列表管理模塊而被實現(xiàn)的圖1的架構;-圖3描述的是依照本發(fā)明使用的客戶機-服務器對話的一個實例;-圖4a到4c顯示的是處于由幾何小波編碼的3D模型上下文內(nèi)部的本發(fā)明的例示實施例;-圖5描述的是用于使用非漸進細節(jié)級別的對象的本發(fā)明實施例的第二實例;-圖6顯示的是依照本發(fā)明而由服務器在顯示階段使用的不同步驟的框圖;-圖7描述的是依照本發(fā)明而在初始階段使用的不同步驟;-圖8顯示的是依照本發(fā)明而在客戶機終端接收對象的過程中使用的不同步驟的框圖。
具體實施例方式
本發(fā)明的一般原理基于在客戶機終端(上游)的輸入端上對與終端相關聯(lián)的高速緩沖存儲器中給出的對象列表進行管理,以便減少客戶機終端將對象請求所定址的服務器與客戶機終端自身之間的信息交換。
本文檔的剩余部分描述的是本發(fā)明的一個特殊應用,其中通過通信網(wǎng)絡來進行漸進數(shù)據(jù)傳輸,以便由客戶機實時顯示場景(應該記住的是,本發(fā)明不僅限于對象顯示,而且還可用于偵聽聲音對象等等)。
現(xiàn)在我們將參考圖1來描述一個可以在本發(fā)明的上下文內(nèi)部使用的例示網(wǎng)絡架構。
這種類型的網(wǎng)絡架構是一個客戶機-服務器架構。高速緩存1與客戶機2相關聯(lián)這個高速緩存1能夠保存那些由服務器3經(jīng)由通信網(wǎng)絡3發(fā)送的數(shù)據(jù)。
在高速緩存1中保存的數(shù)據(jù)既可以是“當前”數(shù)據(jù)(也就是在客戶機終端2中使用的數(shù)據(jù)),也可以是“未來”數(shù)據(jù)(也就是計劃稍后使用的數(shù)據(jù))或是“過去”數(shù)據(jù)(也就是先前用過而現(xiàn)在則至少臨時舍棄的數(shù)據(jù))。
高速緩存1既可以集成在客戶機終端2中,也可以僅僅與客戶機終端2相關聯(lián),同時仍舊處于網(wǎng)絡中的另一點;舉例來說,高速緩存1可以集成在圖1并未顯示的服務器3與客戶機2之間的中間服務器上,尤其是代理類型的服務器。在本發(fā)明的一個變體實施例中,高速緩存1可以由若干個客戶機2共享。為了簡化起見,本文檔的剩余部分僅限于描述本發(fā)明的特定實施例,其中將高速緩存1集成在客戶機終端2中。
作為屏幕上所要顯示的對象的可視性的一個函數(shù),客戶機終端2對選擇這些對象所需要的一組信息進行管理,其中舉例來說,所述信息可以是客戶機在所顯示場景中的位置、觀測方法以及所要顯示或再現(xiàn)的對象的選擇參數(shù),例如對象選擇閾值、視角等等。
服務器3對聚合了客戶機2想要顯示的一組對象的數(shù)據(jù)庫5進行管理。優(yōu)選地,在數(shù)據(jù)庫5的內(nèi)部,這些對象是由服務器3和客戶機2都能識別的單個標識符來引用的。舉例來說,這些對象可以是漸進傳輸?shù)?D網(wǎng)格、聲音或其他類型的原始數(shù)據(jù)。數(shù)據(jù)庫5還可以包括客戶機終端2再現(xiàn)場景所需要的具有不同特性的若干個對象;舉例來說,如果客戶機2想要顯示的是一場古典音樂音樂會,那么數(shù)據(jù)庫5可以包括以圖形方式再現(xiàn)場景的3D對象以及再現(xiàn)樂器所產(chǎn)生的聲音的3D聲音。
根據(jù)本發(fā)明的一個優(yōu)選實施例,如圖2所示,服務器3還對涉及客戶機2的高速緩存1的列表6進行管理。根據(jù)本發(fā)明的一個變體,這個列表6是在客戶機2的輸入端而不是服務器3上得到管理的,舉例來說,所述列表是在圖2并未顯示的客戶機2與服務器3中間的代理服務器中得到管理的。為了簡化起見,我們在本文檔的剩余部分只描述本發(fā)明的特定實施例,其中列表6由服務器3管理,但是本領域技術人員很容易從本描述中推導出當在服務器3外部即客戶機終端2的上游管理列表6的情況下所實施的本發(fā)明實施例。
列表6是由一組<O,L0>對構成的,其中O是對象標識符,L0則對應于所設想的對象再現(xiàn)級別,并且其中將所述<O,L0>對傳送到客戶機終端2。如參考圖4和5而在文檔剩余部分中所描述的那樣,L0可以依照所用對象O的類型而采用若干種不同的形式。
服務器3還可以在圖2并未顯示的客戶機上下文內(nèi)部管理一組關聯(lián)于列表6的客戶機終端和/或客戶機2的信息。例如,這個信息包括客戶機在與所顯示場景相關聯(lián)的基底中的位置,客戶機的觀察方向以及所顯示對象的選擇參數(shù)(尤其是選擇閾值和場景中的對象的視角)。
在本發(fā)明的上下文中,可以使用圖2中給出的架構來將一些與顯示數(shù)據(jù)選擇有關的計算從客戶機終端2轉(zhuǎn)移到服務器3,由此有利減少了客戶機2與服務器3之間的交換。在說明書剩余部分將通過參考圖3更詳細地描述本發(fā)明的這個方面。
參考圖7,在圖2中的架構上下文中,描述在服務器3與客戶機2之間的對話初始化階段中包含的不同步驟。因此,一些數(shù)據(jù)是在將客戶機2與服務器3相連的時候傳送的,由此初始化所述服務器3。
在步驟索引71,客戶機終端2將諸如客戶機在所顯示場景中的位置、其方向、視角或?qū)ο筮x擇閾值之類的初始顯示信息傳送到服務器3(尤其是以此作為客戶機2想要獲取的細節(jié)級別的一個函數(shù))。應該注意的是,如本文檔的剩余部分所述,作為所設想對象類型的一個函數(shù),選擇閾值的類型可能會發(fā)生變化。
在存儲步驟72,服務器3將初始接收的顯示信息保存在與客戶機終端2相關聯(lián)的上下文中。
服務器3于是可以在名為映射的操作中向客戶機終端2發(fā)送(73)所再現(xiàn)場景的一個粗糙版本。這類映射與數(shù)據(jù)庫5的一個基礎版本相對應,并且能使客戶機2在開始連接的時候顯示至少一個將要顯示在其終端上的場景的粗糙視圖。
特別地,當客戶機2接收到這個映射時,它可以在高速緩存1內(nèi)部創(chuàng)建保存那些從服務器3接收的數(shù)據(jù)所需要的不同子高速緩存。
根據(jù)本發(fā)明,在這里確定將所有那些從服務器3接收的相同類型的對象都保存在子高速緩存中。如果所顯示場景中的所有對象都具有相同特性,則沒有必要在高速緩存1內(nèi)部創(chuàng)建子高速緩存。在特定實施例中,客戶機2在其終端上顯示的是地形,而較為優(yōu)選的是,在高速緩存1內(nèi)部創(chuàng)建對那些與地域幾何形狀相關的數(shù)據(jù)加以保存的第一子高速緩存,以及保存地域紋理的第二子高速緩存。
在這類初始化階段之后,客戶機2與服務器3可以發(fā)送和接收那些來自基底5的數(shù)據(jù),以便由客戶機2顯示所設想的場景。
我們現(xiàn)在參考圖3和6來描述在顯示客戶機終端2再現(xiàn)場景的過程中所進行的客戶機-服務器對話。
這種顯示階段的一般原理基于客戶機2將信息發(fā)送到服務器3,而服務器3將所述信息保存在與客戶機2相關聯(lián)的上下文中,然后則使用該信息來向客戶機2發(fā)送繼續(xù)顯示場景所需要的數(shù)據(jù)或?qū)ο蟆?br>
這個信息具有不同的特性,特別地,所述信息可以由客戶機2以不同的頻率來加以修改。這樣一來,由于客戶機2或者更確切的說,與客戶機相關聯(lián)的觀察者是在場景中四處移動和瀏覽場景的,因此只要顯示了場景,則要對涉及所再現(xiàn)場景中的客戶機位置及其觀測方向的信息進行修改。
在圖3中用實線顯示的一個或多個箭頭表示了將這個信息從客戶機2傳送到服務器3的過程。這個過程是在一個可以由客戶機2定義(例如每隔5秒)的頻率上完成的,或者所述頻率作為網(wǎng)絡4與終端2的容量的一個函數(shù)而被確定(舉例來說,對高速網(wǎng)絡而言,可以將發(fā)送顯示信息的頻率固定在2秒,而對低速網(wǎng)絡而言則是6秒)。非常有利的是,這個信息的傳輸(a)同樣依賴于一個事件相關判據(jù),以限制客戶機2與服務器3之間的交換(a)數(shù)目因此,除非在最后一次向服務器3發(fā)送(a)了位置和觀測方向信息之后修改了該信息,否則不會進行位置及觀測方向信息的傳輸(a)。
舉例來說,如果客戶機2在最后一次向服務器3發(fā)送(a)了位置和觀測方向信息之后在場景中進行了移動,那么將會在5秒之后再次發(fā)送那些經(jīng)過修改的信息(如果將傳輸頻率固定在5秒)。
根據(jù)本發(fā)明,在進行發(fā)送(a)的時候,客戶機2不會等待來自服務器3的響應,因此,這個傳輸是以無連接模式(例如UDP(用戶數(shù)據(jù)報協(xié)議)類型)進行的。
如圖6所示,在接收61到客戶機2發(fā)送(a)的方向和位置信息時,服務器3更新62與客戶機2相關聯(lián)的上下文,從而將新的接收位置和方向信息存儲在所述上下文中。
而諸如所發(fā)送對象的選擇參數(shù)或是高速緩存1的更新信息之類的其它信息則最好依照一個事件相關判據(jù)即所述信息的修改來進行發(fā)送。在圖3中,這類從客戶機2到服務器3的傳輸是由虛線形式顯示的箭頭(b)來表示的。在接收時,服務器3將這個信息保存在列表6(用于緩存更新信息)中,而更為普遍的則是將其保存在與客戶機2相關聯(lián)的上下文中。
因此,對用于客戶機2的高速緩存1的更新信息來說,在每次發(fā)生下列情況的時候,所述信息都是以與高速緩存1(或是高速緩存1的子高速緩存之一)中所給出對象相對應的<O,L0>對列表的形式傳送到服務器3的-客戶機終端2從高速緩存1中刪除一個或幾個對象,以便保存服務器3發(fā)送的新對象;或者-當客戶機終端2拒絕服務器3發(fā)送的一個或幾個對象的時候。
在下文中將結合圖8來對這些方面進行更詳細的描述,其中圖8描述的是客戶機終端2在接收了服務器3發(fā)送的對象之后實施的方法。
O表示的是場景中的對象的標識符,L0則是關于對象O的再現(xiàn)細節(jié)級別的信息。很明顯,L0的結構取決于對象類型O和用于對相關細節(jié)級別進行編碼的方法。因此,如下文中參考圖4和5所述,L0可以是一個表示細節(jié)級別的值(舉例來說,如果本發(fā)明使用了一種HOLD“分層的細節(jié)級別”技術),或是一組對對象O的幾何優(yōu)化進行編碼的典型值。
同樣,對象選擇參數(shù)(例如對象選擇閾值,視角或任何其它用于修改對象選擇的信息)是在值被修改的時候發(fā)送的。舉例來說,在這里可以設想客戶機2能在顯示階段決定對在初始化階段中定義的選擇閾值進行修改,以便降低這個閾值,從而給出一個更細致的場景再現(xiàn)。
應該記得的是,這類選擇閾值可以通過多種不同方式來定義,特別地,它可以通過度數(shù)、投影像素、大小等參數(shù)而被評估。因此,當在客戶機終端2的屏幕上顯示了對象之后,服務器3可以只將虛擬觀察者在1°或更大角度上看到的對象發(fā)送到客戶機2。舉例來說,對一個與小波編碼的網(wǎng)格相關聯(lián)的對象而言,所述選擇閾值可以是固定的,由此它只選擇那些引入了大于或等于2°的網(wǎng)格失真的小波系數(shù)。如果所設想的對象是一個聲音,那么選擇閾值可以取決于這個聲音的頻率或是持續(xù)時間。選擇閾值和所有其他選擇參數(shù)都可以通過任何其他方法來定義,以使服務器3能夠選擇將要發(fā)送到客戶機2的相關對象。
根據(jù)與客戶機2相關聯(lián)的上下文中所包含的信息(位置信息、觀測方向信息、選擇參數(shù)、關于高速緩存1的內(nèi)容的信息),服務器3將那些在視覺上相關的對象或數(shù)據(jù)傳送到客戶機2。這個傳送是由圖3中顯示的連續(xù)灰色箭頭(c)來表示的。對視覺相關對象的判定可以源于服務器3或是網(wǎng)絡4中另一個實體執(zhí)行的計算。此外還可以在服務器3與客戶機2之間建立連接之前對所述判定進行計算,并且將其存儲在網(wǎng)絡內(nèi)部,例如將其存入服務器3。
因此,在圖6顯示的特定實施例中,作為客戶機2的上下文中包含的一些或全部顯示信息的一個函數(shù)(例如作為客戶機2的位置和觀測方向信息以及選擇參數(shù)的一個函數(shù)),服務器3在恰當?shù)脑佻F(xiàn)級別確定(63)客戶機終端2需要的一個或多個對象。
然后,服務器3在恰當?shù)膬?yōu)化級別L0對與客戶機終端2的高速緩存1相關聯(lián)的列表6進行分析(64),以便確定在客戶機2的高速緩存1中是否保存了客戶機2所需要的一個或多個對象,其中所述列表是作為最近接收的更新數(shù)據(jù)的一個函數(shù)而被更新的。
如果沒有的話,則服務器3將這個或這些對象發(fā)送(65)到客戶機終端2。
根據(jù)本發(fā)明,如果服務器預期那些客戶機2仍不需要的對象會在不久的將來變得必不可少,則可以執(zhí)行一種預測方法以使服務器3能夠發(fā)送(c)所述對象。舉例來說,如果服務器3確定客戶機2沿同一方向移動了若干次,那么它可以向這個客戶機2發(fā)送(C)一個尚未關聯(lián)客戶機2的對象,其中如果客戶機2繼續(xù)沿相同方向移動,則所述對象不久將會進入客戶機視野。
在執(zhí)行這個傳輸(c)的時候,設想在高速緩存1中保存了發(fā)送到客戶機的所有數(shù)據(jù),則服務器3以<O,L0>對的形式添加那些發(fā)送(c)到客戶機2的數(shù)據(jù),從而對關聯(lián)于客戶機2的列表6進行修改。在圖6中,這個更新步驟是由步驟索引66來描述的。這類針對列表6所進行的修改有利地減少了傳輸冗余。所述修改可以在高速緩存1中并未保存由服務器3發(fā)送(c)到客戶機2的一些數(shù)據(jù)的時候進行,例如在出現(xiàn)了涉及網(wǎng)絡的傳輸差錯的情況下,而這種情況將會導致高速緩存1的狀態(tài)與列表6之間喪失一致性。非常有利的是,本發(fā)明包含了一種克服這個問題的方法。而高速緩存1的狀態(tài)與列表6之間的一致性則是如稍后結合圖8更詳細描述的那樣得到維護的。
現(xiàn)在我們將參考圖4A到4C來描述一個由客戶機2執(zhí)行的幾何小波編碼的三維模型的示例顯示。應該記得的是,在這里使用了“小波”編碼方法來表示一個作為連續(xù)細節(jié)添加到基底網(wǎng)格中的網(wǎng)格。特別地,在M.Lounsbery、T.DeRose和J.Warren發(fā)表的“MultiresolutionAnalysis for Surfaces of Arbitrary Topological Type”(ACMTransactionon on Graphics第16卷第1號第34~73頁,1997年1月)一文中對這種技術的一般原理進行了描述。
如上所述,在客戶機-服務器對話的初始化階段之后,服務器3將關于名為基底5的映射的一個粗糙版本發(fā)送到客戶機終端2。舉例來說,對由一組3D模型(如圖4A到4C所示)構成的基底5而言,這個映射對應的是一組以圍繞這些對象的方框41A和42A的位置和大小的形式而向客戶機終端2告知基底5的不同對象的位置和大小的值。
然后,根據(jù)這些對象的可視性(也就是作為它們是否部分或全部處于觀察者視野之中以及與觀察者的距離等等的一個函數(shù)),服務器3將這些對象的基底網(wǎng)格41B、42B發(fā)送到客戶機2。之后,客戶機2使用這些基底網(wǎng)格41B、42B來構造所需要的不同子高速緩存,以便保存那些來自服務器3的數(shù)據(jù),并且創(chuàng)建一個相應的<O,L0>對的初始列表。
在圖4A到4C的實例中,設想每一個基底網(wǎng)格41B、42B都包含了n個表面。因此,由服務器3管理的用于客戶機2的列表6將會包括一組<O,<N1,...,Nn>>對,其中O表示對象標識符,Ni表示的是處于高速緩存1中的用于基底網(wǎng)格41B、42B的表面i的小波系數(shù)。在發(fā)送基底網(wǎng)格41B、42時,用于i[l,n]的Ni值全都初始化為零。
應該注意的是,如果預先為每個表面確定了用于小波系數(shù)的排序次序,那么對服務器3而言,要精確判定存在于客戶機2的高速緩存1中的小波系數(shù),則需要準確了解用于i∈[l,n]的Ni值。因此,如果客戶機2在圖3的步驟(b)中向服務器3告知它具有用于網(wǎng)格41B的第8個表面的30個系數(shù),那么服務器3將會開始發(fā)送與網(wǎng)格41B的第8個表面相關聯(lián)的系數(shù),并且還會發(fā)送從第31個系數(shù)開始的關聯(lián)于客戶機2的系數(shù)。應該記得的是,相關參數(shù)的選擇顧及了客戶機上下文中存儲的顯示信息,例如位置信息、觀測方向信息和選擇參數(shù)。
優(yōu)選地,對用于每個網(wǎng)格表面的系數(shù)進行排序的順序?qū)谄涞竭_客戶機終端2的時候得到保持。
客戶機終端2可以從服務器發(fā)送的用于基底網(wǎng)格41B,41C的每個可視表面的系數(shù)開始而在場景中重建對象的細節(jié)顯示41C、42C。
我們現(xiàn)在參考圖5來為使用了非漸進細節(jié)級別的對象給出本發(fā)明的第二例示實施例。與使用小波編碼技術的先前實例所不同,我們現(xiàn)在給出的是使用四個連續(xù)細節(jié)級別索引51到54來表示一個對象的情況,而在先前實例中可以將對象或部分對象作為用戶視角的函數(shù)來加以優(yōu)化。
與圖4A~4C中的實例一樣,服務器3是通過將數(shù)據(jù)庫5的映射傳送到客戶機2而開始運作的,其中客戶機2將會使用所述映射來了解應該顯示的數(shù)據(jù)。然后,對服務器3設想可能會被看到的基底5中的每個對象而言,服務器3將所述對象的最低細節(jié)級別54(也就是對象的最粗糙版本)發(fā)送到客戶機2。然后,在顯示過程中,服務器3將根據(jù)客戶機2在場景中的位置來發(fā)送更高細節(jié)級別53到51。因此,如果客戶機2逐漸向圖5中的對象移動,那么作為觀察者到對象的距離的一個函數(shù),服務器3將會逐漸發(fā)送細節(jié)級別53,然后是52,再然后是51。
對與對象O相關聯(lián)的優(yōu)化級別L0所進行的編碼依賴于所使用的應用強加的約束條件,尤其是是否有必要按照相關細節(jié)級別來傳送對象。
因此,如果服務器3必須按照對象優(yōu)化級別的順序來向客戶機2發(fā)送對象,那么將會確定將L0設定成與用于對象O的高速緩存1中存在的最高細節(jié)級別的值相等。如果高速緩存1包含了用于對象O的優(yōu)化級別索引54(優(yōu)化級別0)和53(優(yōu)化級別1),那么L0將會等于值“1”。然后,列表6將會包含<O,″1″>對,并且服務器3將會推導出高速緩存1包含了用于對象O的優(yōu)化級別0和1。隨后,如果需要的話,所述服務器只向客戶機2發(fā)送緊接著的更高細節(jié)級別,也就是與優(yōu)化級別“2”相對應的級別索引52。
如果沒有必要按照優(yōu)化級別的順序來進行從服務器3到客戶機2的傳輸,則L0將會表示客戶機高速緩存1中為對象O存儲的所有優(yōu)化級別。舉例來說,在這里可以選擇在若干個比特上對L0進行編碼,這樣一來,對在L0中的位置與客戶機2的高速緩存1中存儲的細節(jié)級別相對應的比特來說,所述比特與值1是相等的。在圖5的實例中,如果客戶機2的高速緩存1包含了分別對應于顯示索引54和52的優(yōu)化級別“0”和“2”,那么L0將會等于0101。然后,服務器3將會知道它可以根據(jù)用戶在場景中的位置(尤其是它與所設想對象的距離及其觀察方向)來發(fā)送分別對應于顯示索引53和51的細節(jié)級別1和3。
同樣,在設想一個與八個連續(xù)細節(jié)級別相關聯(lián)的對象時,如果客戶機2的高速緩存1包含了關于這個對象的細節(jié)級別1、2、4和7,那么L0的值將會是“01001011”。然后,服務器3將會知道它可以基于相關上下文中保存的顯示信息來向客戶機2發(fā)送級別3、5、6和8。
應該注意的是,這類L0編碼并不局限于由多個表面構成的3D對象,而是可以應用于由非漸進細節(jié)級別構成的任何類型的數(shù)據(jù),例如多解析度紋理。
我們現(xiàn)在將對本發(fā)明的第三例示實施例進行簡要描述,該實施例涉及的是聲音或視頻類型的原始數(shù)據(jù)的情況,也可以是分頁數(shù)據(jù)(庫存管理、人事管理等等)的情況。
舉例來說,對原始聲音類型的數(shù)據(jù)而言,服務器3未必需要發(fā)送映射。它還可以對應于服務器3及時傳送一組數(shù)據(jù),例如向客戶機2告知應該在30秒內(nèi)播放或重現(xiàn)小提琴的聲音。例如對這類聲音對象而言,再現(xiàn)信息L0對應于所傳輸數(shù)據(jù)的百分比。因此,舉例來說,L0的值能使服務器3知道在客戶機2的高速緩存1中保存了持續(xù)長達2分30秒的前15秒的聲音。
舉例來說,對分頁數(shù)據(jù)而言,服務器3在初始化過程中發(fā)送的映射與數(shù)據(jù)庫5中用于每個數(shù)據(jù)的頁面總數(shù)相對應。在這種情況下,再現(xiàn)信息L0可以是采用<N,N0,...,Nn>形式的可變數(shù)據(jù),其中N表示的是涉及這個對象的已知頁面數(shù)目(也就是客戶機高速緩存中保存的用于這個對象的頁面數(shù)目),而Ni表示的是第i個頁面的名稱。
我們現(xiàn)在參考圖8來描述當客戶機終端2接收到81到服務器3在圖3的傳輸索引(c)中發(fā)送的一個或幾個對象OR的時候所實施的不同步驟。為了簡化起見,我們只描述服務器3向客戶機2發(fā)送單個對象OR的情況。然而從這種情況中很容易導出在客戶機2和/或高速緩存1接收若干個對象OR的情況下所使用的技術。
在步驟索引82,客戶機終端檢查與之關聯(lián)的高速緩存1的填充率。如果沒有將高速緩存1集成到終端2中,則這個檢查是由負責管理高速緩存1的實體執(zhí)行的,例如由一個集成了高速緩存1的代理服務器來執(zhí)行。
如果高速緩存1的填充率小于預定填充閾值,并且由此表明可以在高速緩存1中保存一個或幾個新對象,則將接收到的對象OR存儲(83)在客戶機2的高速緩存1中。
否則,在現(xiàn)有狀態(tài)中不能將來源于服務器3的對象OR保存在高速緩存1中。然后則判定(84)高速緩存1中是否存在一個對象OS,其中與用于觀察者的接收對象OR相比,所述對象在視覺方面的相關性較小。舉例來說,這種類型的對象OS可以是因為近期位移或是客戶機2的觀察方向的改變而處于客戶機2視野之外的對象。
如果存在一個這種相關性較小的對象OS,則從高速緩存1中將其刪除(86),由此可以將來自服務器3的新對象OR存入OS在高速緩存1的位置。
然后,客戶機終端2通過發(fā)送(87)信息來更新高速緩存1的狀態(tài),從而向服務器3告知已經(jīng)從高速緩存1中刪除了對象OS并且已經(jīng)相應保存了對象OR。
另一方面,如果高速緩存1保存的所有對象在視覺上都比來源于服務器3的對象OR更為相關,那么負責管理高速緩存1的實體(例如客戶機終端2)將會拒絕這個對象OR。
然后,客戶機終端2發(fā)送一個用于高速緩存1的狀態(tài)的更新信息,以便向服務器3告知它不能將對象OR保存在高速緩存1中。
服務器3還使用這個更新信息來保持高速緩存1的狀態(tài)以及表示其內(nèi)容一致的列表6。特別地,在接收了這個更新信息之后,服務器3可以對其發(fā)送到客戶機2的所有對象進行檢查,由此在客戶機2和/或高速緩存1無錯接收對象的情況下其添加到列表6中的對象進行檢查。特別地,由此可以對那些可能涉及網(wǎng)絡4的故障的傳輸問題進行追蹤。
因此,服務器3對從客戶機2和列表6接收的更新信息進行比較,以便檢查它們是否一致,并且在合適的情況下還對作為接收到的更新信息的一個函數(shù)的列表進行更新。
權利要求
1.一種用于通過服務器和至少一個客戶機終端之間的至少一個通信網(wǎng)絡來傳輸名為對象的數(shù)據(jù)的方法,至少一個高速緩沖存儲器被設計成保存所述服務器發(fā)送的至少一些所述對象,并且所述高速緩沖存儲器與所述網(wǎng)絡內(nèi)部的至少一個所述客戶機終端相關聯(lián),其特征在于對與所述客戶機終端之一相關聯(lián)的所述高速緩沖存儲器中給出的至少一個對象列表進行管理,以便限制涉及所述客戶機終端與所述服務器之間的所述高速緩沖存儲器內(nèi)容的信息交換。
2.根據(jù)權利要求1的傳輸方法,其特征在于對至少一個所述對象而言,用于每一個所述對象的標識符連同再現(xiàn)所述對象的信息一起都保存在所述列表中。
3.根據(jù)權利要求2的傳輸方法,其特征在于用于至少一個所述對象的所述再現(xiàn)信息涉及的是所述對象的優(yōu)化級別。
4.根據(jù)權利要求2和3中任何一個權利要求的傳輸方法,其特征在于所述列表包括用于所述高速緩沖存儲器中保存的每一個所述對象的<O,L0>對,其中包含了所述對象的所述O標識符以及所述對象的所述再現(xiàn)信息L0。
5.如權利要求1到4中任何一個權利要求所述的傳輸方法,其特征在于至少一個名為顯示信息的關于所述客戶機終端和/或所述客戶機終端用戶的信息項與用于每一個所述客戶機終端的所述列表相關聯(lián),由此形成一個上下文。
6.根據(jù)權利要求5的傳輸方法,其特征在于所述顯示信息屬于包括以下信息的群組所述用戶的位置信息;所述用戶的觀察方向;所述對象的選擇參數(shù)。
7.如權利要求1到6中任何一個權利要求所述的傳輸方法,其特征在于所述列表是由所述服務器或是所述網(wǎng)絡的中間部件來管理的。
8.如權利要求5到7中任何一個權利要求所述的傳輸方法,其特征在于它包括預先初始化階段,其中包括一個用于每個所述客戶機終端的第一傳輸步驟,在這個步驟中將初始顯示信息發(fā)送到所述服務器,以及一個存儲步驟,其中所述服務器在所述相應上下文中保存所述初始顯示信息。
9.根據(jù)權利要求4的傳輸方法,其特征在于所述預先初始化階段還包括一個第二傳輸步驟,其中所述服務器向客戶機終端發(fā)送將要由所述客戶機終端再現(xiàn)的粗糙版本的場景。
10.如權利要求5到9中任何一個權利要求所述的傳輸方法,其特征在于每一個所述客戶機終端都實施在預定時間間隔和/或在修改所述顯示信息的時候?qū)⒅辽僖恍┧鲲@示信息項傳送到所述服務器的步驟。
11.根據(jù)權利要求10的傳輸方法,其特征在于所述預定時間間隔是由所述客戶機終端確定的。
12.根據(jù)權利要求11的傳輸方法,其特征在于所述預定時間間隔依賴于所述通信網(wǎng)絡的至少一個特性。
13.如權利要求10到12中任何一個權利要求所述的傳輸方法,其特征在于在由所述客戶機終端實施的所述傳輸步驟末端,所述方法實施在相應的所述上下文內(nèi)部更新所述顯示信息的步驟。
14.根據(jù)權利要求13的傳輸方法,其特征在于在所述更新步驟末端,所述服務器執(zhí)行以下步驟確定步驟,作為至少一些所述經(jīng)過更新的顯示信息的函數(shù),所述步驟確定所述客戶機終端需要的至少一個標識符對象O以及相應的再現(xiàn)級別L0;對表示與所述客戶機終端相關聯(lián)的所述高速緩沖存儲器的所述列表進行分析,以便在具有所述客戶機終端需要的與一個或多個所述標識符對象O相對應并且再現(xiàn)級別為L0的<O,L0>對的情況下識別所述<O,L0>對而不是將其存儲在所述列表中的步驟;在具有所述客戶機終端需要的一個或多個再現(xiàn)級別為L0的所述標識符對象O的情況下,將所述標識符對象發(fā)送到所述客戶機終端的步驟,其中所述標識符對象對應于所述列表中并未存儲的一個或多個所述<O,L0>對;對表示與所述客戶機終端相關聯(lián)的所述高速緩沖存儲器的所述列表進行更新的步驟,由此在具有一個或多個與所述一個或多個對象相對應的所述<O,L0>對的情況下,將所述<O,L0>對添加到所述客戶機終端中的步驟。
15.根據(jù)權利要求14的傳輸方法,其特征在于所述服務器還執(zhí)行根據(jù)至少一個預定概率判據(jù)來確定所述客戶機終端需要的至少一個標識符對象O和再現(xiàn)級別L0的步驟;預先將所述至少一個標識符對象O和再現(xiàn)級別L0發(fā)送到所述客戶機終端的步驟。
16.根據(jù)權利要求14和15中任何一個權利要求的傳輸方法,其特征在于在接收到所述服務器發(fā)送的至少一個對象的時候,所述客戶機終端執(zhí)行以下步驟如果與所述客戶機終端關聯(lián)的所述高速緩沖存儲器的填充率小于預定閾值,則在所述高速緩沖存儲器中保存所述接收對象的步驟;否則執(zhí)行用于評估所述接收對象的相關性判據(jù)的步驟;如果保存在所述高速緩沖存儲器中的至少一個所述對象具有一個值比所述接收對象的所述相關性判據(jù)更小的相關性判據(jù),則所述客戶機終端執(zhí)行從所述高速緩沖存儲器中消除所述相關性較低的對象的子步驟以及將所述接收對象保存在所述高速緩沖存儲器中的子步驟;否則,所述客戶機終端執(zhí)行拒絕所述接收對象的子步驟。
17.根據(jù)權利要求16的傳輸方法,其特征在于在所述消除子步驟和/或所述拒絕子步驟之后,所述客戶機終端向所述服務器發(fā)送至少一個信息項,以便更新與所述客戶機終端相關聯(lián)的所述高速緩沖存儲器,由此所述服務器從表示所述高速緩沖存儲器的所述列表中消除至少一個與所述刪除子步驟中刪除的所述對象和/或在所述傳送步驟中由所述服務器發(fā)送的對象相對應的<O,L0>對,而沒有將其保存在所述高速緩沖存儲器中。
18.如權利要求1到17中任何一個權利要求所述的傳輸方法,其特征在于至少一些所述對象包含至少一個索引,由此能夠有選擇地發(fā)送一部分始于所述相關索引的所述對象。
19.用于通過服務器和至少一個客戶機終端之間的至少一個通信網(wǎng)絡來傳輸名為對象的數(shù)據(jù)的系統(tǒng),至少一個高速緩沖存儲器被設計成保存所述服務器發(fā)送的至少一些所述對象,所述高速緩沖存儲器與所述網(wǎng)絡內(nèi)部的至少一個所述客戶機終端相關聯(lián),其特征在于所述系統(tǒng)包括處于所述客戶機終端的輸入端的裝置,用于管理與在與所述客戶機終端之一相關聯(lián)的所述高速緩沖存儲器中給出的至少一個對象列表,從而限制那些涉及所述客戶機終端與所述服務器之間的所述高速緩沖存儲器內(nèi)容的信息交換。
20.一種用于名為對象的數(shù)據(jù)的數(shù)據(jù)服務器,其中所述服務器經(jīng)由至少一個通信網(wǎng)絡而與至少一個客戶機終端相連,至少一個高速緩沖存儲器則被用于保存所述服務器發(fā)送的至少一些所述對象,所述高速緩沖存儲器與所述網(wǎng)絡內(nèi)部的至少一個所述客戶機終端相關聯(lián),其特征在于所述數(shù)據(jù)服務器包括對在關聯(lián)于至少一個所述客戶機終端的所述高速緩沖存儲器中給出的至少一個對象列表進行管理的裝置,以便限制與所述相關客戶機終端所進行的信息交換,其中所述信息對應于與所述高速緩沖存儲器的內(nèi)容相關的信息。
21.一種用于根據(jù)權利要求20的數(shù)據(jù)服務器的客戶機終端,其特征在于它包括將至少一個更新信息項發(fā)送到所述服務器,以使所述服務器能夠更新關聯(lián)于所述終端的表示所述高速緩沖存儲器的所述列表的裝置。
全文摘要
本發(fā)明涉及一種經(jīng)由服務器和至少一個客戶機終端的至少一個通信網(wǎng)絡來傳輸名為對象的數(shù)據(jù)的方法,至少一個高速緩沖存儲器被設計成保存所述服務器發(fā)送的至少一些所述對象,所述高速緩沖存儲器在所述網(wǎng)絡中的至少一個所述客戶機終端相關聯(lián)。本發(fā)明的特征在于它在所述客戶機終端的上游對與所述客戶機終端相關聯(lián)的所述高速緩沖存儲器中給出的至少一個對象列表進行管理,以便限制涉及所述客戶機終端與所述服務器之間的所述高速緩沖存儲器內(nèi)容的信息交換。
文檔編號H04L29/08GK1615629SQ02827377
公開日2005年5月11日 申請日期2002年12月5日 優(yōu)先權日2001年12月20日
發(fā)明者奧利維爾·奧博特 申請人:法國電信公司