專利名稱:部分可用內(nèi)容的防病毒掃描的制作方法
部分可用內(nèi)容的防病毒掃描 背景 —般有兩種已接受的方法供計算機應用程序從遠程位置下載文件。在第一種方法中,客戶機計算機直接或經(jīng)由網(wǎng)絡網(wǎng)關(guān)連接到服務器。該客戶機計算機向服務器發(fā)出一次發(fā)送整個文件的請求。該服務器通過向客戶機計算機發(fā)送該整個文件(通常以分組形式)來響應該請求。在第二種方法中,客戶機計算機向服務器或?qū)Φ扔嬎銠C(諸如在對等網(wǎng)絡中)發(fā)送一系列請求,其中每一請求要求文件的特定部分。 請求文件的特定部分相對于一次請求整個文件而言是優(yōu)選的,因為它允許在連接斷開的情況下恢復下載。請求文件的特定部分還允許更有效地利用可用帶寬,因為當較多帶寬可用時客戶機計算機可請求較多部分且當較少帶寬可用時客戶機計算機可請求較少部分。 同一文件的已下載部分可以是不同的大小,可被亂序接收或者可與先前下載的部分重疊。當應用程序?qū)λ酚傻耐ㄐ帕繄?zhí)行防病毒(AV)掃描和檢查時,這對網(wǎng)絡網(wǎng)關(guān)(或者主機計算機)中布署的防病毒應用程序帶來了挑戰(zhàn)。該掃描過程涉及包含與從遠程位置下載的內(nèi)容進行比較的病毒參考簽名或啟發(fā)式模式的AV應用程序。在許多情況下,防病毒應用程序必須掃描整個文件以確保該文件中沒有嵌入任何病毒。 通常,在請求文件的一部分后不可能下載整個文件來進行防病毒掃描。整個文件會非常大,從而需要大量網(wǎng)絡帶寬和時間來完成下載?,F(xiàn)有的AV解決方案或者嘗試在掃描前下載整個文件或者將掃描限制于已下載部分的內(nèi)容。對于檢測病毒來說,僅檢查已下載的一部分內(nèi)容是不夠的。病毒簽名可能散布于文件的兩個或更多部分,并可能在分開掃描每一文件部分時是不可標識的。
概述 提供本概述以便以簡化形式介紹將在以下詳細描述中進一步描述的概念。本概述并非旨在標識要求保護的主題的關(guān)鍵特征或必要特征,也非旨在用于限制要求保護的主題的范圍。 此處特別描述了用于在內(nèi)容的防病毒掃描中使用的各種技術(shù)的實施例。根據(jù)一個實施例,客戶機設備經(jīng)由網(wǎng)絡網(wǎng)關(guān)將下載內(nèi)容的請求傳送到服務器。這些請求指示要傳送的內(nèi)容的特定部分以及這些部分應被傳送的次序。網(wǎng)關(guān)在其存儲器中接收所請求的各部分內(nèi)容。這些部分被組裝入各個塊中并按與它們存儲在服務器上時的相同順序來排列。該排列可不同于經(jīng)由網(wǎng)絡接收到各部分的順序。當接收到文件的所請求的各部分時,網(wǎng)關(guān)掃描具有最大數(shù)量的連續(xù)部分的塊中的病毒。 通過掃描具有最大數(shù)量的連續(xù)部分的塊,可以跨各部分邊界來快速地標識病毒,以便能在檢測到病毒的情況下中止下載剩余部分。這可以在避免傳統(tǒng)的效率較差的技術(shù)方案的情況下進行,從而增加網(wǎng)關(guān)提供的安全性并同時維持正常的最終用戶體驗并允許進行這種下載,其中所述傳統(tǒng)的技術(shù)方案或者完全阻塞以各部分來下載的文件或者不在它們之中掃描病毒。 因為網(wǎng)關(guān)在整個文件在網(wǎng)關(guān)處可用之前檢查文件各部分的小型組合,因而一旦接收到最終部分,則對整個文件執(zhí)行最終掃描。由于僅需要比較病毒簽名的子集,所以該最終 掃描將快于網(wǎng)關(guān)等待整個文件可用的情況。此外,由于網(wǎng)關(guān)會中止下載受感染的文件,因此 網(wǎng)關(guān)能處理更多請求。
附圖簡述 參考附圖描述以下的詳細描述。附圖中,參考標號的最左側(cè)的數(shù)字標識該標號首
次出現(xiàn)的附圖。在不同的附圖中使用相同的參考標號來指示相似或相同的項。
圖1示出了其中可實現(xiàn)部分可用內(nèi)容的防病毒掃描的示例性體系結(jié)構(gòu)。 圖2a-c是示出由圖1中的網(wǎng)關(guān)來接收、組裝、以及掃描的內(nèi)容的示圖。 圖3是描繪防病毒掃描系統(tǒng)中的網(wǎng)絡網(wǎng)關(guān)中的選定模塊的框圖。 圖4是用于當部分可用內(nèi)容在網(wǎng)關(guān)中正被路由時掃描該內(nèi)容的示例性過程的流程圖。 詳細描述
鐘 此處描述的特別是用于在內(nèi)容的防病毒掃描中使用的各種技術(shù)的實施例。根據(jù)這 里描述的一個實施例,響應于來自客戶機計算設備的請求,防病毒掃描系統(tǒng)經(jīng)由網(wǎng)絡網(wǎng)關(guān) (或者任何主機計算機)將內(nèi)容的各部分從服務器(或任何對等計算機)傳輸?shù)皆撚嬎阍O 備。這些部分由網(wǎng)關(guān)接收并被組裝成組裝文件。在接收文件的被請求部分的同時,網(wǎng)關(guān)掃 描該組裝文件中的最大數(shù)量的連續(xù)部分的塊中的病毒。
示例系統(tǒng)體系結(jié)構(gòu) 圖l示出了包括經(jīng)由網(wǎng)絡網(wǎng)關(guān)104通過網(wǎng)絡106與服務器108a-108n相耦合的客 戶機計算設備102a-102n的病毒檢測系統(tǒng)100。盡管示出了網(wǎng)關(guān)104,但可以使用能掃描病 毒的任何類型的網(wǎng)絡處理設備來替換網(wǎng)關(guān)104。這種處理設備的示例包括代理服務器和通 用計算機。 服務器108a中存儲了內(nèi)容文件109。該內(nèi)容文件具有按原始順序次序排列的部 分1-10。在一個實施例中,客戶機計算設備102a發(fā)送指示要下載服務器108a上存儲的內(nèi) 容文件109的哪些部分110的請求。特別地,設備102a請求按所請求的次序1、2、3、6、7、9、 10、4、8和5來傳送各部分110。然后,網(wǎng)關(guān)104經(jīng)由網(wǎng)絡106將部分請求112饋送到服務 器108a。服務器108a通過按所請求的次序向網(wǎng)關(guān)104傳送各部分109(如部分114)來做 出響應。 網(wǎng)關(guān)104包括一個或多個處理器122和存儲器124。存儲器124中存儲了組裝文 件126和數(shù)據(jù)存儲128。部分114由網(wǎng)關(guān)104接收并使用處理器122來存儲在存儲器124 中。在一示例性實施例中,在接收到部分114時,處理器122按它們原始的順序次序?qū)⒔邮?到的各部分安排入組裝文件126內(nèi)的各個塊中。同樣,在接收到各部分時,掃描組裝文件 126中的最大的連續(xù)部分的塊,以確定是否存在病毒。掃描過程的示例在圖2a-2c中描述。
病毒簽名存儲于數(shù)據(jù)存儲128中。數(shù)據(jù)存儲128以新的病毒簽名來周期性地更 新。在一個實施例中,通過將組裝文件126的各部分與病毒簽名進行比較來執(zhí)行掃描。在 另一實施例中,防病毒掃描不限于簽名比較??梢杂靡韵路绞絹韴?zhí)行掃描首先確定內(nèi)容的 類型,然后執(zhí)行正則表達式匹配(尋找簽名)和行為分析,在隔離環(huán)境中執(zhí)行文件的各部分 以觀察被執(zhí)行的部分嘗試做什么。
5
在一個實施例中,可以標識組裝文件126的已知不包含病毒或已知包含病毒的特 定部分。在掃描時,可以跳過已知不包含病毒的部分。在一個實施例中,AV引擎可以確定 它需要掃描整個文件以檢查內(nèi)容(例如,當是除非整個文檔存在否則不能解包的檔案的情 況時)。在這些情況下,AV引擎將僅對文件掃描一次,例如當所有部分都可用時。
如果在掃描時未檢測到病毒,則網(wǎng)關(guān)104將為整個所請求(或部分所請求)的內(nèi) 容文件繼續(xù)按照順序次序?qū)⒔邮盏降牟糠职才旁诟鲏K內(nèi)。病毒簽名的大小可大于多個接收 到的部分的組合。因此,在將所有所請求的部分從組裝文件126中分解出來并作為分解部 分116被饋送到設備102a之前,網(wǎng)關(guān)掃描所有所請求的部分。特別地,一旦接收到請求(或 部分請求)中的所有部分,則網(wǎng)關(guān)104按設備102a所請求的次序?qū)⒎纸獾母鞑糠?16饋送 到設備102a。 在接收、組裝了每一部分并掃描了組裝文件126的最大可用部分后并且如果沒有 檢測到病毒,則將最后接收到的部分饋送到客戶機計算設備102a。這確保了在網(wǎng)關(guān)104進 行組裝或取出附加部分時客戶機不必等待。 在一個實施例中,如果在組裝文件126中檢測到病毒,則該組裝文件的受感染部 分將被清除且不被饋送到客戶機設備102a。同樣,在病毒檢測后,可以向客戶機提供文件 126的受感染部分的指示。此外,在另一實施例中,可以通過將發(fā)送到客戶機設備102a的部 分116嵌入病毒指示來將受感染文件的指示饋送到客戶機設備102a,或者這種指示可被發(fā) 送到系統(tǒng)管理員(未示出)。 圖2a-2c示出了存儲器104,其包括網(wǎng)關(guān)104的存儲器104中的在響應于來自設備 102a的單個請求接收內(nèi)容之后順序時間點處的組裝文件126。在一個實施例中,網(wǎng)關(guān)104可 檢測來自設備102a的請求,并將來自多個請求的響應組裝到單個組裝文件126內(nèi)的塊中以 用于掃描。在另一實施例中,網(wǎng)關(guān)104可在將經(jīng)掃描的內(nèi) 容轉(zhuǎn)發(fā)到設備102a之前檢測來自 單個請求的響應。圖2a和2b中,組裝文件126被描繪成包含部分可用的內(nèi)容。圖2c中, 組裝文件126被描繪成包括整個內(nèi)容文件109。 參考圖2a,內(nèi)容文件109的部分114(圖1)被接收并存儲于組裝文件126中。當 接收到部分114時,它們按其原始的順序次序排列(同樣參見圖1)。同樣,當接收到更多 部分114時,掃描具有最大數(shù)量的連續(xù)次序部分的塊以確定是否存在病毒。在一個實施例 中,在掃描這些部分前,必須接收到具有最小大小的最小閾值數(shù)量的部分或者總計數(shù)量的 部分??梢栽诮邮盏矫恳恍虏糠趾髵呙杞M裝文件126。此外,在將整個內(nèi)容文件存儲入組裝 文件126后,可掃描該整個文件以確定是否存在病毒。 例如,在圖2a中,接收到的部分l-3、6、7、9和10被組裝入存儲器124以創(chuàng)建組裝 文件126。在該示例中,可將部分的最小閾值數(shù)量設為4。因此,一旦接收到部分4,則將部 分4與部分1-3、6、7、9和10 —起組裝入組裝文件126以形成具有部分1_4的塊、具有部分 6-7的塊和具有部分9-10的塊。掃描最大的連續(xù)部分的塊,例如包含部分1-4的塊,以確定 是否存在病毒。如果不存在病毒,則將接收另外的各部分。 參考圖2b,接收到部分8。然后,將部分8與部分1-4、6-7、9-10 —起組裝入組裝 文件126中,以創(chuàng)建具有部分1-4的塊和具有部分6-10的塊。掃描最大的連續(xù)部分的塊, 例如包含部分6-10的塊,以確定是否存在病毒。如果病毒不存在,則將再次接收另外的各 部分。
參考圖2c,接收到部分5,并將該部分與部分1-4和6-10 —起組裝入組裝文件126
中,以創(chuàng)建具有部分1-10的塊。掃描最大的連續(xù)部分的塊,例如包含部分1-10的區(qū)塊。盡
管示出了具有十個部分的示例性內(nèi)容文件109,但具有附加部分的更大文件也可按類似的
方式被組裝和掃描,例如通過掃描組裝文件126中的最大連續(xù)部分的塊。 圖3中示出了圖1所示的病毒檢測系統(tǒng)100的網(wǎng)關(guān)104中的選定模塊。網(wǎng)關(guān)104
具有適于存儲和執(zhí)行計算機可執(zhí)行指令的處理能力以及存儲器。在一個示例中,網(wǎng)關(guān)104
包括一個或多個處理器122和存儲器124。 存儲器124可包括按用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它 數(shù)據(jù)等信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性存儲器、可移動和不可移動介質(zhì)。 這種存儲器包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù),CD-ROM、數(shù)字多功能 盤(DVD)或其它光學存儲設備,磁盒、磁帶、磁盤存儲或其它磁性存儲設備,RAID存儲系統(tǒng), 或者可用于存儲所需信息并可由計算機系統(tǒng)訪問的任何其它介質(zhì)。 網(wǎng)關(guān)104的存儲器124中存儲了收發(fā)機組件306、組裝模塊308、掃描模塊310、分 解模塊312和數(shù)據(jù)存儲314。這些模塊和組件306-314可被實現(xiàn)為由一個或多個處理器122 執(zhí)行的軟件或計算機可執(zhí)行指令。 收發(fā)機組件306接收來自客戶機計算機設備102(a-n)的信息和請求,并經(jīng)由網(wǎng)絡 106將這些請求饋送到服務器108(a-n)。在一個實施例中,這種請求可符合超文本傳輸協(xié) 議(HTTP)和傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)。收發(fā)機組件306將網(wǎng)關(guān)104從服務器 108(a-n)接收到的內(nèi)容傳送到客戶機計算機設備102(a-n)并將來自客戶機設備102(a-n) 的內(nèi)容傳送到服務器108(a-n)。在一個實施例中,這些內(nèi)容直接從存儲器124傳送。
組裝模塊308將從服務器108 (a-n)接收到的各部分積累并存儲在存儲器124中。 各部分被順序地存儲入組裝文件內(nèi)的數(shù)據(jù)塊。可以掃描最大連續(xù)部分中的病毒。當各部分 正由網(wǎng)關(guān)104接收時,掃描模塊310掃描組裝文件中的具有最大數(shù)量的連續(xù)部分的塊。掃 描該塊以檢測病毒,包括具有跨各部分邊界延伸的簽名的病毒。通過掃描最大連續(xù)部分,可 以在檢測到病毒的情況下快速地終止下載過程,并且增加了在部分內(nèi)容中檢測到該病毒的 可能性。 分解模塊312將組裝文件分解成各分解部分,以便傳送到客戶機計算機設備 102(a-n)。在分解組裝文件后,各分解部分116被排列成以請求110所指示的次序傳送到 客戶機計算機設備102(a-n)。在一個較簡單的實施例中,當接收到每一部分時,在掃描了最 大連續(xù)部分后立刻將其發(fā)送到客戶機102。 數(shù)據(jù)存儲314包含了可不時更新的病毒簽名。在另一實施例中,AV引擎中包含檢 查邏輯,且AV引擎被頻繁地更新以檢測新的惡意軟件。同樣,數(shù)據(jù)存儲314中可以存儲來 自服務器108(a-n)的先前被檢測到病毒的內(nèi)容文件的名稱或網(wǎng)絡地址(諸如統(tǒng)一資源定 位符URL)。在一個實施例中,組裝文件可被存儲在數(shù)據(jù)存儲314中。
示例性過程 圖4中的示例性過程被示為邏輯流程圖中的框的集合,其表示可以用硬件、軟件 或它們的組合來實現(xiàn)的一系列操作。在軟件上下文中,各框表示在由一個或多個處理器執(zhí) 行時執(zhí)行所述操作的計算機可執(zhí)行指令。 一般而言,計算機可執(zhí)行指令包括執(zhí)行特定功能 或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。描述各操作的次序并不旨在被解釋為限制,且任何數(shù)量的所述框可按任何次序和/或并行地組合以實現(xiàn)該過程。出 于討論的目的,參考圖1的系統(tǒng)100來描述該過程,但該過程也可在其它系統(tǒng)體系結(jié)構(gòu)中實 現(xiàn)。 圖4示出了病毒檢測系統(tǒng)100的網(wǎng)關(guān)104(參見圖1)用于掃描部分可用內(nèi)容中的 病毒的示例性過程400的流程圖。盡管該流程圖按所示各框的次序進行描述,但框402-424 不必以任何特定的次序來實現(xiàn)。 在框402處,網(wǎng)關(guān)104與客戶機設備102 (a_n)之一以及服務器108 (a_n)之一連 接。網(wǎng)關(guān)104還從客戶機計算機設備102(a-n)中的一個或多個接收對內(nèi)容文件109的 部分110的請求。在一個實施例中,客戶機計算機設備102(a-n)實際上指定了從服務器 108(a-n)傳送各部分的次序。在另一實施例中,客戶機計算機設備102(a-n)可傳送文件名 或文件地址來作為請求。作為示例,在過程400中,網(wǎng)關(guān)104從客戶機102a接收請求以傳 輸?shù)椒掌?08a。 在框404處,通過將數(shù)據(jù)存儲214中的信息與客戶機計算機設備102a的請求進行 比較,網(wǎng)關(guān)104確定先前是否已做出接收到的對內(nèi)容文件的該部分的請求。該確定可通過 檢查該請求以標識所請求文件的地址或名稱來進行。如果該標識先前已做出(對于框404 的"是"),則在框420中,就先前請求的文件是否包含病毒做出判定。如果該文件先前未被 請求(對于框404的"否"),則在框406中將客戶機設備的對內(nèi)容文件109的該部分的請 求IIO傳送到服務器108a。 接著,在框408中,網(wǎng)關(guān)104從服務器108a接收內(nèi)容文件109的下一部分。在框 410中,網(wǎng)關(guān)104將接收到的部分存儲到存儲器124中并按順序的次序?qū)⒃摬糠纸M裝到組裝 文件中的塊中。隨后,在框412中,通過將一個或多個部分與從數(shù)據(jù)存儲214檢索到的病毒 簽名進行比較,網(wǎng)關(guān)104掃描組裝文件中具有最大數(shù)量的連續(xù)部分的塊。該掃描可在內(nèi)容 文件的其它部分正由網(wǎng)關(guān)104接收時跨各部分邊界連續(xù)進行。如果病毒簽名與組裝文件相 匹配,則檢測到病毒。在一個實施例中,可在網(wǎng)關(guān)104中配置要掃描的塊的最小大小以及將 掃描組裝文件的最大次數(shù)。如果不存在最小塊大小,則可以不掃描該組裝文件。
在另一實施例中,網(wǎng)關(guān)104標識組裝文件的文件格式(通過組合由傳遞協(xié)議所傳 達的關(guān)于對象名稱或類型的信息,或者通過查看已被組裝的連續(xù)部分并基于實際內(nèi)容來確 定文件格式)。也可標識組裝文件的已知不包含病毒的特定部分,并因此不掃描這些部分。 例如,如果被質(zhì)疑的組裝文件被標識為JPEG文件,則網(wǎng)關(guān)104將假定可能在EXIF部分中找 到惡意代碼并使其它文件部分(非EXIF部分)通過而不掃描它們。 在框414中,網(wǎng)關(guān)104確定是否檢測到病毒。如果檢測到(對于框414的"是"), 則在框422中網(wǎng)關(guān)104將病毒指示提供給管理員設備(未示出)或客戶機計算機。如果 未檢測到病毒(對于框414的"否"),則在框415中從組裝文件中分解出各部分,并將它們 作為分解部分116 (圖1)以請求110中請求這些部分的次序來饋送到客戶機計算機設備 102a。在網(wǎng)關(guān)104接收到所有部分之前,將當前部分(或各部分)發(fā)送到客戶機計算機設 備102a。然后,在框416中,確定網(wǎng)關(guān)104是否已接收到所請求文件的所有部分(例如,網(wǎng) 關(guān)104是否已接收到整個組裝文件)。如果未接收到所有部分(對于框416的"否"),則在 來自客戶機計算機的請求之后,在框408中接收內(nèi)容文件的下一部分。如果已接收到內(nèi)容 文件的所有部分(對于框414的"是"),則在框418中將來自服務器108a的最后接收的部分發(fā)送到客戶機計算機設備102a。 在框422中指示病毒后,在一個實施例中,在框424中,組裝文件的該病毒性部分 被清除并終止含該病毒的該部分文件的向客戶機計算機設備102a的傳輸。在另一實施例 中,在框424中,可在將該部分饋送到客戶機計算機設備102a之前標記含病毒的該部分文 件。 如果已確定先前請求的文件包含病毒(對于框420的"是"),則在框422中提供 病毒指示。如果確定該文件不含病毒(對于框420的"否"),則在框406中將部分請求112 饋送給服務器108a。
獵 最后,盡管已經(jīng)以結(jié)構(gòu)特征和/或方法動作專用的語言描述了本發(fā)明,但可以理 解,所附的權(quán)利要求書中限定的發(fā)明不必限于所述的具體特征或動作。相反,這些具體特征 和動作僅作為實施本發(fā)明的示例性形式而被公開。
權(quán)利要求
一種方法,包括向服務器(108)傳送指示要傳送的內(nèi)容文件(109)的特定部分的請求;周期性地從所述服務器(108)接收所述內(nèi)容文件(109)的所請求部分;將所接收到的部分(126)組裝到連續(xù)接收到的部分126的塊中;在接收所請求的部分114的同時,持續(xù)地掃描最大塊中的所接收到的部分126中的病毒;以及將經(jīng)掃描的所接收到的部分126饋送到客戶機計算機102。
2. 如權(quán)利要求l所述的方法,其特征在于,所述內(nèi)容文件(109)包括按原始順序次序排 列的部分,其中所接收到的部分(126)按該原始順序次序來組裝,并且其中掃描所述最大 塊中的所接收到的部分(126)包括按該原始順序次序掃描所述最大塊中的連續(xù)接收到的 部分126。
3. 如權(quán)利要求2所述的方法,其特征在于,掃描包括將所述最大塊中的各部分與病毒 簽名進行比較。
4. 如權(quán)利要求1所述的方法,其特征在于,還包括標識所述最大塊中的可能包含病毒 的所接收到的部分(126),并且掃描所標識的所接收到的部分126同時不掃描未標識的所 接收到的部分(126)。
5. 如權(quán)利要求4所述的方法,其特征在于,還包括提供病毒的指示,并在標識到病毒時 清除包含該病毒的所接收到的部分(126)。
6. 如權(quán)利要求1所述的方法,其特征在于,所述請求指示要以順序次序和不以順序次 序來發(fā)送的所述文件109的特定部分。
7. —種用于傳送內(nèi)容的系統(tǒng),包括將內(nèi)容文件(109)劃分成具有原始順序次序的多個部分的第一計算機108 ; 經(jīng)由網(wǎng)絡與所述第一計算機和第二計算機相耦合的網(wǎng)關(guān)(104);經(jīng)由所述網(wǎng)關(guān)(104)請求來自所述第一計算機的多個部分114的所述第二計算機102 ;所述第一計算機傳送與所述請求相對應的所述多個部分114 ;所述網(wǎng)關(guān)(104)在存儲器124中接收所述多個部分114,在接收所述多個部分的同時按 所述原始順序次序?qū)⑺邮盏降牟糠?126)組裝成組裝文件,以所述順序次序掃描所述組 裝文件126內(nèi)的部分126的最大連續(xù)序列中的病毒,將經(jīng)掃描的組裝文件126分解成多個 分解部分116,以及將所述分解部分116饋送到所述第二計算機102 ;以及所述第二計算機102接收所述分解部分116并以所述原始順序次序109組裝所述分解 部分116。
8. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述第二計算機102請求不按所述順序次序 發(fā)送所述多個部分中的一些。
9. 如權(quán)利要求7所述的系統(tǒng),其特征在于,在接收其它所請求部分的同時,分解所述經(jīng) 掃描的組裝文件并將所述分解部分116饋送到所述第二計算機102。
10. 如權(quán)利要求7所述的系統(tǒng),其特征在于,以所請求的順序?qū)⑺龇纸獠糠?16饋送 到所述第二計算機。
11. 如權(quán)利要求7所述的系統(tǒng),其特征在于,如果在掃描所述組裝文件時檢測到病毒,則終止將所述分解部分116饋送到所述第二計算機。
12. 如權(quán)利要求7所述的系統(tǒng),其特征在于,如果在掃描所述組裝文件時檢測到病毒,則向所述第二計算機提供指示。
13. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述第一計算機是服務器(108)且所述第二計算機是客戶機計算機(102)。
14. 一種具有用于傳送包括按原始順序次序排列的各部分的內(nèi)容文件(109)的指令的計算機可讀介質(zhì),所述指令在由一個或多個處理器執(zhí)行時包括向服務器(108)傳送請求,所述請求指示要按所述原始順序次序傳送所述內(nèi)容文件(109)的哪些特定部分以及要不按所述原始順序次序傳送所述文件的哪些特定部分;周期性地以所述原始順序次序在組裝文件124中接收和存儲所述文件126的特定部分;按所述原始順序次序持續(xù)地掃描所述組裝文件126的特定部分的最大接收到的連續(xù)序列,在接收其它所請求的特定部分114的同時掃描所述組裝文件126 ;以及將經(jīng)掃描的文件126的各部分饋送到客戶機計算機(102)。
15. 如權(quán)利要求14所述的系統(tǒng),其特征在于,所接收到的特定部分126在所述存儲器中是按順序次序來組織的,并且其中掃描所述組裝文件126包括以所述順序次序掃描所存儲的特定部分的最大連續(xù)序列。
16. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,經(jīng)由網(wǎng)絡106以所請求的順序?qū)⑺邮盏降牟糠?126)饋送到所述客戶機計算機(102)。
17. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,如果在持續(xù)掃描所述組裝文件126時檢測到病毒,則終止將所接收到的部分(126)饋送到所述客戶機計算機(102)。
18. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,還包括如果在持續(xù)掃描所述組裝文件126時檢測到病毒,則向所述客戶機計算機(102)提供指示。
19. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,將經(jīng)掃描的組裝文件分解成分解部分116,并且在接收其它特定部分的同時將所述分解部分116饋送到所述客戶機計算機(102)。
20. 如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,還包括在檢測到病毒時存儲所請求文件114的指示,并且在將來請求所請求文件109的該特定部分時拒絕對所述文件的特定部分114的請求。
全文摘要
在網(wǎng)絡環(huán)境中,客戶機設備經(jīng)由網(wǎng)關(guān)向服務器傳送請求。該請求指示服務器上的文件的要作為下載過程的一部分來傳送的特定部分。該網(wǎng)關(guān)在其存儲器中接收文件的所請求部分并將所接收到的部分組裝成組裝文件。在將接收到的部分饋送到客戶機計算機之前,在文件的所請求部分正被接收并變得可用時,該網(wǎng)關(guān)持續(xù)地掃描組裝文件中的各部分的最大連續(xù)序列中的病毒。通過在新部分變得可用的同時掃描最大連續(xù)序列,能減少完成掃描的時間,進而增加網(wǎng)關(guān)的吞吐量。
文檔編號G06F3/12GK101743530SQ200880017269
公開日2010年6月16日 申請日期2008年5月16日 優(yōu)先權(quán)日2007年5月24日
發(fā)明者V·霍洛斯托弗, Y·埃德瑞 申請人:微軟公司