欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用數(shù)據(jù)依賴組塊的優(yōu)化數(shù)據(jù)流壓縮的制作方法

文檔序號:7515757閱讀:146來源:國知局
專利名稱:使用數(shù)據(jù)依賴組塊的優(yōu)化數(shù)據(jù)流壓縮的制作方法
使用數(shù)據(jù)依賴組塊的優(yōu)化數(shù)據(jù)流壓縮背景通常,互連的基于計算的系統(tǒng)在其本身之間發(fā)送大量數(shù)據(jù)。計算設(shè)備可將數(shù)據(jù)作為整體通信(發(fā)送和接收),或可將數(shù)據(jù)分段成允許高效并可行的傳輸?shù)目晒芾聿糠?。為?一個諸如服務(wù)器等計算設(shè)備向另一設(shè)備(例如,客戶機設(shè)備)提供數(shù)據(jù),可將數(shù)據(jù)作為流發(fā) 送。數(shù)據(jù)的流化提供增加的功能,以允許用戶更快地接收數(shù)據(jù)。在沒有流化的情況下,客戶 機設(shè)備可能在整個數(shù)據(jù)可被呈現(xiàn)在客戶端處之前經(jīng)歷延遲。設(shè)備(例如,服務(wù)器)可按壓縮形式來發(fā)送數(shù)據(jù)。壓縮導(dǎo)致一個或多個設(shè)備之間 的數(shù)據(jù)在網(wǎng)絡(luò)上的高效流化。例如,包括服務(wù)器設(shè)備和一個或多個客戶機設(shè)備的網(wǎng)絡(luò)可具 有有限的帶寬。該帶寬可能限制在特定時間量內(nèi)從服務(wù)器發(fā)送到客戶機設(shè)備的數(shù)據(jù)的量。 通過壓縮流化數(shù)據(jù),可在任一時刻通過低帶寬網(wǎng)絡(luò)傳輸更多數(shù)據(jù)并因此改善流化數(shù)據(jù)的效用。由微軟公司開發(fā)的諸如遠程桌面協(xié)議(RDP)等協(xié)議可使用用于實現(xiàn)數(shù)據(jù)壓縮的 各種技術(shù)。這些技術(shù)取決于需求可以是有損的或無損的。這些技術(shù)通過流化數(shù)據(jù)而減少了 帶寬使用。概述提供此概述以介紹實現(xiàn)流實時壓縮的概念。這些概念將在以下詳細描述中進一步 描述。本概述并不旨在標(biāo)識所要求保護的主題的必要特征,也不旨在用于幫助確定所要求 保護的主題的范圍。在一實施例中,通過將字節(jié)碼序列分成數(shù)據(jù)組塊來在數(shù)據(jù)流的字節(jié)碼序列上執(zhí)行 壓縮。一唯一簽名與數(shù)據(jù)組塊相關(guān)聯(lián)。將數(shù)據(jù)組塊的簽名與之前存儲的簽名相比較??稍?匹配的數(shù)據(jù)組塊上進一步執(zhí)行掃描以確定匹配長度,該長度可能延伸到比組塊大小更長。附圖簡述參考附圖來描述詳細描述。在附圖中,附圖標(biāo)記中最左邊的數(shù)字標(biāo)識該附圖標(biāo)記 首次出現(xiàn)的附圖。在各附圖中,使用相同的標(biāo)號來指示相同的特征和組件。

圖1示出用于實現(xiàn)實時壓縮的示例性體系結(jié)構(gòu)的框圖。圖2示出實現(xiàn)實時壓縮的示例性計算系統(tǒng)的框圖。圖3(A)、3(B)、以及3(C)示出用于實現(xiàn)流化實時壓縮的示例性方法的流程圖。圖4示出示例性通用計算環(huán)境的框圖。詳細描述描述了用于實現(xiàn)流化實時壓縮的系統(tǒng)和方法。如上所述,可通過經(jīng)由通信設(shè)備之 間的連接介質(zhì)流化數(shù)據(jù)來實現(xiàn)一個或多個基于計算的設(shè)備之間的數(shù)據(jù)的通信。例如,客戶 機可請求服務(wù)器以訪問數(shù)據(jù)??赏ㄟ^網(wǎng)絡(luò)以流化數(shù)據(jù)的形式向用戶發(fā)送數(shù)據(jù)??稍诎l(fā)送數(shù) 據(jù)之前壓縮該流化數(shù)據(jù)。作為示例,在實現(xiàn)諸如遠程桌面協(xié)議(RDP)等協(xié)議的情況下,可使用批量壓縮技 術(shù)來最小化通過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)的大小??蓪?shù)據(jù)作為分組發(fā)送??上蝾A(yù)期目的地發(fā)送被 壓縮的數(shù)據(jù)分組。在目的地處,可解壓縮被壓縮的數(shù)據(jù)分組以還原被壓縮的分組內(nèi)的數(shù)據(jù)。在其中未執(zhí)行壓縮的情況下,以未壓縮的形式向目的地發(fā)送數(shù)據(jù),且可為后續(xù)數(shù)據(jù)分組執(zhí) 行數(shù)據(jù)壓縮。 為此,系統(tǒng)可包括用于壓縮要發(fā)送的數(shù)據(jù)分組的一個或多個模塊。這些模塊可將 例如字節(jié)碼序列等輸入數(shù)據(jù)流分成一個或多個數(shù)據(jù)“組塊”。在一實現(xiàn)中,數(shù)據(jù)組塊的大小 是可調(diào)節(jié)的。具體而言,組塊的平均大小是可調(diào)節(jié)的,但組塊長度不是固定的,平均大小由 基于流本身中的數(shù)據(jù)的特性來決定在數(shù)據(jù)流中的何處放置組塊起始或結(jié)尾的組塊算法確 定。數(shù)據(jù)組塊可與諸如區(qū)分?jǐn)?shù)據(jù)組塊的簽名等標(biāo)識符相關(guān)聯(lián)。因此,不同數(shù)據(jù)組塊可通過 不同簽名來標(biāo)識??杀换Q地稱為“簽名數(shù)據(jù)組塊”的與簽名相關(guān)聯(lián)的數(shù)據(jù)組塊可與儲存 庫或歷史緩沖區(qū)相比較。歷史緩沖區(qū)包括各自都與其相應(yīng)簽名相關(guān)聯(lián)的之前被發(fā)送的數(shù)據(jù) 組塊的集合?;诒容^,可改變輸入數(shù)據(jù)以包括對應(yīng)于類似數(shù)據(jù)組塊的引用,而不是數(shù)據(jù)組 塊本身的字節(jié)碼。因此,可將輸入數(shù)據(jù)流的部分作為具有基于與從歷史緩沖區(qū)獲取的數(shù)據(jù) 組塊的比較的一個或多個引用,連同在歷史緩沖區(qū)內(nèi)沒有對應(yīng)匹配的一系列字節(jié)碼的流來 發(fā)送。歷史緩沖區(qū)的較大大小可因此導(dǎo)致較好的搜索。此外,歷史緩沖區(qū)及其相應(yīng)的存儲器開銷是可調(diào)節(jié)的。由于歷史緩沖區(qū)的有限大 小及其存儲器開銷;且由于按每字節(jié)的基礎(chǔ)進行檢查的需要造成的慢搜索速度,之前的技 術(shù)有限制的。例如,占用歷史緩沖區(qū)的每一字節(jié)將需要額外四字節(jié)的存儲器開銷。在當(dāng)前 的即時情況下,歷史緩沖區(qū)和存儲器開銷的大小是可調(diào)節(jié)的,例如,600KB大小的歷史緩沖 區(qū)可具有2MB的存儲器開銷。在一實現(xiàn)中,所述壓縮技術(shù)還可追加另一輔助壓縮模塊。操縱該輔助壓縮模塊以 收集相應(yīng)數(shù)據(jù)組塊與被存儲在歷史緩沖區(qū)中的數(shù)據(jù)組塊的簽名之間的較接近的匹配。即 使較高質(zhì)量的壓縮算法(即,輔助壓縮輪次或模塊)能夠處理整個數(shù)據(jù),此類基于簽名的 組塊壓縮也可用作用于較高質(zhì)量的Lempel-Ziv或類似壓縮算法的預(yù)處理器。這可應(yīng)用在 諸如RDP等實時敏感應(yīng)用程序中。應(yīng)該理解,Lempel-Ziv僅是示例性方法??刹捎弥T如 Burrows-Wheeler等其它算法,其中此類算法是獲取基于其編碼方案的最大壓縮的高質(zhì)量 算法,與所述的不這樣做的基于組塊的方法相對。盡管涉及實現(xiàn)不同主題短語提取的所述 系統(tǒng)和方法的各方面可用任何數(shù)目的不同計算系統(tǒng)、環(huán)境和/或配置實現(xiàn),但在以下系統(tǒng) 體系結(jié)構(gòu)的上下文中描述系統(tǒng)分析和管理的實施例。用于實時壓縮的示例性體系結(jié)構(gòu)圖1示出實現(xiàn)流化實時壓縮的示例性計算機系統(tǒng)100。計算機系統(tǒng)100包括服務(wù) 器計算設(shè)備102、網(wǎng)絡(luò)104以及一個或多個基于計算的設(shè)備或客戶機設(shè)備106(1)-(N)。月艮 務(wù)器計算設(shè)備102和客戶機設(shè)備106 (I)-(N)可包括個人計算機(PC)、web服務(wù)器、電子郵 件服務(wù)器、家庭娛樂設(shè)備、游戲控制臺、機頂盒以及本領(lǐng)域中已知的任何其它基于計算的設(shè) 備。客戶機設(shè)備106(1)-(N)可被統(tǒng)稱為客戶機設(shè)備106。此外,計算機系統(tǒng)100可包括任何數(shù)量的客戶機設(shè)備106。例如,計算機系統(tǒng)100 可以是公司網(wǎng)絡(luò),包括遍及若干國家的數(shù)千臺辦公室PC、各種服務(wù)器以及任何其他基于計 算的設(shè)備。或者,在另一可能的實現(xiàn)中,系統(tǒng)100可包括具有屬于單個家庭的有限數(shù)目的PC 的家庭網(wǎng)絡(luò)。客戶機設(shè)備106可通過包括LAN、WAN或任何其它本領(lǐng)域已知的聯(lián)網(wǎng)技術(shù)的有 線和/或無線網(wǎng)絡(luò)來按照各種組合彼此耦合。 服務(wù)器計算設(shè)備102可提供用于遠程應(yīng)用程序的終端服務(wù)。服務(wù)器計算設(shè)備102可主存一個或多個可在其上執(zhí)行的應(yīng)用程序。在執(zhí)行時,服務(wù)器計算設(shè)備102可通過網(wǎng)絡(luò) 104將相關(guān)輸出發(fā)送到客戶機設(shè)備106中的一個或多個。計算機100的示例包括但不限于 基于RDP的系統(tǒng)。服務(wù)器計算設(shè)備102可被稱作服務(wù)器102。服務(wù)器計算設(shè)備102包括存儲器108。存儲器108進一步包括壓縮模塊110和簽 名模塊112。壓縮模塊110壓縮要從服務(wù)器計算設(shè)備102發(fā)送到客戶機設(shè)備106中的任一 個的數(shù)據(jù)。所生成的數(shù)據(jù)是執(zhí)行服務(wù)器計算設(shè)備102上存在的一個或多個應(yīng)用程序的結(jié) 果??稍谂c客戶機設(shè)備106中的任一個或多個交互或收到來自客戶機設(shè)備106中的任一個 或多個的命令時執(zhí)行服務(wù)器計算設(shè)備102上的應(yīng)用程序。壓縮模塊110可通過將要發(fā)送的數(shù)據(jù)分成一個或多個數(shù)據(jù)組塊來實現(xiàn)壓縮。通 常,可將數(shù)據(jù)表示為一系列字節(jié)。數(shù)據(jù)組塊中的每一個因此對應(yīng)于字節(jié)碼序列的一個或多 個部分。在一實現(xiàn)中,壓縮模塊108基于被包括在輸入數(shù)據(jù)流內(nèi)的數(shù)據(jù)來執(zhí)行劃分。出于討論的目的,局部內(nèi)容相關(guān)組塊化可表示僅基于局部信息將數(shù)據(jù)流分成組塊 的方法。換言之,給定數(shù)據(jù)流中的組塊邊界的位置可僅取決于到邊界位置的左側(cè)和右側(cè)的 固定數(shù)量的字節(jié)的值。局部(即,數(shù)據(jù)相關(guān))組塊化方法的意義是保證了僅在第一字節(jié)的內(nèi)容上不同的 數(shù)據(jù)流將具有除第一組塊之外相等的組塊。這可轉(zhuǎn)換成對抗數(shù)據(jù)流中的位置中的不對齊的 組塊化。使用組塊及其簽名的意義是按字節(jié)進行相對較少的查找(即,散列表)。因為組塊 由若干字節(jié)構(gòu)成,每個組塊進行一次查找,所以平均每字節(jié)將少于一次散列表查找。或者, 組塊大小可以是固定的(例如,16)并為滑動窗口(例如,16字節(jié))計算簽名,且使為每一 字節(jié)進行表查找。這允許了尋找匹配16字節(jié)組塊的每一對的能力,但可能需要每字節(jié)一次 表查找,且經(jīng)受較高的計算開銷?;跀?shù)據(jù)相關(guān)組塊化的壓縮不具有此類計算開銷。以下是用于實現(xiàn)數(shù)據(jù)相關(guān)組塊化的示例。范圍h = 16且窗口大小W= 16是固定 的。每w(16)字節(jié)的序列被作為128比特數(shù)(16X8 = 128)對待。令B為字節(jié)的緩沖/流。 B[I:J]表示來自B的以I開始并在J結(jié)束的字節(jié)的子序列。如果序列B[I+h-w:I+h-l]在 被解釋為數(shù)字時大于左側(cè)和右側(cè)的所有2h個數(shù)字B [I-w: 1-1]…B [I+2h-w: I+2h-l],則位置B[I+h-l]是組塊邊界??蓪崿F(xiàn)用于基于定義確定組塊邊界的高效算法。在將數(shù)據(jù)分成數(shù)據(jù)組塊后,簽名模塊112將這些數(shù)據(jù)組塊與諸如簽名等索引相關(guān) 聯(lián)。簽名模塊112基于數(shù)據(jù)流的屬性將簽名與可變大小數(shù)據(jù)組塊進行關(guān)聯(lián)。因此,區(qū)分具 有不同簽名的數(shù)據(jù)組塊。類似簽名可以指示將數(shù)據(jù)組塊在其內(nèi)包括類似的字節(jié)數(shù)據(jù)。可將 簽名數(shù)據(jù)組塊存儲在外部儲存庫中作為數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)可包括指向存儲在歷史緩沖區(qū) 中的一個或多個數(shù)據(jù)組塊的指針。要發(fā)送的數(shù)據(jù)流可被表示為以一個或多個索引間歇的一 系列字節(jié)碼,其中這些索引與對應(yīng)字節(jié)碼相關(guān)聯(lián)。參考圖2更詳細地描述將數(shù)據(jù)字節(jié)分成一個或多個數(shù)據(jù)組塊和壓縮數(shù)據(jù)流的各 方面。示例性服務(wù)器設(shè)備圖2示出服務(wù)器計算設(shè)備102的相關(guān)示例性組件。被稱為服務(wù)器102的服務(wù)器 計算設(shè)備102可包括一個或多個處理器202、網(wǎng)絡(luò)接口 204、輸入/輸出接口 206和存儲器108。處理器202可以包括微處理器、微型計算機、微控制器、數(shù)字信號處理器、中央處理單元、狀態(tài)機、邏輯電路和/或基于操作指令操作信號的任何設(shè)備。處理器202被配置成取回并執(zhí)行存儲在存儲器108中的計算機可讀指令,并且具有其它能力。網(wǎng)絡(luò)接口 204允許服務(wù)器102通過網(wǎng)絡(luò)104與其它基于計算的設(shè)備(例如,客戶 機設(shè)備106)通信。網(wǎng)絡(luò)接口 204可包括用于將多個計算設(shè)備彼此連接或連接到服務(wù)器計 算設(shè)備的一個或多個端口。網(wǎng)絡(luò)接口 204可便于各種各樣網(wǎng)絡(luò)和協(xié)議類型內(nèi)的通信,包括 有線網(wǎng)絡(luò)(例如,LAN、電纜等)和無線網(wǎng)絡(luò)(例如,WLAN、蜂窩、衛(wèi)星等)。輸入/輸出接口 206提供用于服務(wù)器102的輸入-輸出功能。輸入/輸出接口 206可包括用于連接諸如鍵盤、鼠標(biāo)等多個輸入設(shè)備和諸如監(jiān)視器、揚聲器等多個輸出設(shè)備 的一個或多個端口。在一實現(xiàn)中,服務(wù)器102經(jīng)由通過輸入/輸出接口 206連接的鍵盤或 鼠標(biāo)接收來自用戶的諸如應(yīng)用組件描述等輸入數(shù)據(jù)。存儲器108可包括本領(lǐng)域已知的任何計算機可讀介質(zhì),例如包括易失性存儲器 (例如RAM)和/或非易失性存儲器(例如,閃存)。如圖2中所示,存儲器108還可包括程 序208和數(shù)據(jù)210。程序208包括例如壓縮模塊110、簽名模塊112、輔助壓縮模塊222和其 它應(yīng)用程序212。其它應(yīng)用程序212包括諸如應(yīng)用程序更新等補充基于計算的設(shè)備上的應(yīng) 用程序的程序。數(shù)據(jù)210包括例如簽名數(shù)據(jù)庫214、歷史緩沖區(qū)216、數(shù)據(jù)組塊218、以及其 它數(shù)據(jù)220。壓縮模塊110實現(xiàn)輸入數(shù)據(jù)流的壓縮以供信息從服務(wù)器102發(fā)送到客戶機設(shè)備 106中的任一或多個。數(shù)據(jù)的發(fā)送可用于實現(xiàn)基于RDP的應(yīng)用程序。雖然此處所述的示例 中的某一些是基于實現(xiàn)RDP的應(yīng)用程序的,但是此類技術(shù)也可應(yīng)用到其它環(huán)境。為此,壓縮 模塊110將數(shù)據(jù)流分成一個或多個數(shù)據(jù)組塊。數(shù)據(jù)組塊可以是可變字節(jié)長度的,或可以是 固定字節(jié)長度的。例如,服務(wù)器102接收以下字節(jié)碼序列作為輸入數(shù)據(jù)流的一部分,以供從一個源 向指定目的地發(fā)送45974563945146上文所示的字節(jié)碼可以是可變長度的。在一實現(xiàn)中,可將要發(fā)送的數(shù)據(jù)流存儲在 歷史緩沖區(qū)216中。將數(shù)據(jù)添加到歷史緩沖區(qū)216。一旦被添加,可將數(shù)據(jù)發(fā)送到壓縮模塊 110。壓縮模塊110將數(shù)據(jù)流分成一個或多個數(shù)據(jù)組塊218。回到如上所示的示例,可將字 節(jié)碼序列分成兩個部分,被稱為組塊A的4 5 9 7 4 5 6;以及被稱為組塊B的3 9 4 5 1 4 6??蓪⒔M塊A和B存儲在數(shù)據(jù)組塊218中,并在此示例中示為具有相等數(shù)量的字節(jié)碼。 可將輸入數(shù)據(jù)流分成可包括可變數(shù)量的字節(jié)碼的任何數(shù)量的數(shù)據(jù)組塊而不背離所要求保 護的主題的范圍。各數(shù)據(jù)組塊218中的字節(jié)碼對應(yīng)于被包括在輸入數(shù)據(jù)流內(nèi)的字節(jié)碼。在 一實現(xiàn)中,數(shù)據(jù)組塊218中的字節(jié)碼的平均長度可以是16字節(jié)??墒褂帽绢I(lǐng)域中已知的任何技術(shù)來實現(xiàn)其中執(zhí)行數(shù)據(jù)流的劃分的方式。在一實現(xiàn) 中,由壓縮模塊110執(zhí)行的劃分基于在之前出現(xiàn)的字節(jié)碼序列內(nèi)存在的之前出現(xiàn)的字節(jié)碼 模式來對數(shù)據(jù)流進行劃分。一般而言,壓縮是基于存在許多冗余的觀察的。劃分不是真地 綁定到冗余,而是綁定到在基于類似數(shù)據(jù)模式將“穩(wěn)定”選擇相同割點的算法。發(fā)送冗余數(shù) 據(jù)可造成開銷,進而影響系統(tǒng)性能。而劃分,其中在數(shù)據(jù)流上完成劃分的被稱為割點的點可 基于數(shù)據(jù)流本身的內(nèi)容。在另一實現(xiàn)中,即使類似字節(jié)碼由不同字節(jié)碼模式圍繞,壓縮模塊 110也為類似字節(jié)碼產(chǎn)生類似數(shù)據(jù)組塊。在一實現(xiàn)中,壓縮模塊110基于各已知塊識別器(chunker)功能之一對數(shù)據(jù)流進行劃分。如此示例中所述的壓縮,按每數(shù)據(jù)組塊的基礎(chǔ)而不是按如前所述的每字節(jié)碼的基礎(chǔ)進行。從由壓縮模塊110進行的對字節(jié)碼序列的劃分獲取的數(shù)據(jù)組塊218,即組塊A和B 與簽名相關(guān)聯(lián)。在一實現(xiàn)中,簽名模塊112將數(shù)據(jù)組塊218與簽名相關(guān)聯(lián)。簽名模塊112 基于被包括在數(shù)據(jù)組塊218內(nèi)的字節(jié)碼來評估該簽名。在一實現(xiàn)中,簽名模塊112通過對 數(shù)據(jù)組塊218使用散列算法來評估簽名??蓪⒑灻麛?shù)據(jù)組塊存儲在簽名數(shù)據(jù)庫214中。在 一實現(xiàn)中,簽名數(shù)據(jù)庫214是保留簽名數(shù)據(jù)組塊連同數(shù)據(jù)組塊218的偏移量的存儲器內(nèi)散 列表。存儲在簽名數(shù)據(jù)庫214中的簽名數(shù)據(jù)組塊還可對應(yīng)于之前被服務(wù)器102壓縮并發(fā)送 的數(shù)據(jù)組塊。將簽名組塊A和B與所存儲的簽名數(shù)據(jù)組塊進行比較。如上所述,所存儲的簽名 數(shù)據(jù)組塊對應(yīng)于之前已被發(fā)送的數(shù)據(jù)??刹倏v簽名模塊112來將組塊A和B的簽名與所存 儲的對應(yīng)于之前發(fā)送的數(shù)據(jù)組塊的簽名進行比較。還可通過諸如使用散列算法的模塊等已 知技術(shù)來評估與之前被發(fā)送的數(shù)據(jù)組塊相關(guān)聯(lián)的簽名。由簽名模塊112執(zhí)行的比較確定組塊A和B與之前發(fā)送的數(shù)據(jù)組塊之間的類似的 程度。例如,如果一個或多個數(shù)據(jù)組塊和之前的數(shù)據(jù)組塊各自的簽名是類似的,則可認(rèn)為這 一個或多個數(shù)據(jù)組塊與之前的數(shù)據(jù)組塊匹配。不完全相同但類似的數(shù)據(jù)組塊可被認(rèn)作類似 數(shù)據(jù)組塊,可指示輸入數(shù)據(jù)流的一個或多個字節(jié)碼之間的較大類似度而不僅是一個或多個 數(shù)據(jù)組塊中的類似字節(jié)碼。簽名模塊112列出具有類似于對應(yīng)于輸入數(shù)據(jù)流的字節(jié)碼的組塊的簽名的簽名 的數(shù)據(jù)組塊218,如組塊A和B。如果簽名模塊112未找到具有與所考慮的數(shù)據(jù)組塊(例如, 組塊A或B)類似的簽名的任何數(shù)據(jù)組塊218,則按未變更的方式來發(fā)送其對應(yīng)字節(jié)碼,即, 按字面發(fā)送到輸出緩沖區(qū)。在一實現(xiàn)中,可將所列出的數(shù)據(jù)組塊存儲在數(shù)據(jù)組塊218中。對具有與組塊A或B類似的簽名的數(shù)據(jù)組塊218中的每一個而言,掃描匹配候選 以查明組塊A或B中之一與被發(fā)現(xiàn)具有與其相關(guān)聯(lián)的類似簽名的數(shù)據(jù)組塊218之間的類似 程度。例如,壓縮模塊110可掃描匹配候選以查明數(shù)據(jù)組塊218之間的類似程度。應(yīng)該注 意,簽名的類似度由于字節(jié)碼模式中的類似度而出現(xiàn)。作為示例,數(shù)據(jù)組塊A的簽名在其字 節(jié)碼序列與另一數(shù)據(jù)組塊的字節(jié)碼序列的某些部分相同時與該數(shù)據(jù)組塊類似。因此,在掃 描的同時,壓縮模塊110執(zhí)行匹配候選的字節(jié)碼序列的向前和向后掃描以確定是否有較大 模式在諸如數(shù)據(jù)組塊218之一等數(shù)據(jù)組塊內(nèi)存在。數(shù)據(jù)組塊的所得部分是被稱為匹配長度 的較大字節(jié)碼序列,其匹配于對應(yīng)于輸入流的數(shù)據(jù)組塊218內(nèi)的字節(jié)碼序列。可將匹配長 度存儲在其它數(shù)據(jù)220中。在如上所述的方式中,通過為多個組塊執(zhí)行以上技術(shù)來獲取不同匹配長度的集 合。在一實現(xiàn)中,用于獲取匹配長度集合的組塊搜索的數(shù)量可受一閾值限制。例如,壓縮模 塊110可掃描匹配候選的集合以獲取具有與閾值相等數(shù)量的匹配長度的匹配長度集合。應(yīng) 該注意,在基于RDP的應(yīng)用中,數(shù)據(jù)流使得存在匹配數(shù)據(jù)組塊形成大得多的匹配分段的一 部分的非常高的可能性。因此,僅檢查匹配組塊將允許尋找包括比組塊本身大的匹配的字 節(jié)序列。優(yōu)化匹配長度集合內(nèi)的匹配長度以選擇匹配的最佳組合。產(chǎn)生對優(yōu)化的需要,因 為匹配長度中的某一些可具有與其它匹配長度重疊的部分。在一實現(xiàn)中,可使用本領(lǐng)域中已知的“貪婪”算法來優(yōu)化匹配長度集合。例如,排除了完全包括在另一匹配長度內(nèi)的匹配 長度。本領(lǐng)域中已知的其它機制也可用于優(yōu)化匹配長度集合。一旦獲取了最佳匹配長度,壓縮模塊110生成輸出作為包括匹配長度、復(fù)制偏移元組、以及字節(jié)碼序列的列表。字節(jié)碼序列是對其沒有找到具有類似簽名的匹配候選的那 些。匹配長度還包括指示在輸入數(shù)據(jù)流中被替換的字節(jié)的位置和數(shù)量的屬性。在一實現(xiàn) 中,在沒有任何位封裝的情況下生成壓縮模塊110的輸出以維護后續(xù)字節(jié)碼序列的字節(jié)碼 對齊。將由壓縮模塊110生成的輸出傳遞到輔助壓縮模塊222。輔助壓縮模塊222可用于 確定可能被壓縮模塊110忽視的較接近并較短的長度匹配。輔助壓縮模塊的示例包括但不 限于由Microsoft⑧公司開發(fā)的諸如MPPC壓縮器、RDP批量壓縮器等壓縮器。示例性方法參考圖1和2描述了用于實現(xiàn)流化實時壓縮的示例性方法。這些示例性方法可在 計算機可執(zhí)行指令的一般上下文中描述。一般而言,計算機可執(zhí)行指令可包括執(zhí)行特定功 能或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、過程、模塊、功能等。這 些方法還能在其中功能由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備完成的分布式計算環(huán)境中實 現(xiàn)。在分布式計算環(huán)境中,計算機可執(zhí)行指令可以位于包括存儲器存儲設(shè)備在內(nèi)的本地和 遠程計算機存儲介質(zhì)中。圖3㈧、3(B)、以及3(C)示出描述由駐留在計算設(shè)備(例如,客戶機設(shè)備106中 的任一個或多個)上的一個或多個程序模塊或代理實現(xiàn)的流化實時壓縮的示例性流程圖 300。描述各方法的次序并不旨在解釋為限制,并且任何數(shù)量的所述方法框都可以按任 何次序組合以實現(xiàn)各方法或?qū)崿F(xiàn)替換方法。另外,可從方法中刪除各個框,而不背離此處所 述的主題的精神和范圍。此外,本方法可以用任何合適的硬件、軟件、固件或其組合來實現(xiàn)。在框302,可將輸入數(shù)據(jù)流作為字節(jié)碼序列接收。例如,壓縮模塊110可接收字節(jié) 碼序列作為旨在從諸如服務(wù)器102等源向諸如客戶機設(shè)備106中的一個或多個等目的地發(fā) 送的輸入數(shù)據(jù)流的一部分。通常,可將流化數(shù)據(jù)作為一系列數(shù)據(jù)分組發(fā)送。數(shù)據(jù)分組中的每 一個包括使用字節(jié)碼序列形式的數(shù)據(jù)。在一實現(xiàn)中,將字節(jié)碼序列添加到歷史緩沖區(qū)216。 還可使用滑動窗機制將字節(jié)碼序列容納在歷史緩沖區(qū)216內(nèi)。在框304,可將字節(jié)碼序列分成一個或多個數(shù)據(jù)組塊。例如,壓縮模塊110可將字 節(jié)碼序列分成兩個數(shù)據(jù)組塊,如組塊A和組塊B。各數(shù)據(jù)組塊218中的字節(jié)碼對應(yīng)于被包括 在輸入數(shù)據(jù)流內(nèi)的字節(jié)碼。在一實現(xiàn)中,數(shù)據(jù)組塊218中的字節(jié)碼的平均長度可以是16字 節(jié)。可使用本領(lǐng)域中已知的任何技術(shù)來實現(xiàn)其中執(zhí)行數(shù)據(jù)流的劃分的方式。在一實現(xiàn)中, 由壓縮模塊110執(zhí)行的劃分基于之前出現(xiàn)的數(shù)據(jù)流內(nèi)存在的之前出現(xiàn)的字節(jié)碼模式來對 數(shù)據(jù)流進行劃分。可將數(shù)據(jù)組塊(組塊A和B)作為數(shù)據(jù)組塊218存儲。在框306,簽名可與數(shù)據(jù)組塊相關(guān)聯(lián)。例如,簽名模塊112可將簽名與數(shù)據(jù)組塊A 和B相關(guān)聯(lián)。簽名模塊112基于被包括在數(shù)據(jù)組塊218內(nèi)的字節(jié)碼來評估該簽名。簽名模 塊112通過對數(shù)據(jù)組塊218使用散列算法來評估簽名??蓪⒑灻麛?shù)據(jù)組塊存儲在簽名數(shù)據(jù) 庫214中。在框308,將對應(yīng)于輸入數(shù)據(jù)流的數(shù)據(jù)組塊的簽名與之前被通信的數(shù)據(jù)組塊的被 存儲的簽名相比較。在一實現(xiàn)中,簽名模塊112將組塊A和B的簽名與來自所存儲的之前發(fā)送的數(shù)據(jù)組塊的簽名相比較。該比較確定組塊A和B與之前發(fā)送的數(shù)據(jù)組塊之間的類似的程度??纱_定具有高的匹配可能性的組塊。不完全相同但類似的數(shù)據(jù)組塊可被考慮,因 為類似數(shù)據(jù)組塊可指示輸入數(shù)據(jù)流的一個或多個字節(jié)碼之間的較大類似度而不僅是一個 或多個數(shù)據(jù)組塊中的類似字節(jié)碼。在簽名模塊112未找到具有與所考慮的數(shù)據(jù)組塊(如, 組塊A或B)類似的簽名的任何數(shù)據(jù)組塊218的情況下,按未變更的方式來發(fā)射其對應(yīng)字節(jié) 碼,即,按字面發(fā)送到輸出緩沖區(qū)。在框310,確定被稱為匹配長度的字節(jié)碼的序列。應(yīng)該注意,輸入數(shù)據(jù)流的數(shù)據(jù)組 塊的簽名與之前發(fā)送的數(shù)據(jù)的數(shù)據(jù)組塊的簽名之間的匹配指示可具有類似于輸入數(shù)據(jù)流 中的碼序列的碼的較大字節(jié)碼分段。在一實現(xiàn)中,壓縮模塊110執(zhí)行匹配候選的字節(jié)碼序 列的向前和向后掃描以確定在諸如數(shù)據(jù)組塊218之一等數(shù)據(jù)組塊內(nèi)是否存在較大模式。數(shù) 據(jù)組塊的所得部分是被稱為匹配長度的較大字節(jié)碼序列,其匹配于對應(yīng)于輸入流的數(shù)據(jù)組 塊218內(nèi)的字節(jié)碼序列??蓪⑵ヅ溟L度存儲在其它數(shù)據(jù)220中。此外,優(yōu)化匹配長度集合內(nèi)的匹配長度以選擇最佳匹配組合并避免匹配長度中與 其它匹配長度重疊的部分。在一實現(xiàn)中,可使用本領(lǐng)域中已知的貪婪算法來優(yōu)化匹配長度集合。在框312,生成壓縮模塊的輸出。例如,壓縮模塊110生成輸出,其包括包括匹配長 度、復(fù)制偏移元組、以及字節(jié)碼序列的列表。匹配長度還包括指示在輸入數(shù)據(jù)流中被替換的 字節(jié)的位置和數(shù)量的屬性。輸出中的字節(jié)碼序列對應(yīng)于從簽名數(shù)據(jù)庫214沒有可為其確定 任何匹配的數(shù)據(jù)組塊218。在框314,將所生成的輸出傳遞到輔助壓縮模塊以供進一步壓縮。例如,壓縮模塊 110將所生成的輸出傳遞到輔助壓縮模塊222。輔助壓縮模塊222用于確定在劃分和簽名 分配的過程期間可能被壓縮模塊110忽視的較接近并較短的長度的匹配。輔助壓縮模塊的 示例包括但不限于由Microsoft 公司開發(fā)的諸如MPPC壓縮器、RDP批量壓縮器等壓縮器。示例性計算環(huán)境圖4示出了示例性通用計算機環(huán)境400,它可用于實現(xiàn)此處所述的技術(shù),且整體或 部分地表示此處所述的元素。計算機環(huán)境400僅是計算環(huán)境的一個示例,而非旨在對計算 機和網(wǎng)絡(luò)體系結(jié)構(gòu)的使用范圍或功能提出任何限制。計算機環(huán)境400也不應(yīng)被解釋成對于 在示例計算機環(huán)境400中所示出的任一組件或其組合有任何依賴或要求。計算機環(huán)境400包括計算機402形式的通用的基于計算的設(shè)備。計算機402例如 可以是臺式計算機、手持式計算機、筆記本或膝上型計算機、服務(wù)器計算機、游戲控制臺等。 計算機402的各組件可以包括但不限于一個或多個處理器或處理單元404、系統(tǒng)存儲器 406、以及將包括處理器404在內(nèi)的各系統(tǒng)組件耦合至系統(tǒng)存儲器406的系統(tǒng)總線408。系統(tǒng)總線408表示任何若干類型的總線結(jié)構(gòu)中的一個或多個,包括存儲器總線或 存儲器控制器、外圍總線、加速圖形端口以及使用任何各種總線體系結(jié)構(gòu)的處理器或局部 總線。作為示例,這樣的體系結(jié)構(gòu)可包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu) (MCA)總線、增強型ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(VESA)局部總線和外圍部件互 連(PCI)總線(也被稱為夾層(Mezzanine)總線)。計算機402通常包括各種計算機可讀介質(zhì)。這樣的介質(zhì)可以是能由計算機402訪 問的任何可用介質(zhì),包括易失性和非易失性介質(zhì)以及可移動和不可移動介質(zhì)。
系統(tǒng)存儲器406包括諸如隨機存取存儲器(RAM) 410等易失性存儲器形式的計算 機可讀介質(zhì),和/或諸如只讀存儲器(ROM)412等非易失性存儲器形式的計算機可讀介質(zhì)。 示出了包含幫助在諸如啟動期間在計算機402內(nèi)元件之間傳遞信息的基本例程的基本輸 入/輸出系統(tǒng)出105)414,它被存儲在1 011412中。RAM 410通常包含處理單元404可以立 即訪問和/或目前正在操作的數(shù)據(jù)和/或程序模塊。計算機402還可以包括其他可移動/不可移動、易失性/非易失性的計算機存儲 介質(zhì)。作為示例,圖4示出用于讀寫不可移動非易失性磁介質(zhì)(未示出)的硬盤驅(qū)動器416。 此外,圖4示出用于對可移動、非易失性磁盤420 (例如,“軟盤”)讀寫的磁盤驅(qū)動器418, 此外,圖4示出用于對諸如⑶-ROM、DVD-ROM、或其它光學(xué)介質(zhì)等可移動、非易失性光盤424 讀和/或?qū)懙墓獗P驅(qū)動器422。硬盤驅(qū)動器416、磁盤驅(qū)動器418和光盤驅(qū)動器422各自通 過一個或多個數(shù)據(jù)介質(zhì)接口 426連接至系統(tǒng)總線408。或者,硬盤驅(qū)動器416、磁盤驅(qū)動器 418和光盤驅(qū)動器422也可通過一個或多個接口(未示出)與連接至系統(tǒng)總線408。盤驅(qū)動器及其相關(guān)聯(lián)的計算機可讀介質(zhì)向計算機402提供對計算機可讀指令、數(shù) 據(jù)結(jié)構(gòu)、程序模塊以及其它數(shù)據(jù)的非易失性存儲。盡管該示例示出了硬盤416、可移動磁 盤420和可移動光盤424,可以理解可存儲可 由計算機訪問的數(shù)據(jù)的其它類型的計算機可 讀介質(zhì)也可用來實現(xiàn)該示例性計算系統(tǒng)和環(huán)境,這些介質(zhì)如盒式磁帶或其它磁存儲設(shè)備、 閃存卡、⑶-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、隨機存取存儲器(RAM)、只讀存儲器 (ROM)、電可擦除可編程只讀存儲器(EEPROM)等等。眾多程序模塊可儲存在硬盤416、磁盤420、光盤424、ROM 412和/或RAM 410 中,作為示例包括操作系統(tǒng)426、一個或多個應(yīng)用程序428、其它程序模塊430和程序數(shù)據(jù) 432。每個這樣的操作系統(tǒng)426、一個或多個應(yīng)用程序428、其它程序模塊430以及程序數(shù)據(jù) 432 (或其某種組合)可實現(xiàn)支持分布式文件系統(tǒng)的常駐組件的全部或部分。用戶可通過諸如鍵盤434和定點設(shè)備436 (例如“鼠標(biāo)”)等輸入設(shè)備向計算機402 輸入命令和信息。其他輸入設(shè)備438(未具體示出)可以包括話筒、操縱桿、游戲手柄、圓盤 式衛(wèi)星天線、串行端口、掃描儀等。這些和其它輸入設(shè)備通過耦合到系統(tǒng)總線408的輸入/ 輸出接口 440連接到處理單元804,但也可通過其它接口和總線結(jié)構(gòu)如并行端口、游戲端口 或通用串行總線(USB)來連接。監(jiān)視器442或其他類型的顯示設(shè)備也經(jīng)由諸如視頻適配器444等接口連接至系統(tǒng) 總線408。除監(jiān)視器442之外,其它輸出外圍設(shè)備可包括諸如揚聲器(未示出)和打印機 446等組件,這些組件可通過輸入/輸出接口 440連接至計算機402。計算機402可使用至一臺或多臺遠程計算機(如遠程基于計算的設(shè)備448)的邏 輯連接在網(wǎng)絡(luò)化環(huán)境中操作。作為示例,遠程基于計算的設(shè)備448可以是個人計算機、便攜 式計算機、服務(wù)器、路由器、網(wǎng)絡(luò)計算機、對等設(shè)備或者其它常見網(wǎng)絡(luò)節(jié)點等。遠程基于計算 的設(shè)備448被示為可以包括在本文中相對于計算機402描述的許多或全部元素和特征的便 攜式計算機。計算機402和遠程計算機448之間的邏輯連接被描繪為局域網(wǎng)(LAN)450和通用 廣域網(wǎng)(WAN)452。這樣的聯(lián)網(wǎng)環(huán)境常見于辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中實現(xiàn)時,計算機402通過網(wǎng)絡(luò)接口或適配器454連接到局域網(wǎng)450。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中實現(xiàn)時,計算機402通常包括調(diào)制解調(diào)器456或用于在廣域 網(wǎng)452上建立通信的其它裝置。調(diào)制解調(diào)器456可以是計算機402內(nèi)置或外置的,其可通 過輸入/輸出接口 440或其它適當(dāng)?shù)臋C制連接到系統(tǒng)總線408??梢岳斫?,所示網(wǎng)絡(luò)連接是 示例性的,也可采用在計算機402和448之間建立通信鏈接的其他手段。在諸如對計算環(huán)境400示出的網(wǎng)絡(luò)化環(huán)境中,相對于計算機402描繪的程序模塊 或其部分可被存儲在遠程存儲器存儲設(shè)備中。作為示例,遠程應(yīng)用程序458駐留在遠程計 算機448的存儲器設(shè)備上。為說明起見,應(yīng)用程序和諸如操作系統(tǒng)的其他可執(zhí)行程序組件 在這里被示為離散的塊,但可以理解,這樣的程序和組件在不同的時間駐留在基于計算的 設(shè)備402的不同存儲組件中,并由計算機的數(shù)據(jù)處理器來執(zhí)行。各種模塊和技術(shù)在此處可在諸如程序模塊等由一個或多個計算機或其他設(shè)備執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定的任務(wù)或 實現(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。通常,程序模塊的功能可 以在各個實施例中按需進行組合或分布。這些模塊和技術(shù)的實現(xiàn)可以存儲在某種形式的計算機可讀介質(zhì)上或通過某種形 式的計算機可讀介質(zhì)傳輸。計算機可讀介質(zhì)可以是可由計算機訪問的任何可用介質(zhì)。作為 示例而非限制,計算機可讀介質(zhì)可包括“計算機存儲介質(zhì)”和“通信介質(zhì)”。“計算機存儲介質(zhì)”包括以存儲如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù) 據(jù)等信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機存 儲介質(zhì)包括但不限于,RAM、ROM、EEPR0M、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多功能盤 (DVD)或其他光盤存儲、盒式磁帶、磁帶、磁盤存儲或其他磁存儲設(shè)備,或者任何其他可用于 存儲所需信息并可由計算機訪問的介質(zhì)?;蛘?,框架的各部分可用硬件或硬件、軟件和/或固件的組合來實現(xiàn)。例如,可將 一個或多個專用集成電路(ASIC)或可編程邏輯器件(PLD)設(shè)計或編程為實現(xiàn)該框架的一 個或多個部分。結(jié)論雖然已經(jīng)用結(jié)構(gòu)特征和/或方法特定的語言描述了用于實現(xiàn)流實時壓縮的各實 施例,但是應(yīng)該理解所附權(quán)利要求的主題不必限于所述的特定特征或方法。相反,這些具體 特征和方法是作為用于提供流實時壓縮的示例性實現(xiàn)而公開的。
權(quán)利要求
一種用于壓縮字節(jié)碼序列的方法,包括將所述字節(jié)碼序列劃分成一個或多個數(shù)據(jù)相關(guān)組塊,其中所述劃分是根據(jù)數(shù)據(jù)流的且可選擇平均組塊大??;將簽名與所述數(shù)據(jù)組塊中的每一個進行關(guān)聯(lián);將所述數(shù)據(jù)組塊的簽名與被存儲的簽名進行比較以確定匹配;以及掃描匹配的數(shù)據(jù)組塊以確定匹配長度,其中匹配長度是所述數(shù)據(jù)組塊的較大字節(jié)序列。
2.如權(quán)利要求1所述的方法,其特征在于,通過查看數(shù)據(jù)流中的給定點之前和之后的 數(shù)據(jù)窗口以確定所述數(shù)據(jù)是否需要在該點被組塊化來對數(shù)據(jù)流執(zhí)行劃分。
3.如權(quán)利要求1所述的方法,其特征在于,所述關(guān)聯(lián)對所述數(shù)據(jù)組塊使用散列算法。
4.如權(quán)利要求1所述的方法,其特征在于,所述比較是與之前被發(fā)送到所述字節(jié)碼序 列的數(shù)據(jù)組塊的簽名進行的。
5.如權(quán)利要求1所述的方法,其特征在于,所述比較確定沒有匹配,且所述字節(jié)碼序列 按字面被發(fā)送。
6.如權(quán)利要求1所述的方法,其特征在于,使用所述字節(jié)碼序列的向前和向后掃描來 執(zhí)行所述掃描。
7.如權(quán)利要求1所述的方法,其特征在于,還包括優(yōu)化匹配長度集合以避免匹配長度 中與其它匹配長度重疊的部分。
8.如權(quán)利要求1所述的方法,其特征在于,所述優(yōu)化包括貪婪算法。
9.如權(quán)利要求1所述的方法,其特征在于,還包括生成包括以下各項中的一個或多個 的輸出匹配長度、復(fù)制偏移元組、以及字節(jié)碼序列。
10.如權(quán)利要求1所述的方法,其特征在于,所述組塊和簽名是高質(zhì)量的較高開銷的輔 助壓縮輪次的基礎(chǔ),如基于Lempel-ZiV方案的壓縮。
11.一種計算設(shè)備,包括存儲器;在操作上耦合到所述存儲器的一個或多個處理器;在所述存儲器中實現(xiàn)從所述計算設(shè)備發(fā)送的數(shù)據(jù)流的壓縮的壓縮模塊,其中所述壓縮 模塊將數(shù)據(jù)劃分成一個或多個數(shù)據(jù)組塊;以及在所述存儲器中將所述數(shù)據(jù)組塊與簽名相關(guān)聯(lián)的簽名模塊。
12.如權(quán)利要求1所述的計算設(shè)備,其特征在于,所述壓縮模塊基于在之前出現(xiàn)的字節(jié) 碼序列內(nèi)存在的之前出現(xiàn)的字節(jié)碼模式對數(shù)據(jù)劃分。
13.如權(quán)利要求1所述的計算設(shè)備,其特征在于,所述壓縮模塊基于塊識別器功能對數(shù) 據(jù)劃分。
14.如權(quán)利要求1所述的計算設(shè)備,其特征在于,所述壓縮模塊掃描匹配候選以查明數(shù) 據(jù)組塊之間的類似度。
15.如權(quán)利要求1所述的計算設(shè)備,其特征在于,簽名模塊通過對所述數(shù)據(jù)組塊使用散 列算法來評估所述數(shù)據(jù)組塊。
16.如權(quán)利要求1所述的計算設(shè)備,其特征在于,還包括所述存儲器中的輔助壓縮模 塊,其中來自所述壓縮模塊的輸出由所述輔助壓縮模塊進一步處理。
17.—種在服務(wù)器與一個或多個客戶機設(shè)備之間發(fā)送數(shù)據(jù)的方法,包括 在所述服務(wù)器處將字節(jié)碼序列劃分成一個或多個數(shù)據(jù)組塊;將簽名與所述數(shù)據(jù)組塊中的每一個進行關(guān)聯(lián); 將所述數(shù)據(jù)組塊的簽名與所存儲的簽名進行比較以確定匹配;以及 掃描匹配的數(shù)據(jù)組塊以確定匹配長度,其中匹配長度是所述數(shù)據(jù)組塊的較大字節(jié)序 列;以及將所述數(shù)據(jù)組塊發(fā)送到所述一個或多個客戶機設(shè)備。
18.如權(quán)利要求17所述的方法,其特征在于,基于在之前出現(xiàn)的數(shù)據(jù)流內(nèi)存在的之前 出現(xiàn)的字節(jié)碼模式對數(shù)據(jù)流執(zhí)行所述劃分。
19.如權(quán)利要求17所述的方法,其特征在于,使用所述字節(jié)碼序列的向前和向后掃描 來執(zhí)行所述掃描。
20.如權(quán)利要求17所述的方法,其特征在于,所述一個或多個客戶機設(shè)備是發(fā)射文字 或進入歷史以復(fù)制具有匹配歷史偏移或長度的數(shù)據(jù)組塊的復(fù)制引擎。
全文摘要
描述了用于壓縮要發(fā)送的數(shù)據(jù)的系統(tǒng)和方法。將諸如字節(jié)碼序列等數(shù)據(jù)流分成一個或多個數(shù)據(jù)組塊。數(shù)據(jù)組塊可與諸如區(qū)分?jǐn)?shù)據(jù)組塊的簽名等標(biāo)識符相關(guān)聯(lián)。因此,不同數(shù)據(jù)組塊可通過不同簽名來標(biāo)識。與簽名相關(guān)聯(lián)的數(shù)據(jù)組塊可與儲存庫或歷史緩沖區(qū)進行比較。歷史緩沖區(qū)包括各自與其相應(yīng)簽名相關(guān)聯(lián)的之前被發(fā)送的數(shù)據(jù)組塊的集合。
文檔編號H03M7/30GK101803203SQ200880107012
公開日2010年8月11日 申請日期2008年9月12日 優(yōu)先權(quán)日2007年9月14日
發(fā)明者N·S·伯杰納, N·Y·阿伯多 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
方城县| 大关县| 阿合奇县| 蓬莱市| 凤城市| 沙河市| 林周县| 游戏| 乐清市| 平远县| 桐城市| 潢川县| 宜昌市| 大庆市| 达日县| 会东县| 兰西县| 滦南县| 彭山县| 凉城县| 开江县| 新疆| 新源县| 惠州市| 巴彦淖尔市| 盖州市| 本溪| 白银市| 舟山市| 茌平县| 濮阳市| 杭州市| 临海市| 綦江县| 开封市| 绥滨县| 庆安县| 临清市| 嘉兴市| 北碚区| 封丘县|