亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于未來的多播傳送的時間窗口受約束的多播的制作方法

文檔序號:6450467閱讀:146來源:國知局
專利名稱:用于未來的多播傳送的時間窗口受約束的多播的制作方法
技術(shù)領(lǐng)域
一般來講,本發(fā)明涉及在網(wǎng)絡(luò)上進行內(nèi)容提供,更具體來說,涉及在給定時間幀內(nèi)向多臺客戶端提供內(nèi)容。
背景技術(shù)
在過去30年內(nèi),因特網(wǎng)已經(jīng)從少數(shù)幾臺由政府和少數(shù)教育機構(gòu)控制的服務(wù)器發(fā)展成巨大的由服務(wù)器和客戶端組成的異種機網(wǎng)絡(luò)。因特網(wǎng)上的服務(wù)器比以往任何時候都提供更多的功能,從汽車廣告和銷售到有關(guān)古希臘的教程。因特網(wǎng)的范圍和影響由于至少三個相互關(guān)聯(lián)的因素而穩(wěn)定地發(fā)展提高計算功率,增大帶寬和增大用戶數(shù)量。不幸的是,盡管一般來講計算功率隨著用戶的需求而發(fā)展,用來發(fā)送大多數(shù)通信的有限的帶寬有時可能被用戶的數(shù)量的指數(shù)增長所掩蓋。
盡管此問題可能在較小的Intranet和局域網(wǎng)中特別明顯,但是它在因特網(wǎng)上變得更為嚴重。例如,諸如政府或法庭公告之類的重要新聞或娛樂新聞的發(fā)布,或者新音樂視頻剪輯可能導致在發(fā)布的網(wǎng)站上每分鐘有數(shù)百萬次點擊。由于服務(wù)提供商和Web服務(wù)器的帶寬有限,這樣大的需求可能會使一個站點癱瘓,通常花費幾秒鐘的下載可能需要花幾分鐘,甚至幾個小時。隨著用戶的連接速度的提高,用戶習慣了更快的下載,這種服務(wù)的延遲會顯得特別嚴重。
解決此問題的一種方法是多播。多播是一種Internet協(xié)議,可以允許流式傳輸內(nèi)容同時由只發(fā)送一個數(shù)據(jù)流的服務(wù)器向許多不同的用戶發(fā)送。有特定的端口用于多播服務(wù)器向此端口發(fā)送其流式數(shù)據(jù),希望接收多播的客戶端在指定的端口上“偵聽”。通過使用此方法,正常的“單播”遇到的某些帶寬問題可以被克服,用戶可以以更及時的方式接收數(shù)據(jù)。不幸的是,如果大量的用戶嘗試偵聽多播,甚至這種比較有效的方法可能會顯得無濟于事。此外,不同連接速度的用戶同樣地利用多播協(xié)議也是困難的。那些諸如通過撥號因特網(wǎng)服務(wù)提供商(ISP)與因特網(wǎng)建立了常見的模擬連接的用戶,將在那些具有諸如電纜調(diào)制解調(diào)器或數(shù)字用戶線(DSL)調(diào)制解調(diào)器之類的寬帶因特網(wǎng)連接的用戶之后穩(wěn)定地接收數(shù)據(jù)。
因特網(wǎng)提供的某些信息還有另外的復(fù)雜性,在于,不僅許多用戶盡可能快地下載內(nèi)容重要;它們同時或在指定的時間量內(nèi)接收到內(nèi)容也同樣重要。接收到信息的時間比較重要的一種情況是發(fā)布可能會影響金融市場的政府數(shù)據(jù)。在這種情況下,那些首先接收到該信息的人可以從那些尚未接收到該信息的人獲益。另一個示例可以是從流行的音樂家或組合發(fā)布音樂視頻剪輯。這種示例還有另外的問題,這樣的發(fā)布的大小可能有許多兆字節(jié),會使其發(fā)布變得更復(fù)雜。此外,一般來講,最初發(fā)布政府數(shù)據(jù)或音樂視頻剪輯時會有一個最初的時間。那么,問題就成為如何盡可能地接近于此發(fā)布時間向一組客戶端發(fā)送一個事件,而不是在信息變得無用或陳舊之后的某個稍晚的時間。此問題從效率和公正的觀點來看都是相關(guān)的。
完成此任務(wù)的一個難點是上文討論的網(wǎng)絡(luò)帶寬問題。盡管大多數(shù)企業(yè)網(wǎng)絡(luò)現(xiàn)在都通過高速主干網(wǎng)連接到因特網(wǎng),但是仍有許多用戶使用模擬調(diào)制解調(diào)器連接到因特網(wǎng)。如果通過諸如DSL連接之類的寬帶連接連接到因特網(wǎng)的用戶能夠與通過56Kbps撥號連接進行連接的用戶同時開始訪問該信息,那么具有寬帶連接的用戶將在使用較慢的連接的用戶之前很長時間接收完該信息。例如,如果要下載的事件是10MB大小,56Kbps連接大約需要24分鐘才能下載完該事件,1Mbps的數(shù)字用戶線連接只需80秒鐘即可。
當前的內(nèi)容發(fā)布方法沒有提供工具用于促進盡可能公平地在給定時間幀內(nèi)按需要向許多異型客戶端發(fā)送一個事件。內(nèi)容和服務(wù)提供商一般來講會疏忽發(fā)布或在特定時間訪問的公正性。因此,只有最快速的、最幸運的用戶在較早的時間接收到內(nèi)容,常常使他們不公平地占到那些較晚地接收信息的其他用戶的便宜,具體情況取決于網(wǎng)絡(luò)帶寬和它們自己的連接速度。

發(fā)明內(nèi)容
本發(fā)明提供一種方法、計算機可讀的介質(zhì)和系統(tǒng),用于向具有不同帶寬的客戶端發(fā)布事件,通過在事件的發(fā)布時間之前發(fā)送一個加密事件,并發(fā)布一個小的、有效地傳輸?shù)拿荑€以在事件的發(fā)布時間或在另一個時間將該事件解密,以使每臺客戶端在發(fā)布時間之后的大致相同的時間接收到該事件。
本發(fā)明進一步提供一種方法、計算機可讀的介質(zhì)和系統(tǒng),用于向具有不同帶寬的客戶端發(fā)布事件,通過在事件的發(fā)布時間之前向連接到一個或多臺客戶端的受信任的服務(wù)器發(fā)送一個加密事件,發(fā)布一個密鑰以在事件的發(fā)布時間或稍早一些將該事件解密,在服務(wù)器上將該事件解密,并在事件的發(fā)布時間或在另一個時間將該事件從服務(wù)器發(fā)布到連接的客戶端,以使每臺客戶端在發(fā)布時間之后的大致相同的時間接收到該事件。
本發(fā)明還提供一種方法、計算機可讀的介質(zhì)和系統(tǒng),用于確保內(nèi)容分布的公正性,通過在事件的發(fā)布時間之前或在事件的發(fā)布時間發(fā)送一個加密事件,并發(fā)送一個小的、有效地傳輸?shù)拿荑€以在一個時間幀的結(jié)束之前充分長的某個時間將該事件解密,在該時間幀之后該事件不再有用或者不再相關(guān)。
本發(fā)明還提供一種方法、計算機可讀的介質(zhì)和系統(tǒng),用于通過多個單播或多播副本發(fā)送小的、有效地傳輸?shù)拿荑€。這樣的副本可以由單臺受信任的服務(wù)器、專用于發(fā)送密鑰的專門服務(wù)器或由多臺受信任的服務(wù)器同時發(fā)送。通過經(jīng)過諸如從不同的服務(wù)器之類的多個網(wǎng)絡(luò)路徑發(fā)送密鑰,在適當?shù)臅r間密鑰的至少一個副本將被每一臺客戶端接收到的可能性大大地增大。
本發(fā)明還通過允許感興趣的客戶端在大致相同的時間接收在給定發(fā)布時間發(fā)布的事件,具有提供發(fā)布的公正性的機制,盡管客戶端的連接帶寬不同。連接帶寬的差異可能是由于許多因素造成的,包括客戶端連接到服務(wù)器的速度,服務(wù)器之間的連接的擁塞等等。至少一臺始發(fā)服務(wù)器包含要發(fā)布的數(shù)據(jù)。始發(fā)服務(wù)器可以連接到許多受信任的邊緣服務(wù)器,邊緣服務(wù)器又進一步向非受信任的服務(wù)器和連接到受信任的邊緣服務(wù)器的客戶端提供內(nèi)容?;蛘?,始發(fā)服務(wù)器可以直接連接到非受信任的服務(wù)器或客戶端。受信任的邊緣服務(wù)器是可以被信任不在選擇的發(fā)布時間之前發(fā)布信息的服務(wù)器。因此,受信任的邊緣服務(wù)器位于包括受信任的服務(wù)器、至少一臺始發(fā)服務(wù)器和它們之間的連接的傳輸網(wǎng)絡(luò)的“邊緣”。
在數(shù)據(jù)將被發(fā)布到客戶端之前,加密數(shù)據(jù)可以從一臺或多臺始發(fā)服務(wù)器發(fā)布到可以本地存儲數(shù)據(jù)并對其進行解密的客戶端。隨后,在發(fā)布時間,或發(fā)布之后,可以向客戶端發(fā)送一個小的、有效地傳輸?shù)拿荑€,該密鑰可以對加密數(shù)據(jù)進行解密。由于密鑰一般來講充分小,每一臺客戶端或服務(wù)器都應(yīng)該在很小的時間范圍內(nèi)接收到密鑰,從而可確保每一臺客戶端都在大致相同的時間訪問到該數(shù)據(jù)。
加密數(shù)據(jù)還可以在服務(wù)器上解密,然后以未加密的形式發(fā)送到客戶端。如果執(zhí)行解密的服務(wù)器是一臺受信任的邊緣服務(wù)器,那么加密數(shù)據(jù)和密鑰可以在發(fā)布時間之前發(fā)送。受信任的邊緣服務(wù)器可以對數(shù)據(jù)進行解密并在發(fā)布時間或在發(fā)布時間之前將數(shù)據(jù)發(fā)送到客戶端以使客戶端在發(fā)布時間接收到數(shù)據(jù)?;蛘?,如果服務(wù)器不是一臺受信任的邊緣服務(wù)器,那么,數(shù)據(jù)仍可以在發(fā)布時間之前發(fā)送,但密鑰可以在發(fā)布時間發(fā)送,可以盡可能快地或在協(xié)調(diào)時間將數(shù)據(jù)解密并發(fā)送到客戶端。
本發(fā)明還設(shè)想加密數(shù)據(jù)可以在發(fā)布時間或之后發(fā)送到客戶端,但密鑰不傳輸,直到這樣的時間將保證每一臺客戶端都在大致相同的時間接收到該密鑰或有盡可能多的客戶端在數(shù)據(jù)將要被傳播的一個時間窗過期之前接收到該密鑰。如果加密數(shù)據(jù)可以這樣發(fā)送以使在時間窗過期之前傳輸?shù)剿锌蛻舳?,那么密鑰的傳輸可以被延遲,直到每一臺客戶端都已經(jīng)接收到加密數(shù)據(jù)。或者,如果加密數(shù)據(jù)不能在時間窗過期之前傳輸?shù)矫恳慌_客戶端,那么密鑰可以在向每一臺客戶端傳輸完加密數(shù)據(jù)之前某個時間發(fā)送。同樣,如果發(fā)布要求信息快速地傳播比公平地傳播更重要,那么密鑰也可以在每一臺客戶端都已經(jīng)接收到加密數(shù)據(jù)之前的較早的時間發(fā)送。
本發(fā)明進一步設(shè)想使用多播協(xié)議最大限度地降低始發(fā)服務(wù)器或受信任的邊緣服務(wù)器的傳輸負擔。通過使用多播協(xié)議,服務(wù)器只需要發(fā)送少數(shù)幾個副本,然后由路由器向其他服務(wù)器或客戶端復(fù)制和重新傳輸。多播協(xié)議的特別合適的用途可以是傳輸密鑰。由于密鑰可以是非常小的數(shù)據(jù),通過多播密鑰的冗余副本,而不是等待來自客戶端的重新傳輸請求,效率可以大大地提高。通過使用大量的冗余以避免重新傳輸請求,密鑰還可以是具有糾錯功能的多播。此外,可以由多臺服務(wù)器傳輸密鑰??赡艿拿荑€服務(wù)器包括始發(fā)服務(wù)器、專門的中心密鑰服務(wù)器、受信任的邊緣服務(wù)器,或它們的任何組合。
本發(fā)明還進一步設(shè)想估計數(shù)據(jù)傳輸?shù)娇蛻舳怂_到的速度??梢员O(jiān)視或計算出始發(fā)服務(wù)器和受信任的邊緣服務(wù)器,或受信任的邊緣服務(wù)器和客戶端,或沿著整個路徑的連接的延遲?;谶B接延遲的經(jīng)驗或理論的估算,可以編撰一個每一臺客戶端的傳遞時間的數(shù)據(jù)庫。該傳遞時間可以被服務(wù)器用來確定多長時間之后它需要開始傳輸加密數(shù)據(jù)、解密數(shù)據(jù)或密鑰。例如,受信任的邊緣服務(wù)器可以在將事件將要被發(fā)布的時間減去所有客戶端的最小傳輸時間所計算出的時間啟動向沒有能力本地存儲數(shù)據(jù)或?qū)?shù)據(jù)進行解密的所有客戶端傳輸解密數(shù)據(jù)?;蛘?,受信任的邊緣服務(wù)器可以在將事件將要被發(fā)布的時間只減去到每一臺客戶端的傳輸時間所計算出的時間啟動向該特定客戶端的事件傳輸,如此還要考慮單個連接的延遲。如果服務(wù)器可以執(zhí)行此后一種操作,那么每一臺感興趣的客戶端都在非常接近于事件將要被發(fā)布的時間接收到該事件,盡管前一操作產(chǎn)生可變性更大的到達時間。為進一步提高公正性和效率,客戶端可以首先在服務(wù)器之間重新分布,以減少某些延遲源的影響,并且,在某些情況下,將具有類似的連接速度的客戶端放在相同的服務(wù)器上(如此使錯開傳遞更有效)。這可以使許多位于不同地點和連接的客戶端根據(jù)它們的特定客戶端-服務(wù)器傳輸時間幾乎可以同時獲得一個事件。
從下面參考附圖對某些優(yōu)選實施例的詳細描述中,本發(fā)明的其他功能和優(yōu)點將變得更加清楚。


雖然所附的權(quán)利要求闡明了具有特殊性的本發(fā)明的功能,但是從下面結(jié)合附圖進行的詳細說明中很好地理解本發(fā)明,以及其目標和優(yōu)點圖1是一般性地顯示了本發(fā)明駐留的示范計算機服務(wù)器的方框圖;圖2是一般性地顯示了本發(fā)明可以在其中應(yīng)用的示范網(wǎng)絡(luò)環(huán)境的方框圖;圖3是一般性地顯示了提供本發(fā)明設(shè)想的事件的方法的時間圖表;圖4是一般性地顯示了提供本發(fā)明設(shè)想的事件的方法的另一個時間圖表;圖5是一般性地顯示了提供本發(fā)明設(shè)想的事件的方法的另一個時間圖表;圖6是一般性地顯示了提供本發(fā)明設(shè)想的事件的方法的另一個時間圖表;以及圖7是一般性地顯示了提供本發(fā)明設(shè)想的事件的方法的另一個時間圖表。
具體實施例方式
本發(fā)明提供一種方法、計算機可讀的介質(zhì)和系統(tǒng),用于以這樣的方式向一臺客戶端集合發(fā)布事件以使客戶端盡可能同時接收到該事件,并且在一個時間幀的結(jié)束之前有盡可能多的客戶端接收到該事件,在該時間幀之后該事件不再有用或者其中包含的信息失效。具體來說,本發(fā)明設(shè)想在事件將要被發(fā)布之前發(fā)送加密事件。加密事件可以存儲在客戶端上或者存儲在服務(wù)器上。在事件將要被發(fā)布時,可以將解密密鑰發(fā)送到每一臺客戶端或服務(wù)器。由于密鑰都可能比較小,其傳輸時間相對來說比較短,并且每一臺客戶端都將接收到該密鑰,如此對數(shù)據(jù)進行解密的能力大致也是同時的。如果客戶端沒有能力存儲加密事件,或沒有能力對其進行解密,則它可以存儲在服務(wù)器上并在服務(wù)器上進行解密,然后發(fā)送到客戶端。如果受信任的邊緣服務(wù)器為客戶端對事件進行解密,則它可以在發(fā)布時間之前發(fā)送密鑰并可以在發(fā)布時間之前開始向客戶端發(fā)送解密事件,并考慮客戶端和受信任的邊緣服務(wù)器之間的連接中的計算出的或測量的延遲。或者,如果為客戶端對事件進行解密的服務(wù)器不是受信任的邊緣服務(wù)器,則它可以在發(fā)布時間或之后接收密鑰,一旦它完成了對事件的解密操作,便可以向客戶端發(fā)送解密事件。如果加密事件不能充分早地發(fā)送以使每一臺客戶端都在發(fā)布時間之前接收完加密事件,那么密鑰的傳輸可以被延遲,以允許客戶端接收完加密事件。密鑰可以在結(jié)束時間減密鑰的傳輸時間所得出的時間發(fā)送??梢允褂枚嗖f(xié)議,以最大限度地減少獨立的會話的數(shù)量。由于密鑰相對比較小,可使用有效的冗余以確保甚至通過多播來相應(yīng)地傳遞密鑰。
請看圖形,其中,類似的引用號碼是指類似的元素,在下文中將在服務(wù)器計算環(huán)境的上下文中對本發(fā)明進行描述。雖然為了實施本發(fā)明不作要求,但是本發(fā)明是作為服務(wù)器或客戶端計算設(shè)備執(zhí)行的諸如程序模塊之類的計算機可執(zhí)行的指令實現(xiàn)的。一般來講,程序模塊包括例程、程序、對象、組件和執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu)等等。
本發(fā)明還可以在服務(wù)器之外的計算機系統(tǒng)配置中實現(xiàn)。例如,本發(fā)明可以在路由器、多處理器系統(tǒng)、個人計算機、消費類電子產(chǎn)品、小型機、大型機等等中實現(xiàn)。本發(fā)明還可以在任務(wù)由通過通信網(wǎng)絡(luò)鏈接在一起的遠程處理設(shè)備執(zhí)行的分布式計算環(huán)境中應(yīng)用。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程內(nèi)存存儲設(shè)備中。
雖然本發(fā)明可以如上文所建議的那樣集成到許多類型的計算環(huán)境中,但是下面對本發(fā)明的詳細描述是在傳統(tǒng)的服務(wù)器20的形式的示范通用計算設(shè)備的上下文中進行的。
在對本發(fā)明進行詳細描述之前,將結(jié)合圖1描述可以在其中應(yīng)用本發(fā)明的計算環(huán)境。服務(wù)器20包括一個處理單元21、系統(tǒng)內(nèi)存22、連結(jié)包括系統(tǒng)內(nèi)存的各種系統(tǒng)組件與處理單元的系統(tǒng)總線23。系統(tǒng)總線23可以是任何類型的總線結(jié)構(gòu),包括內(nèi)存總線或內(nèi)存控制器、外圍總線,以及使用任何種類的總線體系結(jié)構(gòu)的本地總線。系統(tǒng)內(nèi)存包括只讀存儲器(ROM)24和隨機存取存儲器(RAM)25。ROM24中存儲了基本輸入/輸出系統(tǒng)(BIOS)26,里面包含幫助在服務(wù)器20內(nèi)的各個元件之間如在啟動過程中傳輸信息的基本例程。服務(wù)器20進一步包括硬盤驅(qū)動器27,用于從硬盤60讀取和向其中寫入,磁盤驅(qū)動器28,用于從可移動磁盤29讀取和向其中寫入,以及光盤驅(qū)動器30,用于從諸如CD ROM或其他光學介質(zhì)之類的可移動光盤31讀取或向其中寫入。
硬盤驅(qū)動器27、磁盤驅(qū)動器28,以及光盤驅(qū)動器30分別由硬盤驅(qū)動器接口32、磁盤驅(qū)動器接口33,以及光盤驅(qū)動器接口34連接到系統(tǒng)總線23。驅(qū)動器以及與它們關(guān)聯(lián)的計算機可讀的介質(zhì)為服務(wù)器20非易失性地存儲計算機可讀的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)。雖然此處描述的示范環(huán)境使用硬盤60、可移動磁盤29,以及可移動光盤31,那些精通本技術(shù)的人可以理解,可以存儲可被計算機訪問的數(shù)據(jù)的其他類型的計算機可讀的介質(zhì),如磁帶、閃存卡、數(shù)字視盤、柏努利磁帶盒、隨機存取存儲器、只讀存儲器等等也可以在示范操作環(huán)境中使用。
許多程序模塊可以存儲在硬盤60、磁盤29、光盤31、ROM24或RAM25中,包括操作系統(tǒng)35、一臺或多臺服務(wù)器36、其他程序模塊37,以及程序數(shù)據(jù)38。用戶可以通過諸如鍵盤40和指針設(shè)備42之類的輸入設(shè)備向服務(wù)器20中輸入命令和信息。其他輸入設(shè)備(未顯示)可以包括麥克風、游戲桿、游戲板、碟形衛(wèi)星天線、掃描儀或類似的裝置。這些和其他輸入設(shè)備通常通過一個連接到系統(tǒng)總線的串行端口接口46連接到處理單元21,但也可以通過諸如并行端口、游戲端口或通用串行總線(USB)之類的其他接口進行連接。監(jiān)視器47或其他類型的顯示設(shè)備也通過諸如視頻適配器48之類的接口連接到系統(tǒng)總線23。
服務(wù)器20通過諸如路由器49之類的路由器和其他網(wǎng)絡(luò)設(shè)備使用與一臺或多臺遠程客戶端50或其他服務(wù)器52的邏輯連接在聯(lián)網(wǎng)環(huán)境中運行。遠程客戶端50可以是個人計算機(PC)、網(wǎng)絡(luò)PC、對等設(shè)備、其他常見的網(wǎng)絡(luò)節(jié)點或其他計算設(shè)備,通常包括上文在描述服務(wù)器20時所描述的許多元件。遠程服務(wù)器52可以是郵件服務(wù)器、鏡像服務(wù)器、Web服務(wù)器或其他常見的網(wǎng)絡(luò)節(jié)點,通常包括上文在描述服務(wù)器20時所描述的許多或所有元件。網(wǎng)絡(luò)路由器49可以是單臂路由器、邊緣路由器、多播路由器、軟件應(yīng)用程序或其他常見的網(wǎng)絡(luò)節(jié)點,并通常確定數(shù)據(jù)包應(yīng)該被轉(zhuǎn)發(fā)到其中的網(wǎng)絡(luò)位于下一個點。圖1描述的邏輯連接51可以是局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)計算機網(wǎng)絡(luò)、Intranet以及因特網(wǎng)中是常見的。
當服務(wù)器20在LAN或WAN網(wǎng)絡(luò)環(huán)境中使用時,它通過網(wǎng)絡(luò)接口或適配器53連接到網(wǎng)絡(luò)51。在網(wǎng)絡(luò)環(huán)境中,在描述服務(wù)器20時描述的程序模塊,或者它的組成部分,可以存儲在遠程內(nèi)存存儲設(shè)備中,或通過網(wǎng)絡(luò)路由器49對其進行訪問。顯然,這里顯示的網(wǎng)絡(luò)連接是示范性的,也可以使用其他裝置在計算機之間建立通信鏈路。
在后面的描述中,除非特別聲明,將參考一臺或多臺計算機執(zhí)行的操作和操作的符號表示來對本發(fā)明進行描述。如此,可以理解,有時由計算機執(zhí)行的操作包括以結(jié)構(gòu)形式表示數(shù)據(jù)的電信號的計算機的處理單元執(zhí)行的操作。這種操作轉(zhuǎn)換數(shù)據(jù)或?qū)⑺4嬖谟嬎銠C的存儲系統(tǒng)中的位置,計算機重新配置或以那些精通本技術(shù)的人理解的別的方式改變計算機的操作。在其中保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是具有由數(shù)據(jù)的格式定義的特定屬性的內(nèi)存的物理位置。然而,盡管是在前述的上下文中對本發(fā)明進行描述的,但是不作為限制,正如那些精通本技術(shù)的人理解的,在下文中描述的各種操作還可以以硬件來實現(xiàn)。
根據(jù)本發(fā)明的一個方面,在事件的發(fā)布時間之前向連接到網(wǎng)絡(luò)的一組客戶端提供加密事件,并在發(fā)布時間或之后提供解密密鑰,用于對事件進行解密。事件可能比較大,發(fā)送到通過窄帶連接進行連接的客戶端需要較長的時間,盡管具有寬帶連接的客戶端可以比較快地接收到該事件。發(fā)布未加密的事件將是不公平的,因為寬帶客戶端將在窄帶客戶端之前訪問到事件內(nèi)包含的信息,并可以使用該信息,而對窄帶客戶端不利。然而,發(fā)布的公正性可以通過對事件進行加密并在發(fā)布時間之前發(fā)送來達到,因為每一臺客戶端都可以在較窄的時間跨度內(nèi)接收到解密密鑰,因為密鑰相對比較小,其傳輸所花的時間非常短,甚至在連接速度的較寬的范圍之間。如此,每一臺客戶端都可以在較窄的時間跨度內(nèi)訪問事件內(nèi)包含的信息,從而使發(fā)布比較公正。
正如您可以看到的,為確保發(fā)布的公正性,加密事件應(yīng)該在解密密鑰之前接收到,或者客戶端具有密鑰,但沒有事件可以解密。然而,這不能在所有的情況下得到保證。如此,本發(fā)明設(shè)想在發(fā)布時間發(fā)送解密密鑰,或者如果需要,如果加密事件在可靠地發(fā)布到客戶端之前足夠長的時間就已經(jīng)在始發(fā)服務(wù)器上的話,在發(fā)布時間之后發(fā)送。本發(fā)明還設(shè)想在發(fā)布時間之后,直到結(jié)束時間減傳遞密鑰所需要的的傳遞時間所得出的時間的任何時間發(fā)送解密密鑰。因此,密鑰的發(fā)送可以被延遲,以允許盡可能多的客戶端在發(fā)送密鑰之前接收完加密事件。如此,如果始發(fā)服務(wù)器不能夠,或者不被允許在足夠早的時間發(fā)送加密事件以允許客戶端在發(fā)布時間之前接收加密事件,密鑰的發(fā)送可以按需要被延遲,以提供對事件內(nèi)包含的信息的盡可能公正的訪問。
根據(jù)本發(fā)明的另一個方面,加密事件可以發(fā)送到服務(wù)器并在被發(fā)送到客戶端之前在服務(wù)器上解密。于是單臺客戶端不需要保存可能十分大的加密事件,它們也不需要通過對事件進行解密來加重它們的處理系統(tǒng)的負擔。受信任的服務(wù)器是網(wǎng)絡(luò)中的可以被始發(fā)服務(wù)器信任不在發(fā)布時間之前發(fā)布事件的服務(wù)器。受信任的邊緣服務(wù)器是始發(fā)服務(wù)器和客戶端之間的邏輯連接中可以被信任,因此可以被認為是受信任的網(wǎng)絡(luò)的邊緣的最后一臺服務(wù)器。如果為客戶端對事件進行解密的服務(wù)器是受信任的邊緣服務(wù)器,則受信任的邊緣服務(wù)器可以在發(fā)布時間之前被提供加密事件和密鑰并可以在發(fā)布時間之前對事件進行解密?;蛘撸绻麨榭蛻舳藢κ录M行解密的服務(wù)器不是受信任的邊緣服務(wù)器,那么可以在發(fā)布時間之后或者發(fā)布時間之前充分長的時間發(fā)送密鑰,以允許服務(wù)器對事件進行解密并將它傳輸?shù)娇蛻舳?。然而,服?wù)器不能被信任以保存解密事件并等待指定的時間。無論在哪一種情況下,可能會比較大的解密事件需要大量的時間才能傳輸?shù)秸瓗Э蛻舳说膯栴}依然存在。為最大限度地降低寬帶客戶端和窄帶客戶端接收事件的時間差,受信任的邊緣服務(wù)器可以在發(fā)布時間之前向窄帶客戶端發(fā)送事件,以使客戶端可以在大致相同的時間接收完事件。根據(jù)本發(fā)明的另一個方面,加密事件和解密密鑰可以使用多播協(xié)議發(fā)送,以提高網(wǎng)絡(luò)效率并分散傳輸?shù)呢摀?。正如那些精通本技術(shù)的人所知道的,在傳輸?shù)臄?shù)據(jù)丟失或者被破壞的情況下,多播通常不提供有效的請求重新傳輸?shù)臋C制。由于密鑰可能十分小,使用有效的冗余發(fā)送密鑰比較有效,從而最大限度地降低將需要重新傳輸?shù)目赡苄浴@?,密鑰的多個副本甚至可以向窄帶客戶端以可能仍十分小并可有效地傳輸?shù)膯蝹€消息發(fā)送?;蛘?,密鑰的單個副本可以通過不同的網(wǎng)絡(luò)路線進行發(fā)送,如從不同的密鑰服務(wù)器,包括始發(fā)服務(wù)器、受信任的邊緣服務(wù)器,專門的密鑰服務(wù)器,或者它們的任何組合。
根據(jù)本發(fā)明,圖2顯示了一個示范網(wǎng)絡(luò)環(huán)境。重要的是,本發(fā)明不僅限于任何特定網(wǎng)絡(luò)協(xié)議的實現(xiàn)。它可以使用TCP/IP協(xié)議、AppleTalk協(xié)議、Novell協(xié)議以及內(nèi)容傳遞網(wǎng)絡(luò)等等協(xié)議來實現(xiàn)。當然,這些協(xié)議提供不同的功能級別。因此,在某些網(wǎng)絡(luò)中,服務(wù)器的軟件可以執(zhí)行更多功能,而在其他網(wǎng)絡(luò)中,服務(wù)器的軟件可以依賴于基礎(chǔ)協(xié)議以提供此功能。在描述本發(fā)明的示范實施例時,所需要的特定的信息或功能可以由基礎(chǔ)協(xié)議或服務(wù)器或客戶端上的軟件提供。基礎(chǔ)方法仍保持不變,并可以簡單地集成現(xiàn)有的功能以完成所需要的任務(wù)。
圖2顯示了一個網(wǎng)絡(luò)環(huán)境200,可以在其中描述本發(fā)明的示范實施例。始發(fā)服務(wù)器210連接到一個網(wǎng)絡(luò),該網(wǎng)絡(luò)包括受信任的邊緣服務(wù)器220、221和222和諸如服務(wù)器230、231和232之類的不受信任的其他服務(wù)器網(wǎng)絡(luò)。該網(wǎng)絡(luò)還包含個人計算設(shè)備(PC)形式的客戶端,它們在邏輯上連接到客戶端機器。例如,客戶端50可以通過窄帶連接238進行連接,客戶端150可以通過寬帶連接239進行連接。正如那些精通本技術(shù)的人所知道的,窄帶連接一般來講是以諸如56kbps或33.6kbps之類的通常使用的模擬調(diào)制解調(diào)器速度建立的撥號連接。寬帶連接可以通過諸如電纜調(diào)制解調(diào)器、數(shù)字用戶線(DSL)調(diào)制解調(diào)器或衛(wèi)星調(diào)制解調(diào)器之類的許多技術(shù)來建立,一般來講提供大于窄帶連接的吞吐量。
在優(yōu)選的實施例中,在始發(fā)服務(wù)器210上始發(fā)一個事件。事件可以是向客戶端50和150傳播的任何數(shù)據(jù)集合。例如,事件可以是簡單得如政府財政局或部門發(fā)布的經(jīng)濟新聞,或者它可以更大,更復(fù)雜,如展示新產(chǎn)品發(fā)布或來自一個企業(yè)的服務(wù)的數(shù)字電影,或來自流行音樂家或組合的新音樂視頻。一般來講,事件具有這樣的性質(zhì),在發(fā)布時間之前發(fā)布是不合適的。例如,如果政府經(jīng)濟數(shù)據(jù)在其發(fā)布時間之前傳播,它可能會擾亂金融市場。同樣,如果新音樂視頻在其發(fā)布時間之前發(fā)布,視頻的市場營銷可能不會具有足夠的時間產(chǎn)生需求,視頻可能被看作一個失敗。事件一般來講還具有這樣的性質(zhì)傳遞的公正性十分重要。如此,如果政府經(jīng)濟數(shù)據(jù)在其他客戶端之前向某些客戶端發(fā)布,接收到該數(shù)據(jù)的客戶端可能使用它從尚未接收到它的客戶端那里獲益。同樣,如果一臺客戶端組在另一個組之前接收新音樂視頻,專注于發(fā)布的不公平性的任何媒體注意力都可能減損有關(guān)視頻本身的質(zhì)量的更有利的名聲。如此,本發(fā)明設(shè)想信息或事件以公平的方式在不同帶寬和計算容量的客戶端之間進行傳遞。
發(fā)布到客戶端的事件內(nèi)包含的信息通常還有一個結(jié)束時間,超過該時間信息將會失效或無關(guān)。對于某些數(shù)據(jù),如政府經(jīng)濟報告,信息可能在一個月或較長時間內(nèi)有效,直到提供下一個報告。同樣,新音樂視頻可能會在幾個星期內(nèi)被視為最近的?;蛘?,可以發(fā)布到客戶端的某些數(shù)據(jù)可以會非常快地喪失其相關(guān)性。例如,顯示一個給定區(qū)域的氣象雷達慢速拍攝效果的電影的有效時間可能只有15分鐘。本發(fā)明設(shè)想以公平的方式并在結(jié)束時間之前傳遞事件,在結(jié)束時間之后事件內(nèi)包含的信息可能對客戶端無用。
請看圖3,該圖顯示了本發(fā)明設(shè)想的事件的時間系列。柱狀圖300表示特定服務(wù)器的客戶端組。例如,該圖形可以表示連接了窄帶客戶端50和寬帶客戶端150的受信任的邊緣服務(wù)器221,或連接了窄帶客戶端50和寬帶客戶端150的外部(非受信任的)服務(wù)器232。雖然圖2只顯示了連接到服務(wù)器221和232的幾個這樣的客戶端,但是可以理解,可以通過類似的網(wǎng)絡(luò)連接來連接更多客戶端。在柱狀圖300上,通常是連續(xù)函數(shù)的傳遞時間,被近似于分成所示的類別。如此,所示的距離左邊最遠的第一組客戶端310將在大致5秒到15秒內(nèi)的時間范圍內(nèi)接收消息,第二組312將在40秒到60秒的時間范圍內(nèi)接收信息,依此類推。值得注意的是,柱狀圖300所示的時間不是線性地增加的。這是因為傳輸時間只作為本發(fā)明的說明提供。
正如可以從柱狀圖300看到的,顯示的服務(wù)器大致具有100臺客戶端與之相連接,包括寬帶客戶端和窄帶客戶端。柱狀圖300在服務(wù)器開始發(fā)送加密事件時的時間350開始。服務(wù)器可以在時間350開始發(fā)送加密事件,原因有多個。例如,時間350可以是服務(wù)器從諸如圖2所示的始發(fā)服務(wù)器210之類的始發(fā)服務(wù)器接收加密事件的第一次?;蛘撸瑫r間350可以是服務(wù)器完成對事件加密的過程的第一次,如果它從始發(fā)服務(wù)器以未加密的形式接收到事件。此外,服務(wù)器可以由于來自始發(fā)服務(wù)器的顯式指令在時間350開始發(fā)送加密事件。值得注意的是,由于加密事件的傳輸不需要等待一個特定時間,受信任的邊緣服務(wù)器和非受信任的服務(wù)器都可用于發(fā)布事件。
接收事件的第一組客戶端310,大致在時間350之后10秒鐘完成此項工作,而最后一組客戶端326大致在700秒鐘內(nèi)接收到事件。正如通過這樣的大變化所看到的,一個簡單地在發(fā)布時間發(fā)送到客戶端的未加密的事件將導致諸如客戶端326之類的客戶端直到諸如客戶端310之類的第一客戶端已經(jīng)接收到事件之后11分鐘以上才能接收到事件。如果事件是發(fā)布政府經(jīng)濟數(shù)據(jù),那么客戶端310將有充足的時間從還沒有接收到信息的客戶端326獲利。正如那些精通本技術(shù)的人所理解的,柱狀圖300顯示了發(fā)布相對小的事件,因為它可以由寬帶客戶端在10秒鐘內(nèi)下載完畢。對于諸如展示新產(chǎn)品的視頻之類的較大的事件,即使最快速的客戶端310也可能不會在幾分鐘內(nèi)接收到事件,最慢的客戶端326可能要花好幾個小時才能接收完事件。
如圖3所示,服務(wù)器開始在發(fā)布時間360之前充分長的時間350發(fā)送加密事件,以使每一臺客戶端接收完加密事件。然后在時間370,該時間可以等于時間360,如圖3所示,或者是比較晚的時間,如下文進一步所述的,服務(wù)器可以在時間350發(fā)送密鑰以對加密事件進行解密。正如那些精通本技術(shù)的人所了解的,很難正好在一個給定時間執(zhí)行一個功能,因為所有計算設(shè)備都以不連續(xù)的周期運行。盡管如此,在本發(fā)明中,緊隨在發(fā)布時間360之后的時間被相應(yīng)地視為等于發(fā)布時間360。由于密鑰的大小比較小,甚至對于窄帶客戶端,接收到該密鑰所花的時間幾乎沒有變化。如此,如圖3所示,所有客戶端330都可能幾乎同時地接收到密鑰??蛻舳私M330顯示了在組310到326中接收到加密事件的相同的100臺客戶端,只是在時間370向那些客戶端發(fā)送了其他數(shù)據(jù),即解密密鑰,并且它們都在兩秒鐘內(nèi)接收到它,如柱狀圖330所示。如此,每一臺客戶端都通過使用解密密鑰來對事件進行解密,在發(fā)布時間360之后的不久大致相同的時間訪問到事件內(nèi)包含的信息。
由于事件是經(jīng)過加密的,諸如受信任的邊緣服務(wù)器221之類的受信任的邊緣服務(wù)器,諸如非受信任的服務(wù)器232之類的非受信任的服務(wù)器,可用于在發(fā)布時間360之前發(fā)布事件。然而,正如下文比較詳細地描述的,如果將要傳輸解密的或未加密的事件,那么事件可以在發(fā)布時間360之前由受信任的邊緣服務(wù)器所保存。然而,非受信任的服務(wù)器可以在發(fā)布時間之前發(fā)布事件。對于加密事件,由于非受信任的服務(wù)器在發(fā)布時間之前發(fā)布事件,因此不會產(chǎn)生不公平,因為客戶端沒有訪問事件內(nèi)包含的信息所需要的密鑰。然而,對于解密的或未加密的事件,單臺服務(wù)器在發(fā)布時間之前發(fā)布可能會導致對事件內(nèi)包含的信息不公平的訪問。如此,正如您所看到的,只要數(shù)據(jù)出現(xiàn),就可以發(fā)送到諸如客戶端50和150之類的客戶端。當這樣的數(shù)據(jù)包括解密密鑰、未加密的事件或允許客戶端訪問事件內(nèi)包含的信息的其他數(shù)據(jù)時,它可以保存在最靠近的受信任的服務(wù)器上,以便在適當?shù)臅r間發(fā)布。不能信任非受信任的服務(wù)器以保存數(shù)據(jù),直到可以發(fā)布的適當?shù)臅r間。如上文所講述的,最靠近的受信任的服務(wù)器是受信任的邊緣服務(wù)器。
解密密鑰可以由密鑰服務(wù)器發(fā)送。密鑰服務(wù)器可以是發(fā)送密鑰的任何服務(wù)器,并可以包括始發(fā)服務(wù)器、一臺或多臺受信任的邊緣服務(wù)器、專門的中心密鑰服務(wù)器,或分布式專門密鑰服務(wù)器組,或它們的任何組合。中心密鑰服務(wù)器,或分布式專門密鑰服務(wù)器,還可以是網(wǎng)絡(luò)環(huán)境200的組成部分,并可以在時間370直接向客戶端傳輸密鑰,或者可以在時間370之前的某個時間向受信任的邊緣服務(wù)器221發(fā)布密鑰,并提供有關(guān)密鑰發(fā)送時間的指令。然而,非受信任的服務(wù)器232可以在時間370而不是在時間370之前發(fā)送密鑰,因為服務(wù)器232在時間370之前不能被信任以保存密鑰。為確保密鑰盡可能有效地到達盡可能多的客戶端,使用許多不同的網(wǎng)絡(luò)路徑向客戶端提供密鑰從諸如上文描述的那些服務(wù)器之類的多臺服務(wù)器傳輸密鑰是有用的。通過使用多個路徑,任何單個路徑可能被擁擠并延遲密鑰的接收的風險降低。因為,如下文所述,密鑰的傳輸可能取決于客戶端接收加密事件的情況、服務(wù)器和中心密鑰服務(wù)器之間的通信或者服務(wù)器和密鑰服務(wù)器的網(wǎng)絡(luò)之間的通信,因此可以協(xié)調(diào)向客戶端發(fā)送密鑰的情況。
用于對事件進行加密的加密方法可以任何一個流行的加密方法或它們的組合,包括數(shù)據(jù)加密標準(DES)、安全而快速的加密例程(SAFER)、國際數(shù)據(jù)加密算法(IDEA)、以及諸如Twofish、SERPENT、RC6、和MARS之類的高級加密標準(AES)候選標準中的任何一個。本發(fā)明設(shè)想使用可以由相對比較小的一個或多個解密密鑰進行解密的任何加密方法,以便對于各種寬帶和窄帶客戶端,傳輸時間沒有太大的差異。
請看圖4,柱狀圖400顯示了一個事件發(fā)布過程。如在圖3中,服務(wù)器可以是諸如受信任的邊緣服務(wù)器221之類的受信任的邊緣服務(wù)器,或者,由于發(fā)布的事件是經(jīng)過加密的,諸如非受信任的服務(wù)器232之類的非受信任的服務(wù)器。正如您所看到的,服務(wù)器開始發(fā)送事件的時間450不是發(fā)布時間460之前的允許每一臺客戶端接收完加密事件的充分長的時間。時間450可能取決于服務(wù)器從始發(fā)服務(wù)器接收事件的時間。由于服務(wù)器在時間450開始發(fā)送加密事件的時間和發(fā)布時間460之間的時間縮短,客戶端424和426在發(fā)布時間尚未接收完加密事件。在這種情況下,本發(fā)明設(shè)想延遲密鑰的傳輸,直到所有的客戶端都接收完加密數(shù)據(jù)。然而,密鑰的傳輸不應(yīng)該被延遲到這樣的程度,以至于密鑰在結(jié)束時間490之后接收。此外,還可以考慮實際情況。如此,盡管只有少部分用戶尚未接收完加密數(shù)據(jù),但是可以傳輸密鑰以允許多數(shù)用戶在靠近發(fā)布時間的某個時間接收到數(shù)據(jù)。這樣的考慮在具有多臺服務(wù)器的網(wǎng)絡(luò)中公平地跨整個網(wǎng)絡(luò)發(fā)布事件特別重要,正如下文比較詳細地描述的。
如圖4所示,本發(fā)明設(shè)想在發(fā)布時間460之后并在最后一組客戶端426接收完加密事件之后的某個時間470發(fā)送解密密鑰。發(fā)送密鑰時的時間470也是結(jié)束時間490之前充分長的時間,以使每一臺客戶端430都可以在結(jié)束時間之前接收到密鑰。雖然圖4顯示了發(fā)送密鑰時的時間470在最后一組客戶端426接收完加密事件之后不久,密鑰可以在結(jié)束時間之前充分長的任何時間發(fā)送,以確保每一臺客戶端,或盡可能多的客戶端,接收到密鑰,從而可以在結(jié)束時間490之前訪問事件包含的信息。
請看圖5,如柱狀圖500所示的事件發(fā)布顯示了本發(fā)明設(shè)想的另一個傳輸序列。如圖5所示,甚至在結(jié)束時間590之后,加密事件仍由客戶端組524和526接收。服務(wù)器,再次包括受信任的邊緣服務(wù)器和非受信任的服務(wù)器,不會在時間550之前開始發(fā)送加密事件,該時間太晚,以允許所有的客戶端都在結(jié)束時間590之前接收到加密事件。此外,時間550可能會由許多外部因素決定,如服務(wù)器從始發(fā)服務(wù)器接收事件時的時間。在圖5中,發(fā)送時間550相當于發(fā)布時間560,但發(fā)送時間550可以在發(fā)布時間560之前或之后,仍可能導致客戶端組不能在結(jié)束時間590之前接收完加密事件。
在這種情況下,本發(fā)明設(shè)想受信任的邊緣服務(wù)器可以等待盡可能長的時間以發(fā)送解密密鑰,以確保盡可能多的客戶端接收完加密事件。如此,在結(jié)束時間590之前允許被客戶端接收到密鑰的充分長的某個時間570,受信任的邊緣服務(wù)器可以開始發(fā)送密鑰。如圖5所示,受信任的邊緣服務(wù)器可以在組524和526中的客戶端接收完加密數(shù)據(jù)之前的時間570開始發(fā)送密鑰。在結(jié)束時間590之前,每一臺客戶端都已經(jīng)接收到解密密鑰,但客戶端524和526需要在它們可以使用密鑰訪問事件中發(fā)送的數(shù)據(jù)之前接收完加密事件。然而,客戶端510到522的組已經(jīng)在傳輸密鑰之前在時間570接收完加密事件,并能夠在結(jié)束時間590之前訪問其中包含的數(shù)據(jù)。此外,客戶端510到522中的每一臺客戶端都能夠幾乎同時訪問此數(shù)據(jù),在給定連接到受信任的邊緣服務(wù)器的客戶端的延遲的情況下,盡可能公平地發(fā)布信息。
可能會有這樣的情況圖2所示的服務(wù)器的客戶端50和150中的某些客戶端可能沒有足夠的存儲空間或處理功率用來存儲加密事件或?qū)ζ溥M行解密。此外,客戶端的存儲事件并對其進行解密的能力在不同的事件之間也可能不同。例如,諸如發(fā)布政府經(jīng)濟數(shù)據(jù)之類的相對小的事件,可以輕易地被存儲和解密,很可能許多客戶端都具有足夠的存儲空間和處理功率。然而,對于數(shù)字電影,或其他大的事件,許多客戶端可能沒有足夠的存儲空間或處理功率,包括那些能夠處理較小的事件的客戶端。
如此,本發(fā)明設(shè)想,服務(wù)器可以在發(fā)送加密事件之后發(fā)送解密密鑰,或者受信任的邊緣服務(wù)器可以在本地對事件進行解密,并傳輸事件的解密版本?;蛘?,如果始發(fā)服務(wù)器發(fā)送未加密的事件,受信任的邊緣服務(wù)器不能對事件進行加密并向那些缺乏存儲或處理功率的客戶端發(fā)送未加密的事件。正如那些精通本技術(shù)的人所知道的,未加密的事件包含與解密事件相同的信息。為確保事件的完整性,接收解密事件的客戶端不應(yīng)該在發(fā)布時間之前接收它。如此,受信任的邊緣服務(wù)器可以在發(fā)布時間之前一直保存解密事件,或者受信任的邊緣服務(wù)器可以確定需要服務(wù)器發(fā)送解密事件的客戶端的延遲,并在發(fā)布時間之前開始發(fā)送解密事件以使那些客戶端在發(fā)布時間接收到解密事件。
回到圖2,受信任的邊緣服務(wù)器221有一臺通過寬帶連接進行連接的個人計算設(shè)備150,和兩臺通過窄帶連接進行連接的個人計算設(shè)備50。如果兩臺個人計算設(shè)備50缺乏足夠的存儲空間和處理功率用來存儲加密事件并對其進行解密,加密事件可以由受信任的邊緣服務(wù)器221進行解密,解密事件可以發(fā)送到計算設(shè)備50。
上面的圖3顯示了向諸如受信任的邊緣服務(wù)器221之類的服務(wù)器的100臺客戶端傳輸加密事件。盡管圖3設(shè)想使用非受信任的服務(wù)器,由于發(fā)送到客戶端的事件被加密,圖6設(shè)想使用受信任的邊緣服務(wù)器。然而,如圖2所示,諸如受信任的邊緣服務(wù)器220和222之類的受信任的邊緣服務(wù)器可以通過諸如非受信任的服務(wù)器230和231之類的其他非受信任的服務(wù)器與客戶端進行通信。受信任的邊緣服務(wù)器220和222遠到可以保證未加密的事件可以在始發(fā)服務(wù)器210和最終客戶端目標之間傳輸,同時通過在合適的時間發(fā)送未加密的事件來保持發(fā)布的公正性,正如下文所述。圖6還只用作說明,顯示了本發(fā)明設(shè)想的向連接到受信任的邊緣服務(wù)器221的150臺客戶端的傳輸。具體來說,圖6顯示了向圖3所示的相同的100臺客戶端發(fā)送加密事件和解密密鑰的操作,此外,還顯示了向沒有足夠的存儲或處理功率的50臺新客戶端發(fā)送解密事件的操作。
圖6包含柱狀圖600,顯示了向100臺能夠存儲加密事件并對其進行解密的客戶端和另外50臺不能并依賴于來自受信任的邊緣服務(wù)器的解密事件的客戶端傳播信息的過程。正如上文結(jié)合圖3所講述的,客戶端610到626的組在加密事件被服務(wù)器在時間650發(fā)送之后的某個時間接收它。然后,在時間670,受信任的邊緣服務(wù)器可以發(fā)布解密密鑰。如此,如圖6的說明示例所示,具有存儲加密事件并對其進行解密的能力的所有100臺客戶端都在大致相同的時間訪問事件內(nèi)包含的信息在受信任的邊緣服務(wù)器在時間670發(fā)送密鑰之后兩秒鐘。
對于不具有存儲加密事件并對其進行解密的其余50臺客戶端,受信任的邊緣服務(wù)器可以對事件進行解密并在時間680發(fā)送解密事件。在圖6的說明示例中,時間680是受信任的邊緣服務(wù)器選擇的,以使接收解密事件的第一組客戶端640不會在發(fā)布時間660之前完成此項工作,但仍然盡可能在接近于發(fā)布時間660的時間接收到解密事件。其他客戶端642、644和646的組可以在發(fā)布時間660之后的某個時間接收解密事件,具體情況視它們到受信任的邊緣服務(wù)器的連接的延遲而定。正如您可以看到的,對于不能存儲加密事件并對其進行解密的50臺客戶端,受信任的邊緣服務(wù)器仍能夠通過發(fā)送解密事件提供對事件中存儲的信息的訪問,并能夠以比較公平的方式完成此項工作,因為50臺客戶端中的每一臺客戶端都在發(fā)布時間660之后不久與圖3的原始100臺客戶端一起接收到解密事件。
圖6的受信任的邊緣服務(wù)器可以通過估計到客戶端的連接的延遲來確定開始發(fā)送解密事件的時間680。正如那些精通本技術(shù)的人所知道的,延遲是傳輸數(shù)據(jù)的連接的能力的度量。本發(fā)明設(shè)想,受信任的邊緣服務(wù)器可以維護一個數(shù)據(jù)庫,該數(shù)據(jù)庫包含與每一臺客戶端,或與代表性的客戶端組進行通信的歷史。這樣的數(shù)據(jù)庫可用于基于以往的經(jīng)驗數(shù)據(jù)確定期望的傳輸時間。數(shù)據(jù)庫可以包含諸如數(shù)據(jù)速率、峰值數(shù)據(jù)速率、擁塞信息、連接失敗之類的延遲的度量,以及其他從與客戶端進行的以前的通信收集的此類網(wǎng)絡(luò)信息。例如,可以使用歷史數(shù)據(jù)速率的平均值,或者可以使用數(shù)據(jù)速率中的最新趨勢來推斷期望的傳輸時間的估計值?;蛘?,可以使用數(shù)據(jù)速率信息結(jié)合其他信息派生或者改進估計的傳輸時間。除了基于經(jīng)驗觀察的期望的傳輸時間,受信任的邊緣服務(wù)器還可以使用網(wǎng)絡(luò)功能來確定理論傳輸時間。例如,受信任的邊緣服務(wù)器可以對客戶端或一組客戶端進行“ping”操作,并測量客戶端響應(yīng)所需要的時間來確定期望的傳輸時間?;蛘?,更高級的網(wǎng)絡(luò)環(huán)境可以具有更高級的網(wǎng)絡(luò)協(xié)議,以便可以向受信任的邊緣服務(wù)器提供有關(guān)到客戶端的連接的延遲的其他信息。
通過將估計的傳輸時間減去發(fā)布時間,受信任的邊緣服務(wù)器可以確定開始發(fā)送解密事件并允許接收解密事件的客戶端在發(fā)布時間接收到它的發(fā)送時間680。正如那些精通本技術(shù)的人所知道的,估計的傳輸時間可以通過將事件的大小除以連接的延遲來確定。
然而,由于連接的延遲可能不同,并且因為,在某些情況下,沒有客戶端在發(fā)布時間之前訪問到事件所傳達的信息至關(guān)重要,受信任的邊緣服務(wù)器可以通過使用期望的最小傳輸時間來確定發(fā)送時間;從而可以確保,即使對于最佳的條件,解密事件也不會在發(fā)布時間之前到達客戶端。期望的最小傳輸時間可以基于存儲在數(shù)據(jù)庫中的最低數(shù)據(jù)速率,或者它可以基于通過網(wǎng)絡(luò)功能獲取的數(shù)據(jù)并考慮無法預(yù)料的事件的相應(yīng)的乘數(shù)。例如,期望的最小傳輸時間可以簡單地是使用理論計算值派生的期望傳輸時間的一半。通過使用期望的最小傳輸時間,受信任的邊緣服務(wù)器可以確定充分晚的發(fā)送時間,以便沒有客戶端在發(fā)布時間之前訪問到事件中包含的信息。
圖7顯示了本發(fā)明設(shè)想的另一種可能性使具有最小的存儲或處理能力的客戶端能夠訪問事件內(nèi)包含的信息。柱狀圖700顯示了與上文結(jié)合圖6描述的柱狀圖600類似的情況。然而,在圖7中,受信任的邊緣服務(wù)器可以在不同的時間780到786發(fā)送解密事件,以使請求解密事件的所有客戶端都在大致相同的時間740接收到它。如此,對于在圖6以最少的時間量接收到解密事件的客戶端組640,受信任的邊緣服務(wù)器可以在時間786發(fā)送解密事件。對于第二快的客戶端組642,受信任的邊緣服務(wù)器可以在時間784開始發(fā)送解密事件,并且同樣,受信任的邊緣服務(wù)器可以在時間782開始向客戶端644發(fā)送事件,并在時間780向客戶端646發(fā)送事件。通過交錯向單臺客戶端或客戶端組的發(fā)送時間,受信任的邊緣服務(wù)器可以幾乎同時地向在圖7中所示的時間740需要解密事件的客戶端提供解密事件。
圖7的受信任的邊緣服務(wù)器可以通過上文討論的經(jīng)驗的或者理論的方法確定一臺客戶端或一組客戶端之間的大致連接延遲,并可以使用估計值來確定向各臺客戶端發(fā)送解密事件的時間。此外,通過使用上文顯示的方法,在該方法中,受信任的邊緣服務(wù)器可以在發(fā)布時間760之前發(fā)送解密事件,受信任的邊緣服務(wù)器還可以使組740中的客戶端在大致與組730中的客戶端相同的時間訪問事件中包含的信息。有關(guān)上文描述的解密事件的發(fā)布時間之前的傳輸和向選擇的客戶端從時間上交錯傳輸?shù)钠渌畔?,可以在與同時與本申請?zhí)岢龅臉祟}為“使用連接計劃的時間窗口受約束的多播”的共同待審批的申請(律師摘要號碼213530)中找到,該申請在此處全部加以引用。
回到圖2,網(wǎng)絡(luò)連接218和228是直接連接,但正如那些精通本技術(shù)的人所知道的,這樣的連接可以包括許多路由器、受信任的服務(wù)器、非受信任的服務(wù)器,以及其他網(wǎng)絡(luò)路徑。本發(fā)明設(shè)想一個疊加網(wǎng)絡(luò),在該網(wǎng)絡(luò)中,下面所引用的受信任的服務(wù)器和連接不一定需要特定的硬件配置,或任何物理限制,而可以用在現(xiàn)有的硬件上運行的軟件來實現(xiàn)。結(jié)果,下面將進一步詳細描述的圖2網(wǎng)絡(luò)200,可以只表示在現(xiàn)有的物理網(wǎng)絡(luò)上疊加的軟件,或者它可以表示新網(wǎng)絡(luò)的物理結(jié)構(gòu)。
圖2所示的到受信任的邊緣服務(wù)器的連接218可以包括中間的非受信任的服務(wù)器。正如下面比較詳細地講述的,加密事件在發(fā)布時間從始發(fā)服務(wù)器210通過網(wǎng)絡(luò)200發(fā)送。由于事件是經(jīng)過加密的,它可以穿過連接路徑218中的非受信任的服務(wù)器到達受信任的邊緣服務(wù)器,而不會破壞事件發(fā)布的完整性。然而,如果將在發(fā)布時間之前向受信任的邊緣服務(wù)器220、221和222提供解密密鑰,那么可使用保護措施確保連接路徑218中的非受信任的服務(wù)器不會在發(fā)布時間之前獲得密鑰并將它發(fā)布到客戶端。可以用于本發(fā)明的保護措施的示例包括啟用本技術(shù)中已知的虛擬專用網(wǎng)絡(luò)(VPN)和點對點隧道協(xié)議(PPTP)的加密算法。于是,始發(fā)服務(wù)器210可以安全地向受信任的邊緣服務(wù)器傳達敏感的信息,包括解密密鑰和解密或未加密的事件,正如下面詳細地講述的,而不會同時向連接路徑218中的非受信任的服務(wù)器透露敏感的信息。
圖2的網(wǎng)絡(luò)200顯示了受信任的邊緣服務(wù)器222,寬帶客戶端150與它相連接。如此,受信任的邊緣服務(wù)器222很可能可以在發(fā)布時間之前提供加密事件,如圖3所示,并且寬帶客戶端具有存儲事件并對其進行解密的能力。然而,顯示為只具有窄帶客戶端50與之相連接的受信任的邊緣服務(wù)器220可能不能夠在充分早的發(fā)送時間發(fā)送加密事件,以使每一臺窄帶客戶端50在發(fā)布時間之前接收到它,如圖4所示。給定這樣的網(wǎng)絡(luò)情況,本發(fā)明設(shè)想受信任的邊緣服務(wù)器222和220之間或受信任的邊緣服務(wù)器220、221、222和始發(fā)服務(wù)器210中所有服務(wù)器之間的通信協(xié)調(diào)解密密鑰的發(fā)布。如上文結(jié)合圖4所述,受信任的邊緣服務(wù)器可以在發(fā)布時間460和結(jié)束時間490之后的任何時間傳輸解密密鑰。因此,密鑰發(fā)送時間470可以對應(yīng)于其他受信任的邊緣服務(wù)器的密鑰發(fā)送時間。如此,盡管受信任的邊緣服務(wù)器222已經(jīng)在發(fā)布時間之前提供加密事件,如圖3所示,但是它可以延遲密鑰發(fā)送時間370,以對應(yīng)于如圖4所示的密鑰發(fā)送時間470,該時間在發(fā)布時間之后。
協(xié)調(diào)消息等等可以在受信任的邊緣服務(wù)器之間或在受信任的邊緣服務(wù)器和始發(fā)服務(wù)器之間發(fā)送以協(xié)調(diào)密鑰的傳輸?;蛘?,協(xié)調(diào)可以由上文描述的中心密鑰服務(wù)器來執(zhí)行。中心密鑰服務(wù)器可以從受信任的邊緣服務(wù)器或從客戶端本身接收消息,并指出客戶端接收到加密事件的程度?;谠撔畔?,中心密鑰服務(wù)器可以確定協(xié)調(diào)的密鑰發(fā)送時間并在協(xié)調(diào)的密鑰發(fā)送時間向客戶端發(fā)送密鑰,或者可以將它發(fā)送到受信任的邊緣服務(wù)器以傳遞到客戶端,在協(xié)調(diào)的密鑰發(fā)送時間之前發(fā)送它,或者向受信任的邊緣服務(wù)器提供指令以在協(xié)調(diào)的密鑰發(fā)送時間發(fā)送密鑰。此外,還可以發(fā)送協(xié)調(diào)每一臺受信任的邊緣服務(wù)器和始發(fā)服務(wù)器的時間設(shè)置的消息,以防止不適當?shù)臅r間設(shè)置導致不適當?shù)拿荑€傳輸。中心密鑰服務(wù)器,或密鑰服務(wù)器的網(wǎng)絡(luò)還可以與受信任的邊緣服務(wù)器協(xié)調(diào)它們的時間。協(xié)調(diào)所有服務(wù)器的時間設(shè)置或時鐘的一種方法是使用網(wǎng)絡(luò)時間協(xié)議將服務(wù)器與諸如政府標準設(shè)置機構(gòu)提供的標準時間同步。作為一個保險措施,只要客戶端準備好,每一臺受信任的邊緣服務(wù)器就都可以發(fā)送密鑰,前提是發(fā)布時間已過,如果該受信任的邊緣服務(wù)器不接收此協(xié)調(diào)的消息。
本發(fā)明還設(shè)想,即使當受信任的邊緣服務(wù)器必須對事件進行解密并傳輸解密事件,也可以在受信任的邊緣服務(wù)器、專門的中心密鑰服務(wù)器、專門的分布式密鑰服務(wù)器、始發(fā)服務(wù)器,或它們的組合之間的進行密鑰發(fā)送時間協(xié)調(diào)。例如,回到上文描述的圖2的網(wǎng)絡(luò)環(huán)境,受信任的邊緣服務(wù)器221可以具有與它相連接的客戶端,這些客戶端要求受信任的邊緣服務(wù)器221對事件進行解密,并以如上文描述的圖6或7所示的方式傳輸解密事件。如圖6和7所示,受信任的邊緣服務(wù)器可以在時間680或在時間系列780、782、784和786開始發(fā)送解密事件。此外,如上文所述,發(fā)送時間可以基于受信任的邊緣服務(wù)器和客戶端之間的估計的連接延遲來計算出。然而,上述計算值一般來講在發(fā)布時間提供對解密事件的訪問。如果受信任的邊緣服務(wù)器或始發(fā)服務(wù)器在發(fā)布時間之后的某個時間協(xié)調(diào)了密鑰的發(fā)送,發(fā)送解密事件的受信任的邊緣服務(wù)器可以在計算中使用此協(xié)調(diào)的時間,而不是使用發(fā)布時間,來確定解密事件的發(fā)送時間。于是,接收解密事件的客戶端不會在已經(jīng)接收到解密事件并在等待密鑰的客戶端之前訪問事件內(nèi)包含的信息。
用于在受信任的邊緣服務(wù)器之間協(xié)調(diào)密鑰和解密數(shù)據(jù)的傳輸?shù)囊环N方法可以基于事件從諸如始發(fā)服務(wù)器210之類的服務(wù)器傳輸?shù)绞苄湃蔚倪吘壏?wù)器的接收時間。如果受信任的邊緣服務(wù)器不充分早地從始發(fā)服務(wù)器接收事件,加密事件傳輸?shù)娇蛻舳说倪^程可能不會在發(fā)布時間之前完成,如在圖4所示的情況。然而,通過經(jīng)驗的或理論的估計,如上文描述的,受信任的邊緣服務(wù)器可以獲得到它們的客戶端的連接的估計傳輸時間,從而可以估計加密事件完成到所有或多數(shù)客戶端的傳輸所需要的傳輸時間。然后可以選擇發(fā)送解密密鑰的協(xié)調(diào)的時間,比加密事件傳輸將完成但是仍在結(jié)束時間之前的此估計時間更遲。一旦選擇了協(xié)調(diào)的時間,發(fā)送解密事件的受信任的邊緣服務(wù)器可以使用此時間,而不是使用發(fā)布時間,按照上文比較詳細地描述的方式來確定開始發(fā)送解密事件的時間。
本發(fā)明設(shè)想使用有效的網(wǎng)絡(luò)協(xié)議來跨網(wǎng)絡(luò)環(huán)境200傳輸數(shù)據(jù),包括加密事件、解密事件,以及解密密鑰。一個這樣的協(xié)議是使用Internet協(xié)議(IP)的網(wǎng)絡(luò)上常見的多播協(xié)議。正如精通本技術(shù)的人所知道的,多播通信被發(fā)送到單個目標IP地址,但由多臺IP主機接收和處理,不管它們在網(wǎng)絡(luò)環(huán)境200中的位置如何。由于通信被發(fā)送到單個目標IP地址,多播避免了向每一臺客戶端或每一臺受信任的邊緣服務(wù)器發(fā)送單個副本的必要性。然而,與廣播不同的是,多播只允許那些偵聽特定的IP多播地址的網(wǎng)絡(luò)設(shè)備接收和處理信息。一般來講,主機組被定義為在預(yù)先確定的IP多播地址上偵聽的主機組。對主機組的大小沒有限制,并且其成員資格可以更改,并且是以別的方式呈現(xiàn)動態(tài)的形式。此外,主機組可以跨越路由器和多個網(wǎng)絡(luò)段,并且計算設(shè)備不需要是主機組的成員,便可以向預(yù)先確定的IP多播地址多播信息。為了讓應(yīng)用程序接收多播,它可以通知相應(yīng)的網(wǎng)絡(luò)層,它將在預(yù)先確定的IP多播地址接收多播。
然而,由于多播的性質(zhì),優(yōu)選情況下,在時間比較重要的情況下,所有的主機都要接收傳輸?shù)臄?shù)據(jù),而不必請求重新傳輸。提高數(shù)據(jù)被正確地接收的可能性的一種方法是使用冗余,或其他糾錯算法。對于諸如解密密鑰之類的小的數(shù)據(jù)元素,冗佘可能是最簡單的解決方案。例如,解密密鑰可能差不多幾千字節(jié)或更小。即使實現(xiàn)10倍的冗余,消息的大小提高到大致30千字節(jié)。即使對于窄帶連接,如以56kbps甚至以33.6kbps運行的傳統(tǒng)的模擬調(diào)制解調(diào)器,30千字節(jié)也只需要10秒鐘就可以下載完。如此,甚至通過使用大量的冗余,按照傳統(tǒng)的標準,解密密鑰的傳輸仍可以在很小的時間跨度內(nèi)完成。
小的密鑰可使多臺服務(wù)器在整個網(wǎng)絡(luò)200內(nèi)傳輸密鑰,而不顯著地影響網(wǎng)絡(luò)的延遲。通過利用多臺服務(wù)器傳輸密鑰,可使用多個網(wǎng)絡(luò)路徑向每一臺客戶端提供密鑰。由于每一臺客戶端都可以通過多個網(wǎng)絡(luò)路徑接收密鑰,擁擠的節(jié)點,或其他網(wǎng)絡(luò)瓶頸影響到每一臺客戶端的傳輸時間的可能性顯著變小,因為客戶端可能通過一個非擁擠的路徑接收至少一個密鑰。
正如您可以看到的,本發(fā)明公平地向連接到受信任的服務(wù)器的客戶端發(fā)布事件,不管客戶端的帶寬的差異如何。受信任的邊緣服務(wù)器可以對事件進行加密并向客戶端發(fā)布以便在發(fā)布時間或在結(jié)束時間之前通過傳輸?shù)拿荑€進行解密,或者受信任的邊緣服務(wù)器可以在發(fā)布時間之前開始傳輸事件的解密版本以使它在發(fā)布時間或在結(jié)束時間之前到達客戶端。于是盡可能多的客戶端可以在大致相同的時間訪問一個事件。
此處的所有引用,包括任何專利、專利申請和出版物,都全部加以引用。
考慮到可以應(yīng)用本發(fā)明的原理的許多可能的實施例,應(yīng)該承認,此處參考附圖描述的實施例只作說明,不應(yīng)該限制本發(fā)明的范圍。例如,那些精通本技術(shù)的人將承認,軟件中所示的實施例的元素可以以硬件實現(xiàn),反之亦然,顯示的實施例可以修改,而不偏離本發(fā)明的精神。因此,此處描述的本發(fā)明預(yù)期所有此類實施例都在下面的權(quán)利要求以及它們的等價物的范圍內(nèi)。
權(quán)利要求
1.一種用于公平地跨網(wǎng)絡(luò)環(huán)境向至少兩臺客戶端發(fā)布事件的方法,事件具有計劃在預(yù)先確定的發(fā)布時間發(fā)布的信息,該方法包括在發(fā)布時間之前從始發(fā)服務(wù)器向至少兩臺客戶端發(fā)送加密事件;以及在發(fā)布時間之后從密鑰服務(wù)器向至少兩臺客戶端發(fā)送解密密鑰。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,發(fā)送解密密鑰的操作是緊隨在發(fā)布時間之后發(fā)生的。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,發(fā)送解密密鑰的操作在至少兩臺客戶端中的所有客戶端都已經(jīng)接收完加密事件之后發(fā)生。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,事件計劃在預(yù)先確定的結(jié)束時間之前發(fā)布,并且其中,如果至少兩臺客戶端中的所有客戶端都在最后一個密鑰發(fā)送時間之后接收完加密事件,發(fā)送解密密鑰在至少兩臺客戶端中的所有客戶端接收完加密事件之前發(fā)生,最后一個密鑰發(fā)送時間是結(jié)束時間之前足夠長的時間以允許向至少兩臺客戶端中的所有客戶端傳輸密鑰。
5.根據(jù)權(quán)利要求1所述的方法,包括在發(fā)布時間之前從始發(fā)服務(wù)器向受信任的邊緣服務(wù)器發(fā)送未加密的事件,其中,受信任的邊緣服務(wù)器是始發(fā)服務(wù)器和連接的客戶端之間的通信路徑中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;以及在第二客戶端發(fā)送時間向第二客戶端發(fā)送未加密的事件,第二客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端接收。
6.根據(jù)權(quán)利要求5所述的方法,進一步包括在第三客戶端發(fā)送時間向第三客戶端發(fā)送未加密的事件,第三客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第三客戶端接收。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,第二客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端或第三客戶端中的希望首先接收它的任何一臺客戶端接收,該方法進一步包括在第二客戶端發(fā)送時間向第三客戶端發(fā)送未加密的事件。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,密鑰服務(wù)器包括兩臺或更多密鑰服務(wù)器。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,發(fā)送解密密鑰的操作在協(xié)調(diào)的密鑰發(fā)送時間發(fā)生,其中,協(xié)調(diào)的密鑰發(fā)送時間基于網(wǎng)絡(luò)環(huán)境中的所有客戶端接收加密事件的時間。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,發(fā)送解密密鑰的操作包括多播密鑰消息,該消息至少包括解密密鑰的一個副本。
11.一種用于公平地跨網(wǎng)絡(luò)環(huán)境向第一客戶端發(fā)布事件的方法,事件具有計劃在預(yù)先確定的發(fā)布時間發(fā)布的信息,該方法包括從始發(fā)服務(wù)器向受信任的邊緣服務(wù)器發(fā)送加密事件,其中,受信任的邊緣服務(wù)器是始發(fā)服務(wù)器和連接的客戶端之間的通信路徑中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;在受信任的邊緣服務(wù)器上對加密事件進行解密;以及在第一客戶端發(fā)送時間從受信任的邊緣服務(wù)器向第一客戶端發(fā)送解密事件,其中,第一客戶端發(fā)送時間是向第一客戶端傳輸解密事件的第一期望的時間和第一客戶端接收到解密事件的第一客戶端到達時間的函數(shù),其中,第一客戶端到達時間在發(fā)布時間之后。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,傳輸?shù)牡谝黄谕臅r間是由對受信任的邊緣服務(wù)器和第一客戶端之間的連接歷史的引用確定的。
13.根據(jù)權(quán)利要求11所述的方法,其特征在于,傳輸?shù)牡谝黄谕臅r間是由對網(wǎng)絡(luò)功能測試受信任的邊緣服務(wù)器和第一客戶端之間的第一客戶端延遲的結(jié)果的引用確定的。
14.根據(jù)權(quán)利要求11所述的方法,其特征在于,第一客戶端到達時間是發(fā)布時間。
15.根據(jù)權(quán)利要求11所述的方法,進一步包括在第二客戶端發(fā)送時間從受信任的邊緣服務(wù)器向第二客戶端發(fā)送解密事件,其中,第二客戶端發(fā)送時間是向第二客戶端傳輸解密事件的第二期望的時間和第二客戶端接收到解密事件的第二客戶端到達時間的函數(shù),其中,第二客戶端到達時間在發(fā)布時間之后。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,第一客戶端發(fā)送時間是第二客戶端發(fā)送時間。
17.根據(jù)權(quán)利要求15所述的方法,其特征在于,第一客戶端到達時間是第二客戶端到達時間。
18.根據(jù)權(quán)利要求11所述的方法,其特征在于,第一客戶端到達時間大致與第二客戶端密鑰接收時間相同,該方法進一步包括在發(fā)布時間之前從始發(fā)服務(wù)器向第二客戶端發(fā)送加密事件;以及在發(fā)布時間之后從密鑰服務(wù)器向第二客戶端發(fā)送解密密鑰,第二客戶端在第二客戶端密鑰接收時間接收解密密鑰。
19.一種用于公平地跨網(wǎng)絡(luò)環(huán)境向至少兩臺客戶端發(fā)布事件的方法,該方法包括向至少兩臺客戶端發(fā)送加密事件;以及在至少兩臺客戶端中的所有客戶端都接收接收完加密事件向至少兩臺客戶端發(fā)送解密密鑰。
20.根據(jù)權(quán)利要求19所述的方法,進一步包括向受信任的邊緣服務(wù)器發(fā)送未加密的事件,其特征在于,受信任的邊緣服務(wù)器是網(wǎng)絡(luò)環(huán)境中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;在第二客戶端發(fā)送時間向第二客戶端發(fā)送未加密的事件,第二客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端接收。
21.根據(jù)權(quán)利要求19所述的方法,進一步包括向受信任的邊緣服務(wù)器發(fā)送加密事件,其中,受信任的邊緣服務(wù)器是網(wǎng)絡(luò)環(huán)境中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;在受信任的邊緣服務(wù)器上對加密事件進行解密;以及在第二客戶端發(fā)送時間從受信任的邊緣服務(wù)器向第二客戶端發(fā)送解密事件,其中,第二客戶端發(fā)送時間是向第二客戶端傳輸解密事件的第二期望的時間和第二客戶端接收到解密事件的第二客戶端到達時間的函數(shù),第二客戶端到達時間與解密密鑰被至少兩臺客戶端接收的時間大致相同。
22.根據(jù)權(quán)利要求21所述的方法,其特征在于,傳輸?shù)牡诙谕臅r間是由對受信任的邊緣服務(wù)器和第二客戶端之間的連接歷史的引用確定的。
23.根據(jù)權(quán)利要求21所述的方法,其特征在于,傳輸?shù)牡诙谕臅r間是由對網(wǎng)絡(luò)功能測試受信任的邊緣服務(wù)器和第二客戶端之間的第二客戶端延遲的結(jié)果的引用確定的。
24.具有用于公平地跨網(wǎng)絡(luò)環(huán)境向至少兩臺客戶端發(fā)布事件的計算機可執(zhí)行的指令的計算機可讀的介質(zhì),事件具有計劃在預(yù)先確定的發(fā)布時間發(fā)布的信息,計算機可執(zhí)行的指令執(zhí)行的步驟包括在發(fā)布時間之前從始發(fā)服務(wù)器向至少兩臺客戶端發(fā)送加密事件;以及在發(fā)布時間之后從密鑰服務(wù)器向至少兩臺客戶端發(fā)送解密密鑰。
25.根據(jù)權(quán)利要求24所述的計算機可讀的介質(zhì),其特征在于,發(fā)送解密密鑰的操作在至少兩臺客戶端都已經(jīng)接收完加密事件之后發(fā)生。
26.根據(jù)權(quán)利要求24所述的計算機可讀的介質(zhì),其特征在于,計算機可執(zhí)行的指令進一步執(zhí)行的步驟包括在發(fā)布時間之前從始發(fā)服務(wù)器向受信任的邊緣服務(wù)器發(fā)送未加密的事件,其特征在于,受信任的邊緣服務(wù)器是始發(fā)服務(wù)器和連接的客戶端之間的通信路徑中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;以及在第二客戶端發(fā)送時間向第二客戶端發(fā)送未加密的事件,第二客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端接收。
27.根據(jù)權(quán)利要求26所述的計算機可讀的介質(zhì),其特征在于,計算機可執(zhí)行的指令進一步執(zhí)行的步驟包括在第三客戶端發(fā)送時間向第三客戶端發(fā)送未加密的事件,第三客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第三客戶端接收。
28.根據(jù)權(quán)利要求26所述的計算機可讀的介質(zhì),其特征在于,第二客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端或第三客戶端中的希望首先接收它的任何一臺客戶端接收,計算機可執(zhí)行的指令進一步執(zhí)行的步驟包括在第二客戶端發(fā)送時間向第三客戶端發(fā)送未加密的事件。
29.根據(jù)權(quán)利要求24所述的計算機可讀的介質(zhì),其特征在于,密鑰服務(wù)器包括兩臺或更多密鑰服務(wù)器。
30.根據(jù)權(quán)利要求24所述的計算機可讀的介質(zhì),其特征在于,發(fā)送解密密鑰的操作在協(xié)調(diào)的密鑰發(fā)送時間發(fā)生,其特征在于,協(xié)調(diào)的密鑰發(fā)送時間基于網(wǎng)絡(luò)環(huán)境中的所有客戶端接收加密事件的時間。
31.具有用于公平地跨網(wǎng)絡(luò)環(huán)境向第一客戶端發(fā)布事件的計算機可執(zhí)行的指令的計算機可讀的介質(zhì),事件具有計劃在預(yù)先確定的發(fā)布時間發(fā)布的信息,計算機可執(zhí)行的指令執(zhí)行的步驟包括從始發(fā)服務(wù)器向受信任的邊緣服務(wù)器發(fā)送加密事件,其特征在于,受信任的邊緣服務(wù)器是始發(fā)服務(wù)器和連接的客戶端之間的通信路徑中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;在受信任的邊緣服務(wù)器上對加密事件進行解密;以及在第一客戶端發(fā)送時間從受信任的邊緣服務(wù)器向第一客戶端發(fā)送解密事件,其特征在于,第一客戶端發(fā)送時間是向第一客戶端傳輸解密事件的第一期望的時間和第一客戶端接收到解密事件的第一客戶端到達時間的函數(shù),其特征在于,第一客戶端到達時間在發(fā)布時間之后。
32.根據(jù)權(quán)利要求31所述的計算機可讀的介質(zhì),其特征在于,傳輸?shù)牡谝黄谕臅r間是由對受信任的邊緣服務(wù)器和第一客戶端之間的連接歷史的引用確定的。
33.根據(jù)權(quán)利要求31所述的計算機可讀的介質(zhì),其特征在于,傳輸?shù)牡谝黄谕臅r間是由對網(wǎng)絡(luò)功能測試受信任的邊緣服務(wù)器和第一客戶端之間的第一客戶端延遲的結(jié)果的引用確定的。
34.根據(jù)權(quán)利要求31所述的計算機可讀的介質(zhì),其特征在于,計算機可執(zhí)行的指令進一步執(zhí)行的步驟包括在第二客戶端發(fā)送時間從受信任的邊緣服務(wù)器向第二客戶端發(fā)送解密事件,其中,第二客戶端發(fā)送時間是向第二客戶端傳輸解密事件的第二期望的時間和第二客戶端接收到解密事件的第二客戶端到達時間的函數(shù),其中,第二客戶端到達時間在發(fā)布時間之后。
35.根據(jù)權(quán)利要求34所述的計算機可讀的介質(zhì),其特征在于,第一客戶端發(fā)送時間是第二客戶端發(fā)送時間。
36.根據(jù)權(quán)利要求34所述的計算機可讀的介質(zhì),其特征在于,第一客戶端到達時間是第二客戶端到達時間。
37.根據(jù)權(quán)利要求31所述的計算機可讀的介質(zhì),其特征在于,第一客戶端到達時間大致與第二客戶端密鑰接收時間相同,并且其中,計算機可執(zhí)行的指令進一步執(zhí)行的步驟包括在發(fā)布時間之前從始發(fā)服務(wù)器向第二客戶端發(fā)送加密事件;以及在發(fā)布時間之后從密鑰服務(wù)器向第二客戶端發(fā)送解密密鑰,第二客戶端在第二客戶端密鑰接收時間接收解密密鑰。
38.具有用于公平地跨網(wǎng)絡(luò)環(huán)境向至少兩臺客戶端發(fā)布事件的計算機可執(zhí)行的指令的計算機可讀的介質(zhì),計算機可執(zhí)行的指令執(zhí)行的步驟包括向至少兩臺客戶端發(fā)送加密事件;以及在至少兩臺客戶端中的所有客戶端都接收接收完加密事件向至少兩臺客戶端發(fā)送解密密鑰。
39.根據(jù)權(quán)利要求38所述的計算機可讀的介質(zhì),其特征在于,計算機可執(zhí)行的指令進一步執(zhí)行的步驟包括向受信任的邊緣服務(wù)器發(fā)送加密事件,其中,受信任的邊緣服務(wù)器是網(wǎng)絡(luò)環(huán)境中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;在受信任的邊緣服務(wù)器上對加密事件進行解密;以及在第二客戶端發(fā)送時間從受信任的邊緣服務(wù)器向第二客戶端發(fā)送解密事件,其中,第二客戶端發(fā)送時間是向第二客戶端傳輸解密事件的第二期望的時間和第二客戶端接收到解密事件的第二客戶端到達時間的函數(shù),第二客戶端到達時間與解密密鑰被至少兩臺客戶端接收的時間大致相同。
40.一種用于公平地發(fā)布事件的系統(tǒng),事件具有計劃在預(yù)先確定的發(fā)布時間發(fā)布的信息,該系統(tǒng)包括始發(fā)服務(wù)器;受信任的邊緣服務(wù)器,其中,受信任的邊緣服務(wù)器是始發(fā)服務(wù)器和連接的客戶端之間的通信路徑中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;密鑰服務(wù)器;以及至少兩臺客戶端;其中,始發(fā)服務(wù)器在發(fā)布時間之前向至少兩臺客戶端發(fā)送加密事件,密鑰服務(wù)器在發(fā)布時間之后向至少兩臺客戶端發(fā)送解密密鑰。
41.根據(jù)權(quán)利要求40所述的系統(tǒng),其特征在于,密鑰服務(wù)器在至少兩臺客戶端中的所有客戶端都已經(jīng)接收完加密事件之后發(fā)送解密密鑰。
42.根據(jù)權(quán)利要求40所述的系統(tǒng),進一步包括第二客戶端,其特征在于,始發(fā)服務(wù)器向受信任的邊緣服務(wù)器發(fā)送未加密的事件,受信任的邊緣服務(wù)器在第二客戶端發(fā)送時間向第二客戶端發(fā)送未加密的事件,第二客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端接收。
43.根據(jù)權(quán)利要求40所述的系統(tǒng),其特征在于,始發(fā)服務(wù)器向至少兩臺客戶端發(fā)送加密事件的操作包括始發(fā)服務(wù)器向受信任的邊緣服務(wù)器發(fā)送未加密的事件,受信任的邊緣服務(wù)器對未加密的事件進行加密,以及受信任的邊緣服務(wù)器向至少兩臺客戶端發(fā)送加密事件。
44.根據(jù)權(quán)利要求40所述的系統(tǒng),其特征在于,密鑰服務(wù)器在協(xié)調(diào)的密鑰發(fā)送時間發(fā)送解密密鑰,其中,協(xié)調(diào)的密鑰發(fā)送時間至少兩臺客戶端接收加密事件的時間。
45.根據(jù)權(quán)利要求40所述的系統(tǒng),進一步包括第二客戶端,其特征在于,始發(fā)服務(wù)器向受信任的邊緣服務(wù)器發(fā)送加密事件,密鑰服務(wù)器向受信任的邊緣服務(wù)器發(fā)送解密密鑰,受信任的邊緣服務(wù)器對加密事件進行解密,受信任的邊緣服務(wù)器在第二客戶端發(fā)送時間向第二客戶端發(fā)送解密事件,第二客戶端發(fā)送時間允許解密事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端接收。
46.根據(jù)權(quán)利要求40所述的系統(tǒng),其特征在于,密鑰服務(wù)器多播一則密鑰消息,該消息至少包括解密密鑰的一個副本。
47.一種用于公平地發(fā)布事件的系統(tǒng),事件具有計劃在預(yù)先確定的發(fā)布時間發(fā)布的信息,該系統(tǒng)包括始發(fā)服務(wù)器;受信任的邊緣服務(wù)器,其中,受信任的邊緣服務(wù)器是始發(fā)服務(wù)器和連接的客戶端之間的通信路徑中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;以及第一客戶端;其中,受信任的邊緣服務(wù)器在第一客戶端發(fā)送時間向第一客戶端發(fā)送未加密的事件,其中,第一客戶端發(fā)送時間是向第一客戶端傳輸解密事件的第一期望的時間和第一客戶端接收到解密事件的第一客戶端到達時間的函數(shù),其中,第一客戶端到達時間在發(fā)布時間之后。
48.根據(jù)權(quán)利要求47所述的系統(tǒng),進一步包括第二客戶端,其特征在于,始發(fā)服務(wù)器向受信任的邊緣服務(wù)器發(fā)送加密事件,受信任的邊緣服務(wù)器對加密事件進行解密,受信任的邊緣服務(wù)器向第二客戶端發(fā)送解密事件以使第二客戶端大致在第一客戶端到達時間接收解密事件。
49.根據(jù)權(quán)利要求47所述的系統(tǒng),其特征在于,傳輸?shù)牡谝黄谕臅r間是由對受信任的邊緣服務(wù)器和第一客戶端之間的連接歷史的引用確定的。
50.根據(jù)權(quán)利要求47所述的系統(tǒng),其特征在于,傳輸?shù)牡谝黄谕臅r間是由對網(wǎng)絡(luò)功能測試受信任的邊緣服務(wù)器和第一客戶端之間的第一客戶端延遲的結(jié)果的引用確定的。
51.根據(jù)權(quán)利要求47所述的系統(tǒng),其特征在于,受信任的邊緣服務(wù)器在第二客戶端發(fā)送時間向第二客戶端發(fā)送未加密的事件,其中,第二客戶端發(fā)送時間是向第二客戶端傳輸未加密的事件的第一期望的時間和第二客戶端接收到未加密的事件的第二客戶端到達時間的函數(shù),其特征在于,第二客戶端到達時間在發(fā)布時間之后。
52.根據(jù)權(quán)利要求51所述的系統(tǒng),其特征在于,第一客戶端發(fā)送時間是第二客戶端發(fā)送時間。
53.根據(jù)權(quán)利要求51所述的系統(tǒng),其特征在于,第一客戶端到達時間是第二客戶端到達時間。
54.根據(jù)權(quán)利要求47所述的系統(tǒng),進一步包括密鑰服務(wù)器,其特征在于,始發(fā)服務(wù)器在發(fā)布時間之前向第二客戶端發(fā)送加密事件,并且密鑰服務(wù)器在發(fā)布時間之后向第二客戶端發(fā)送解密密鑰,第二客戶端在第一客戶端到達時間接收解密密鑰。
55.一種用于公平地發(fā)布事件的系統(tǒng),包括服務(wù)器;以及至少兩臺客戶端;其特征在于,服務(wù)器向至少兩臺客戶端發(fā)送加密事件,服務(wù)器在至少兩臺客戶端中的所有客戶端都已經(jīng)接收到加密事件之后向至少兩臺客戶端發(fā)送解密密鑰。
56.根據(jù)權(quán)利要求55所述的系統(tǒng),進一步包括第二客戶端,其特征在于,服務(wù)器是受信任的邊緣服務(wù)器,受信任的邊緣服務(wù)器是可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器,并且其中,受信任的邊緣服務(wù)器在第二客戶端發(fā)送時間向第二客戶端發(fā)送未加密的事件,第二客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端接收。
57.根據(jù)權(quán)利要求55所述的系統(tǒng),進一步包括第二客戶端,其特征在于,服務(wù)器是受信任的邊緣服務(wù)器,受信任的邊緣服務(wù)器是可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器,并且其中,受信任的邊緣服務(wù)器接收加密事件,對加密事件進行解密,并在第二客戶端發(fā)送時間向第二客戶端發(fā)送解密事件,第二客戶端發(fā)送時間允許解密事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端接收。
58.根據(jù)權(quán)利要求57所述的系統(tǒng),其特征在于,第二客戶端發(fā)送時間是由對受信任的邊緣服務(wù)器和第二客戶端之間的連接歷史的引用確定的。
59.根據(jù)權(quán)利要求57所述的系統(tǒng),其特征在于,第二客戶端發(fā)送時間是由對網(wǎng)絡(luò)功能測試受信任的邊緣服務(wù)器和第二客戶端之間的第二客戶端延遲的結(jié)果的引用確定的。
60.一種用于公平地跨網(wǎng)絡(luò)環(huán)境向至少兩臺客戶端發(fā)布事件的方法,事件具有計劃在預(yù)先確定的發(fā)布時間發(fā)布的信息,該方法包括在發(fā)布時間之前從始發(fā)服務(wù)器向至少兩臺客戶端發(fā)送加密事件的步驟;以及在發(fā)布時間之后從密鑰服務(wù)器向至少兩臺客戶端發(fā)送解密密鑰的步驟。
61.根據(jù)權(quán)利要求60所述的方法,其特征在于,發(fā)送解密密鑰的步驟在至少兩臺客戶端中的所有客戶端都已經(jīng)接收完加密事件之后發(fā)生。
62.根據(jù)權(quán)利要求60所述的方法,進一步包括在發(fā)布時間之前從始發(fā)服務(wù)器向受信任的邊緣服務(wù)器發(fā)送未加密的事件的步驟,其中,受信任的邊緣服務(wù)器是始發(fā)服務(wù)器和連接的客戶端之間的通信路徑中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器;以及在第二客戶端發(fā)送時間向第二客戶端發(fā)送未加密的事件的步驟,第二客戶端發(fā)送時間允許未加密的事件在與解密密鑰被至少兩臺客戶端接收的時間大致相同的時間被第二客戶端接收。
63.受信任的邊緣服務(wù)器是始發(fā)服務(wù)器和連接的客戶端之間的通信路徑中的可以被信任不在合適的時間之前發(fā)布信息的一臺服務(wù)器,受信任的邊緣服務(wù)器包括用于在發(fā)布時間之前向第一客戶端發(fā)送加密事件的裝置,其特征在于,事件包括計劃在發(fā)布時間發(fā)布的信息;以及用于在發(fā)布時間之后向第一客戶端發(fā)送解密密鑰的裝置。
64.根據(jù)權(quán)利要求63所述的受信任的邊緣服務(wù)器,其特征在于,發(fā)送解密密鑰的操作在第一客戶端已經(jīng)接收完加密事件之后發(fā)生。
65.根據(jù)權(quán)利要求63所述的受信任的邊緣服務(wù)器,進一步包括用于對加密事件進行解密的裝置;以及用于在第二客戶端發(fā)送時間向第二客戶端發(fā)送解密事件的裝置,第二客戶端發(fā)送時間允許解密事件在與解密密鑰被第一客戶端接收的大致相同的時間被第二客戶端接收。
66.根據(jù)權(quán)利要求65所述的受信任的邊緣服務(wù)器,其特征在于,第二客戶端發(fā)送時間是由對受信任的邊緣服務(wù)器和第二客戶端之間的連接歷史的引用確定的。
67.根據(jù)權(quán)利要求65所述的受信任的邊緣服務(wù)器,其特征在于,第二客戶端發(fā)送時間是由對網(wǎng)絡(luò)功能測試受信任的邊緣服務(wù)器和第二客戶端之間的第二客戶端延遲的結(jié)果的引用確定的。
68.根據(jù)權(quán)利要求63所述的受信任的邊緣服務(wù)器,進一步包括用于在第二客戶端發(fā)送時間向第二客戶端發(fā)送未加密的事件的裝置,第二客戶端發(fā)送時間允許未加密的事件在與解密密鑰被第一客戶端接收的大致相同的時間被第二客戶端接收。
全文摘要
為提供發(fā)布的公正性,包含不計劃在發(fā)布時間之前發(fā)布的信息的加密事件,可以在發(fā)布時間之前發(fā)送到客戶端。于是,大量的信息可以向客戶端傳輸,而不考慮傳輸?shù)某掷m(xù)時間。在發(fā)布時間,可以利用多個網(wǎng)絡(luò)路徑從中心服務(wù)器或從多臺服務(wù)器發(fā)送小的解密密鑰,以確保每一客戶端都以最小的延遲接收解密密鑰的可能性最大。從而每一臺客戶端都可以在大致相同的時間訪問信息,不管每一臺客戶端的帶寬如何。此外,可以被信任不在合適的時間之前發(fā)布信息的受信任的邊緣服務(wù)器,可以發(fā)送未加密的事件,或?qū)用苁录M行解密并在發(fā)布時間之前或之后的確定的時間發(fā)送解密事件,以使解密或未加密的事件在與密鑰到達其他客戶端的大致相同的時間到達不能存儲加密事件并對其進行解密的客戶端。如此,每一臺客戶端都可以在大致相同的時間接收到信息,不管客戶端的帶寬或其存儲信息和對其進行解密的能力如何。
文檔編號G06F13/00GK1448858SQ0312061
公開日2003年10月15日 申請日期2003年3月14日 優(yōu)先權(quán)日2002年3月15日
發(fā)明者文卡塔·N·帕德曼納翰, 路易斯·菲利普·卡布萊拉 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1