两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于緩存web文件的系統(tǒng)和方法

文檔序號(hào):7677591閱讀:203來源:國知局
專利名稱:用于緩存web文件的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)軟件,具體涉及用于緩存web文件的計(jì)算機(jī)軟件。
背景技術(shù)
許多傳統(tǒng)程序在因特網(wǎng)上獲取文件。為了節(jié)省反復(fù)獲取相同文 件的時(shí)間,許多計(jì)算機(jī)系統(tǒng)將其獲取的文件存儲(chǔ)到緩存中,并且后 來的獲取首先嘗試從緩存中獲得。當(dāng)系統(tǒng)采用緩存時(shí),如果計(jì)算機(jī) 系統(tǒng)接收到對(duì)文件的請(qǐng)求,其首先檢查緩存。如果文件在緩存中, 則計(jì)算機(jī)系統(tǒng)從緩存中獲取該文件。因?yàn)閺谋镜赜脖P驅(qū)動(dòng)器獲取文 件能夠比從因特網(wǎng)或其他網(wǎng)絡(luò)獲取文件快得多,所以從緩存獲取文 件能夠顯著地加快文件獲取的速度。如果文件不在緩存中,則從因 特網(wǎng)獲耳又該文件。
然而,傳統(tǒng)的緩存系統(tǒng)既不安全也不精確。如果所請(qǐng)求的文件 已被毀壞,例如被惡意用戶毀壞,緩存不會(huì)檢測(cè)到毀壞,并且會(huì)提 供該文件。如果存在具有相同名稱的文件的新版本,緩存系統(tǒng)將不 會(huì)區(qū)分版本,而提供舊的版本。
一些傳統(tǒng)的瀏覽器試圖通過以下方法解決這一問題,即,僅在 文件最初是從與對(duì)應(yīng)于請(qǐng)求來源的文件或者程序相同的因特網(wǎng)域獲 取的情況下,才從緩存獲取該文件。盡管這有助于防止毀壞或版本 不匹配的問題,但是這導(dǎo)致了較慢的下載時(shí)間,因?yàn)榫彺嬷械奈募?被再次下載。這也不能檢測(cè)到文件的毀壞或錯(cuò)誤的版本。
所需要的是 一 種用于緩存文件的系統(tǒng)或方法,其從具有任何域 的原始來源的緩存提供文件,但是能夠檢測(cè)到緩存中文件的毀壞情 況或錯(cuò)誤版本的存儲(chǔ)情況,并提供未毀壞的文件或所請(qǐng)求的版本,即使緩存中存儲(chǔ)著具有相同文件名稱的另一版本。

發(fā)明內(nèi)容
一種系統(tǒng)和方法,允許程序使用文件的散列結(jié)果和網(wǎng)絡(luò)位置來 請(qǐng)求文件。所述系統(tǒng)和方法參考緩存中的文件,并且標(biāo)識(shí)緩存中存 儲(chǔ)的任何文件是否具有所述散列結(jié)果。如果是,則所述系統(tǒng)和方法 從該緩存來提供文件。如果不是,則所述系統(tǒng)和方法從網(wǎng)絡(luò)位置獲 取文件,對(duì)文件進(jìn)行散列,并存儲(chǔ)與散列結(jié)果相關(guān)聯(lián)的文件,并且 可選擇地存儲(chǔ)獲取所述文件的網(wǎng)絡(luò)位置,以便如上所述的使用。針 對(duì)請(qǐng)求中的散列結(jié)果對(duì)散列結(jié)果進(jìn)行檢查。如果散列結(jié)果匹配,則
所述系統(tǒng)和方法提供該文件,否則,所述系統(tǒng)和方法提供所請(qǐng)求文 件不可用的指示。


圖1是傳統(tǒng)計(jì)算機(jī)系統(tǒng)的示意性框圖。
圖2是根據(jù)本發(fā)明一種實(shí)施方式的用于提供所請(qǐng)求文件的系統(tǒng) 的示意性框圖。
圖3是示出了根據(jù)本發(fā)明一種實(shí)施方式的提供所請(qǐng)求文件的方 法的流程圖。
具體實(shí)施例方式
本發(fā)明可被實(shí)施為傳統(tǒng)計(jì)算機(jī)系統(tǒng)上的計(jì)算機(jī)軟件?,F(xiàn)在參照 圖1,其示出了用于實(shí)踐本發(fā)明的傳統(tǒng)計(jì)算機(jī)系統(tǒng)150。處理器160 獲取并執(zhí)行存儲(chǔ)在存儲(chǔ)162中的軟件指令,并且可以控制其他組件 來執(zhí)行本發(fā)明,其中所述存儲(chǔ)諸如存儲(chǔ)器,其可以是隨機(jī)存取存儲(chǔ) 器(RAM)。存儲(chǔ)162可以用來存儲(chǔ)程序指令或數(shù)據(jù),或者存儲(chǔ)這 兩者。諸如計(jì)算機(jī)磁盤驅(qū)動(dòng)器或其他非易失性存儲(chǔ)的存儲(chǔ)164可以 提供數(shù)據(jù)或程序指令的存儲(chǔ)。在一種實(shí)施方式中,存儲(chǔ)164提供指 令和數(shù)據(jù)的較長期存儲(chǔ),而存儲(chǔ)162為這樣的數(shù)據(jù)或者指令提供存儲(chǔ),其可能僅在比存儲(chǔ)164要短的時(shí)間內(nèi)是所需的。諸如計(jì)算機(jī)鍵
盤或鼠標(biāo)或這兩者的輸入設(shè)備166允許用戶向系統(tǒng)150輸入。諸如 顯示器或打印機(jī)的輸出設(shè)備16 8允許向系統(tǒng)15 0的用戶提供信息, 諸如指令、數(shù)據(jù)或其他信息。諸如傳統(tǒng)軟盤或CD-ROM驅(qū)動(dòng)器的存 儲(chǔ)輸入設(shè)備170經(jīng)由輸入172接收計(jì)算機(jī)程序產(chǎn)品174,諸如傳統(tǒng)軟 盤或CD-ROM或可用來將計(jì)算機(jī)指令或數(shù)據(jù)傳輸至系統(tǒng)150的其他 非易失性存儲(chǔ)介質(zhì)。計(jì)算機(jī)程序產(chǎn)品174具有編碼于其上的計(jì)算機(jī) 可讀程序代碼設(shè)備176,諸如在軟盤情況下的磁荷、或者在CD-ROM 情況下的光學(xué)編碼,其被編碼成程序指令、數(shù)據(jù)或者這兩者,以配 置計(jì)算機(jī)系統(tǒng)150如下所述的進(jìn)行操作。
在一種實(shí)施方式中,每個(gè)計(jì)算機(jī)系統(tǒng)150是運(yùn)行SOLARIS操作 系統(tǒng)的傳統(tǒng)SUN MICROSYSTEMS ULTRA 10工作站(可從加利福 尼亞州山景城(Mountain View )的SUN MICROSYSTEMS公司獲 得)、運(yùn)行WINDOWS操作系統(tǒng)(例如95、 98、 ME、 XP、 NT或 2000,可從華盛頓州雷蒙德的微軟公司獲得)的奔騰兼容型個(gè)人計(jì) 算機(jī)系統(tǒng)(例如可從德克薩斯州園石市(Round Rock)的戴爾計(jì)算 機(jī)公司獲得)或者運(yùn)行著MACOS或OPENSTEP操作系統(tǒng)的 Macintosh計(jì)算機(jī)(可從加利福尼亞州庫珀蒂諾的蘋果計(jì)算機(jī)公司獲 得)、NETSCAPE瀏覽器(可從加利福尼亞州山景城的NETSCAPE 通信公司獲得)或者INTERNET EXPLORER瀏覽器(可從上述微軟 公司獲得),但是也可使用其他系統(tǒng)。
接收請(qǐng)求
文件請(qǐng)求接收器220接收來自程序的文件請(qǐng)求。該請(qǐng)求包括所 請(qǐng)求文件的消息摘要,其是使用傳統(tǒng)散列功能對(duì)文件進(jìn)行散列的結(jié) 果的期望值。該請(qǐng)求還包括所請(qǐng)求文件的來源,其形式可以是指明 可得到文件的位置的URL。當(dāng)文件請(qǐng)求接收器220從程序接收到文 件請(qǐng)求時(shí),文件請(qǐng)求接收器220確定其是否可以向程序提供文件。 為此,文件請(qǐng)求接收器220將消息摘要發(fā)送至緩存管理器230。
檢查緩存當(dāng)緩存管理器230從文件請(qǐng)求接收器220接收到消息摘要時(shí), 緩存管理器230確定所請(qǐng)求的文件是否由于存儲(chǔ)在文件緩存240中 而列在文件信息存儲(chǔ)242中。為了確定所請(qǐng)求的文件是否列在文件 信息存儲(chǔ)242中,緩存管理器230對(duì)從文件請(qǐng)求接收器220接收的 消息摘要與文件信息存儲(chǔ)242中的散列結(jié)果進(jìn)行比較,并使用任意 的常規(guī)技術(shù)來搜索所請(qǐng)求文件的消息摘要與文件信息存儲(chǔ)242中的 散列結(jié)果之間的匹配。文件信息存儲(chǔ)242可以是磁盤或內(nèi)存或者這 兩者,并且可以包含傳統(tǒng)數(shù)據(jù)庫,諸如表示哪些文件存儲(chǔ)在文件緩 存240中的記錄的內(nèi)部列表。對(duì)文件信息存儲(chǔ)242中的記錄進(jìn)行布 置,使得文件的散列結(jié)果與該文件的文件名稱相關(guān)聯(lián),其中文件名 稱可以是該文件的任何唯一標(biāo)識(shí)符。在一種實(shí)施方式中,文件的文 件名稱可以是指明獲取該文件的文件位置的URL。在一種實(shí)施方式 中,緩存管理器230通過從文件信息存儲(chǔ)242中的記錄列表的頂部 開始并比較所請(qǐng)求文件的消息摘要與由文件信息存儲(chǔ)242維護(hù)的內(nèi) 部列表上的每個(gè)散列結(jié)果,以此在文件信息存儲(chǔ)242中搜索匹配的 散列結(jié)果。如果散列結(jié)果沒有與所請(qǐng)求文件的消息摘要匹配,則緩 存管理器230進(jìn)行到列表中下一個(gè)散列結(jié)果,直到緩存管理器找到 與所請(qǐng)求文件的消息摘要的匹配,或者到達(dá)文件信息存儲(chǔ)242中散 列結(jié)果列表的末端。在其他實(shí)施方式中,文件信息存儲(chǔ)242按照散 列結(jié)果來排序,緩存管理器230使用二分搜索算法來試圖定位與消 息摘要匹配的散列結(jié)果。
在一種實(shí)施方式中,針對(duì)其對(duì)所請(qǐng)求的文件進(jìn)行檢查的、文件 緩存240中的文件可能來自不同因特網(wǎng)域來源。這類文件通過系統(tǒng) 200的各種操作而存儲(chǔ)在文件緩存240中。
提供文件或錯(cuò)誤消息的句柄
如果緩存管理器23 0找到所請(qǐng)求文件的消息摘要與存儲(chǔ)在文件 信息存儲(chǔ)242中的散列結(jié)果之間的匹配,那么緩存管理器230從文 件信息存儲(chǔ)242獲得與來自文件信息存儲(chǔ)242的散列結(jié)果相關(guān)聯(lián)的 來源標(biāo)識(shí)符。當(dāng)緩存管理器242接收到與所請(qǐng)求文件的消息摘要相匹配的散列結(jié)果所關(guān)聯(lián)的文件名稱時(shí),緩存管理器230使用操作系
統(tǒng)254或數(shù)據(jù)庫來獲取對(duì)來自文件緩存240的文件的句柄。為了獲 取對(duì)文件緩存240中文件的句柄,緩存管理器230從操作系統(tǒng)254 請(qǐng)求針對(duì)位于文件緩存240中的、與如上所述定位的文件名稱相匹 配的文件的句柄。文件緩存240可以是磁盤或內(nèi)存或者這兩者。操 作系統(tǒng)254為緩存管理器230提供文件緩存240中與文件請(qǐng)求接收 器220所提供的消息摘要相匹配的文件的句柄。緩存管理器230將 所請(qǐng)求文件的句柄提供給文件請(qǐng)求接收器220。
在一種實(shí)施方式中,當(dāng)文件請(qǐng)求接收器220從緩存管理器接收 到對(duì)所請(qǐng)求文件的句柄時(shí),文件請(qǐng)求接收器220將該句柄提供給請(qǐng) 求該文件的程序。在另一種實(shí)施方式中,文件請(qǐng)求接收器220改為 如下述那樣使文件再次被散列,然后如下述那樣試圖驗(yàn)證文件。如 果文件被確定為可信的,文件請(qǐng)求接收器220將該文件的句柄提供 給請(qǐng)求該文件的程序。如果如下述那樣確定文件不是可信的,則如 下文詳細(xì)描述的,文件請(qǐng)求接收器220按照就像緩存管理器230沒 有在所請(qǐng)求文件的消息摘要與請(qǐng)求的文件信息存儲(chǔ)242中列出的散 列結(jié)果之間定位到匹配那樣的相同方式來處理這種情況,這導(dǎo)致了 進(jìn)行獲取文件的嘗試,將在下面更詳細(xì)地描述。
如果緩存管理器230沒有找到所請(qǐng)求文件的消息摘要與文件信 息存儲(chǔ)242中列出的任何散列結(jié)果之間的匹配,則緩存管理器230 向文件請(qǐng)求接收器220返回消息,該消息指明無法在文件信息存儲(chǔ) 242中找到所請(qǐng)求的文件。當(dāng)文件請(qǐng)求接收器220從緩存管理器242 接收到這樣的消息時(shí),文件請(qǐng)求接收器220如下所述的繼續(xù)獲取和 驗(yàn)證文件。
需要注意的是,文件信息存儲(chǔ)242可能包含來自不同因特網(wǎng)域 的文件的散列結(jié)果和標(biāo)識(shí)符。當(dāng)緩存管理器230確定文件信息存儲(chǔ) 242中存儲(chǔ)的散列結(jié)果與其所接收的消息摘要之間是否存在匹配時(shí), 其可以對(duì)消息摘要與許多先前存儲(chǔ)的文件的散列結(jié)果進(jìn)行比較,所 述先前存儲(chǔ)的文件是從多個(gè)不同因特網(wǎng)域下載的。如果文件不在緩存中,獲取并存儲(chǔ)文件。
當(dāng)文件請(qǐng)求接收器220從緩存管理器230接收到文件不在文件 緩存240中的指示時(shí),文件請(qǐng)求接收器220進(jìn)行到從該文件的來源 獲取該文件。為此,文件請(qǐng)求接收器220將上述原始請(qǐng)求中接收到 的所請(qǐng)求文件的來源提供給文件獲取器250。文件獲取器250使用常 規(guī)的文件獲取方法來使用通信接口 210從文件的來源中指明的本地 或網(wǎng)絡(luò)位置獲取文件。在一種實(shí)施方式中,網(wǎng)絡(luò)和系統(tǒng)200之間的 通信通過通信接口 210的輸入/輸出208來實(shí)現(xiàn),所述輸入/輸出208 連接到諸如因特網(wǎng)或本地網(wǎng)絡(luò)或者這兩者。通信接口 210是支持 TCP/IP、以太網(wǎng)和/或其他常規(guī)通信協(xié)議的常規(guī)通信接口 。
當(dāng)文件獲取器2 5 0從文件來源指明的網(wǎng)絡(luò)地址獲取該文件時(shí), 文件獲取器250使用操作系統(tǒng)254來利用名稱或由文件獲取器250 指定的其他唯一標(biāo)識(shí)符將文件存儲(chǔ)在文件緩存240中。在一種實(shí)施 方式中,用于在文件緩存240中存儲(chǔ)文件的唯一標(biāo)識(shí)符是接收文件 的文件位置的URL,在此認(rèn)為其是文件的來源。文件獲取器250操 作系統(tǒng)254接收文件緩存240中存儲(chǔ)的所獲取文件的句柄。
對(duì)文件進(jìn)行散列,并將散列結(jié)果與文件相關(guān)聯(lián)
為了確保所獲取的文件是所請(qǐng)求的文件,文件獲取器2 5 0將文 件緩存240中的所獲取的文件的句柄提供給文件散列器252。當(dāng)文件 散列器252接收到所獲取文件的句柄時(shí),文件散列器252讀取該文 件,并使用常規(guī)散列技術(shù)對(duì)該文件進(jìn)行散列。在一種實(shí)施方式中, 用來對(duì)文件進(jìn)行散列的散列功能是任意一種密碼學(xué)上安全的散列功 能,例如SHA-1散列功能。密碼學(xué)上安全的散列功能是具有大量潛 在散列結(jié)果的散列功能,對(duì)它來說,散列功能輸入的小變化很可能 產(chǎn)生不同的散列結(jié)果。SHA-1散列功能和其他散列功能記載在 Schneier的爿/7p/^/0""grap/^ ( Wiley,第二版,1996 ) ISBN: 0-471-11709-9中。由文件散列器對(duì)所獲取文件進(jìn)行的散列產(chǎn)生散列 結(jié)果,文件散列器252將該結(jié)果返回給文件獲取器250。
當(dāng)文件獲取器250從文件散列器252接收到散列結(jié)果時(shí),文件獲取器250將所獲取文件的散列結(jié)果以及所獲取文件的唯一標(biāo)識(shí)符
存儲(chǔ)到文件信息存儲(chǔ)242中,使得文件信息存儲(chǔ)242將在其內(nèi)部數(shù)據(jù)庫中包括散列結(jié)果以及相關(guān)聯(lián)的唯一標(biāo)識(shí)符,以用于上面描述的用途。
文件獲取器250將所獲取文件的句柄和所獲取文件的散列結(jié)果提供給文件請(qǐng)求接收器220,以允許文件請(qǐng)求接收器220驗(yàn)證所獲取的文件,并確保所獲取的文件與程序所請(qǐng)求的文件相匹配。
驗(yàn)證文件
為了驗(yàn)證所獲取的文件并確保其與程序所請(qǐng)求的文件相匹配,文件請(qǐng)求接收器220向散列比較管理器260發(fā)送比較請(qǐng)求,該比較請(qǐng)求包括所獲取文件的散列結(jié)果和所請(qǐng)求文件的消息摘要。當(dāng)散列比較管理器260接收到比較請(qǐng)求時(shí),散列比較管理器260對(duì)所獲取文件的散列結(jié)果和所請(qǐng)求文件的消息摘要進(jìn)行比較,并確定這兩個(gè)元素是否彼此匹配。如果這兩個(gè)元素彼此匹配,則散列比較管理器260向文件請(qǐng)求接收器220發(fā)送信號(hào),指明所獲取的文件是所請(qǐng)求的文件。如果兩個(gè)元素彼此不匹配,則散列比較管理器260向文件請(qǐng)求接收器220發(fā)送錯(cuò)誤消息,其指明所獲取的文件不是所請(qǐng)求的文件。
提供文件或錯(cuò)誤消息的句柄
文件請(qǐng)求接收器220從散列比較管理器260接收指明所請(qǐng)求文件是所獲取文件的消息,或者指明所請(qǐng)求文件不是所獲取文件的消息。如果文件請(qǐng)求接收器220接收到所請(qǐng)求文件是所獲取文件的指示,則文件請(qǐng)求接收器220向其接收請(qǐng)求的程序提供所獲取文件的句柄,其中所獲取文件目前位于文件緩存240中。如果文件請(qǐng)求接收器220接收到表明所獲取文件與所請(qǐng)求文件不匹配的錯(cuò)誤消息,則文件請(qǐng)求接收器220向程序發(fā)送錯(cuò)誤消息,指明文件不存在。
程序接收到所請(qǐng)求文件的句柄或者表示所請(qǐng)求文件不存在的錯(cuò)誤消息的句柄。如果程序接收到所請(qǐng)求文件的句柄,程序可以通過操作系統(tǒng)254從文件緩存240讀取該文件,并繼續(xù)運(yùn)行直到終止。如果請(qǐng)求另一個(gè)文件,則重復(fù)上述流程。如果程序接收到表示所請(qǐng)求文件不存在的錯(cuò)誤消息,則程序或者在沒有該文件的情況下繼續(xù)運(yùn)行,或者終止。
在一種實(shí)施方式中,正在使用該文件的程序在瀏覽器窗口中顯
示輸出。程序可以是瀏覽器,或者是瀏覽器的插件,例如Flash播放器應(yīng)用程序。
接收對(duì)文件的請(qǐng)求310。該請(qǐng)求可以包括所請(qǐng)求文件的來源和所請(qǐng)求文件的消息摘要。如上所述,針對(duì)所請(qǐng)求的文件檢查緩存312。如果所請(qǐng)求的文件位于緩存中314,在一種實(shí)施方式中,向從其接收對(duì)文件的請(qǐng)求的實(shí)體提供位于緩存中的所請(qǐng)求文件的句柄,并且該方法終止318。否則314,該方法在步驟320繼續(xù)。在圖中由虛線表示的另一種實(shí)施方式中,如果所請(qǐng)求的文件位于緩存中314,該方法在步驟322繼續(xù)。
獲取所請(qǐng)求的文件并將其存儲(chǔ)到文件緩存或者具有唯一標(biāo)識(shí)符并與其來源相關(guān)聯(lián)的其他文件存儲(chǔ)裝置中320。對(duì)所獲取的文件進(jìn)行散列以產(chǎn)生散列結(jié)果322。將散列結(jié)果與所獲取的文件相關(guān)聯(lián),并與文件相關(guān)聯(lián)地存儲(chǔ)散列結(jié)果324。對(duì)所獲取文件的散列結(jié)果與所請(qǐng)求文件的消息摘要進(jìn)行比較326。如果所獲取文件的散列結(jié)果與所請(qǐng)求文件的消息摘要相匹配328,則如上所述,該方法在步驟316繼續(xù)。
如果所獲取文件的散列結(jié)果與所請(qǐng)求文件的消息摘要不匹配328,則向程序提供錯(cuò)誤的指示330,并且該方法在步驟318終止。
該系統(tǒng)和方法因此可以用來將從一個(gè)因特網(wǎng)域接收的文件提供給從另 一個(gè)因特網(wǎng)域下載的程序。請(qǐng)求中的消息摘要不僅可以幫助確保文件的-瞼證,還可以幫助確保程序<吏用該文件的許可。
權(quán)利要求
1. 一種響應(yīng)于請(qǐng)求而提供文件的方法,包括在第一計(jì)算機(jī)系統(tǒng)上接收對(duì)所述文件的請(qǐng)求,所述請(qǐng)求包括消息摘要以及與不同于所述第一計(jì)算機(jī)系統(tǒng)的第二計(jì)算機(jī)系統(tǒng)相對(duì)應(yīng)的位置,所述第一計(jì)算機(jī)系統(tǒng)通過網(wǎng)絡(luò)與所述第二計(jì)算機(jī)系統(tǒng)耦合;確定在接收所述請(qǐng)求的步驟之前存儲(chǔ)區(qū)域中是否存儲(chǔ)了具有與所述消息摘要相對(duì)應(yīng)的散列結(jié)果的文件;響應(yīng)于在接收所述請(qǐng)求的步驟之前存儲(chǔ)區(qū)域中存儲(chǔ)了具有與所述消息摘要相對(duì)應(yīng)的散列結(jié)果的文件,而響應(yīng)于所述請(qǐng)求,從所述存儲(chǔ)區(qū)域提供所述文件;以及響應(yīng)于在接收所述請(qǐng)求的步驟之前存儲(chǔ)區(qū)域中沒有存儲(chǔ)具有與所述消息摘要相對(duì)應(yīng)的散列結(jié)果的文件響應(yīng)于所述位置,從所述第二計(jì)算機(jī)系統(tǒng)獲取所述文件;將所獲取的文件存儲(chǔ)到所述存儲(chǔ)區(qū)域中;使用散列功能對(duì)所述文件進(jìn)行散列,以產(chǎn)生散列結(jié)果;對(duì)所述散列結(jié)果與所述消息摘要進(jìn)行比較;以及響應(yīng)于所述散列結(jié)果對(duì)應(yīng)于所述消息摘要,而響應(yīng)于所述請(qǐng)求來提供所述文件。
2. 根據(jù)權(quán)利要求1所迷的方法,其中,所述存儲(chǔ)的文件是從第 一因特網(wǎng)域接收的,并且被提供給由第二因特網(wǎng)域提供的程序。
3. 根據(jù)權(quán)利要求1所述的方法,還包括響應(yīng)于散列結(jié)果與消 息摘要不對(duì)應(yīng),提供錯(cuò)誤消息。
4. 根據(jù)權(quán)利要求3所述的方法,其中,如果提供了所述錯(cuò)誤消 息,則不提供所述文件。
5. 根據(jù)權(quán)利要求1所述的方法,其中,所述散列功能包括密碼 學(xué)上安全的散列功能。
6. 根據(jù)權(quán)利要求5所述的方法,其中,所述密碼學(xué)上安全的散 列功能包括SHA-1。
7. 根據(jù)權(quán)利要求1所述的方法,其中,所述確定步驟響應(yīng)于所 述存儲(chǔ)區(qū)域中的多個(gè)文件,這些文件是從多個(gè)因特網(wǎng)域接收的。
8. —種用于響應(yīng)于請(qǐng)求而提供文件的系統(tǒng),包括 第一計(jì)算機(jī)系統(tǒng)上的文件請(qǐng)求接收器,所述文件請(qǐng)求接收器具有可操作地耦合的第一輸入,用于接收對(duì)所述文件的請(qǐng)求,所述請(qǐng)求 包括消息摘要以及與不同于所述第 一 計(jì)算機(jī)系統(tǒng)的第二計(jì)算機(jī)系統(tǒng) 相對(duì)應(yīng)的位置,所述第 一計(jì)算機(jī)系統(tǒng)通過網(wǎng)絡(luò)與所述第二計(jì)算機(jī)系 統(tǒng)耦合,所述文件請(qǐng)求接收器用于在第 一輸入/輸出處提供所述消息 摘要;緩存管理器,具有與所述文件請(qǐng)求接收器輸入/輸出耦合并用于 接收所述消息摘要的第一輸入/輸出,所述緩存管理器用于通過與存 儲(chǔ)區(qū)域耦合的第二輸入/輸出來確定所述存儲(chǔ)區(qū)域中是否存儲(chǔ)了具有 與所述消息摘要相對(duì)應(yīng)的散列結(jié)果的文件,以及用于在所述第 一輸 入/輸出處提供選自以下的至少一個(gè),包括付5 和所述文件沒有存儲(chǔ)在所述存儲(chǔ)區(qū)域中的指示; 其中,所述文件請(qǐng)求接收器還用于通過所述請(qǐng)求接收器第 一 輸入/輸出來接收所述文件的所述 標(biāo)識(shí)符或所述指示,響應(yīng)于所述文件的所述標(biāo)識(shí)符,而響應(yīng)于所述請(qǐng)求,經(jīng)由所 述第二輸入/輸出從所述存儲(chǔ)區(qū)域獲取所述文件,并在第一輸出 處提供文件;以及響應(yīng)于所述指示,在第二輸出提供所述文件的標(biāo)識(shí)符和消息 摘要;以及 還包括文件獲取器,其具有與所述請(qǐng)求接收器第二輸出相耦合的輸入, 所述文件獲取器用于響應(yīng)于標(biāo)識(shí)符而經(jīng)由第一輸入/輸出從所述第 二計(jì)算機(jī)系統(tǒng)獲取所述文件,經(jīng)由第二輸入端/輸出處將所獲取的文件存儲(chǔ)到所述存儲(chǔ)區(qū)域中,以及在輸出提供所述文件的標(biāo)識(shí)符;文件的所述標(biāo)識(shí)符的輸入,所述文件散列器用于使用散列功能對(duì)所 述文件進(jìn)行散列以產(chǎn)生散列結(jié)果,并用于在輸出處提供所述散列結(jié)果;散列比較管理器,具有與所述請(qǐng)求接收器第二輸出相耦合并用于 接收所述消息摘要、以及與所述文件散列器相耦合并用于接收所述 散列結(jié)果的輸入,所述散列比較管理器用于對(duì)所述散列結(jié)果與所述 消息摘要進(jìn)行比較,并在輸出處提供所述比較的結(jié)果的指示;以及其中,所述文件請(qǐng)求接收器還包括與所述散列比較管理器輸出相 耦合并用于接收所述指示的第二輸入,并且所述文件請(qǐng)求接收器還 響應(yīng)于指明所述散列結(jié)果與所述消息摘要相對(duì)應(yīng)的指示,在所述文 件請(qǐng)求接收器第一輸出處提供所述文件。
9. 根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述所存儲(chǔ)的文件是從 第 一 因特網(wǎng)域接收的,并且被提供給由第二因特網(wǎng)域提供的程序。
10. 根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述文件請(qǐng)求接收器還 用于響應(yīng)于指明所述散列結(jié)果與所述消息摘要不對(duì)應(yīng)的指示,在所 述文件請(qǐng)求接收器第 一輸出處提供錯(cuò)誤消息。
11. 根據(jù)權(quán)利要求IO所述的系統(tǒng),其中,如果提供了所述錯(cuò)誤 消息,則不提供所述文件。
12. 根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述散列功能包括密碼 學(xué)上安全的散列功能。
13. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述密碼學(xué)上安全的 散列功能包括SHA-1。
14. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述緩存管理器響應(yīng)于 所述存儲(chǔ)區(qū)域中從多個(gè)因特網(wǎng)域接收的多個(gè)文件,經(jīng)由與所述存儲(chǔ) 區(qū)域耦合的所述第二輸入/輸出來確定所述存儲(chǔ)區(qū)域中是否存儲(chǔ)了 具有與所述消息摘要相對(duì)應(yīng)的散列結(jié)果的文件。
15. —種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可用介質(zhì),所述計(jì)算機(jī)可用介質(zhì)具有包含在其中并用于響應(yīng)于請(qǐng)求而提供文件的計(jì)算機(jī)可讀 程序代碼,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀程序代碼設(shè)備,所述計(jì)算機(jī)可讀程序代碼設(shè)備被配置用于使計(jì)算機(jī)系統(tǒng)在第 一 計(jì)算機(jī)系統(tǒng)上接收對(duì)所述文件的請(qǐng)求,所述請(qǐng)求包括消,包-摘要以及與不同于所述第 一 計(jì)算機(jī)系統(tǒng)的第二計(jì)算機(jī)系統(tǒng)相對(duì)應(yīng)的 位置,所述第 一計(jì)算機(jī)系統(tǒng)通過網(wǎng)絡(luò)與所述第二計(jì)算機(jī)系統(tǒng)耦合; 確定在接收所述請(qǐng)求的步驟之前存儲(chǔ)區(qū)域中是否存儲(chǔ)了具有與 所述消息摘要相對(duì)應(yīng)的散列結(jié)果的文件;響應(yīng)于在接收所述請(qǐng)求的步驟之前所述存儲(chǔ)區(qū)域中存儲(chǔ)了具有 與所述消息摘要相對(duì)應(yīng)的散列結(jié)果的文件,而響應(yīng)于所述請(qǐng)求,從 所述存儲(chǔ)區(qū)域提供所述文件;以及響應(yīng)于在接收所述請(qǐng)求的步驟之前所述存儲(chǔ)區(qū)域中沒有具有與 所述消息摘要相對(duì)應(yīng)的散列結(jié)果的文件響應(yīng)于所述位置,從所述第二計(jì)算機(jī)系統(tǒng)獲取所述文件; 將所獲取的文件存儲(chǔ)到所述存儲(chǔ)區(qū)域中; 使用散列功能對(duì)所述文件進(jìn)行散列,以產(chǎn)生散列結(jié)果; 對(duì)所述散列結(jié)果與所述消息摘要進(jìn)行比較;以及 響應(yīng)于所述散列結(jié)果對(duì)應(yīng)于所述消息摘要,而響應(yīng)于所述請(qǐng) 求來提供所述文件。
16. 根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述所存 儲(chǔ)的文件是從第 一 因特網(wǎng)域接收的,并且被提供給由第二因特網(wǎng)域 提供的程序。
17. 根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,還包括計(jì)算機(jī)可 讀程序代碼設(shè)備,其被配置用于使計(jì)算機(jī)系統(tǒng)響應(yīng)于所述散列結(jié) 果與所述消息摘要不對(duì)應(yīng),提供錯(cuò)誤消息。
18. 根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述計(jì)算 機(jī)程序產(chǎn)品使計(jì)算機(jī)系統(tǒng)在提供了所述錯(cuò)誤消息的情況下不提供所 述文件。
19. 根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述散列功能包括密碼學(xué)上安全的散列功能。
20. 根據(jù)權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,其中,所述密碼 學(xué)上安全的散列功能包括SHA-1。
21. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī)程序產(chǎn)品,其中,被配置用于 使計(jì)算機(jī)系統(tǒng)進(jìn)行確定的所述計(jì)算機(jī)可讀程序代碼設(shè)備響應(yīng)于存儲(chǔ) 區(qū)域中的多個(gè)文件,這些文件是從多個(gè)因特網(wǎng)域接收的。
全文摘要
一種系統(tǒng)和方法,接收針對(duì)文件的請(qǐng)求,所述請(qǐng)求包括所請(qǐng)求文件的標(biāo)識(shí)符和消息摘要,該消息摘要包括所請(qǐng)求文件的期望散列結(jié)果。所述系統(tǒng)和方法標(biāo)識(shí)是否已經(jīng)存儲(chǔ)了具有所述標(biāo)識(shí)符以及與所述消息摘要相匹配的散列結(jié)果的文件。如果是,則可選地在通過再次進(jìn)行散列和再次與消息摘要比較而檢查真實(shí)性后,提供該文件。如果文件沒有存儲(chǔ)在緩存中,可以從標(biāo)識(shí)符中包括的位置獲取該文件,對(duì)該文件進(jìn)行散列,并與消息摘要比較以對(duì)其進(jìn)行驗(yàn)證,如果散列結(jié)果與消息摘要相匹配,則向請(qǐng)求程序提供該文件。
文檔編號(hào)H04L9/32GK101473590SQ200780023177
公開日2009年7月1日 申請(qǐng)日期2007年5月4日 優(yōu)先權(quán)日2006年5月5日
發(fā)明者L·托馬森 申請(qǐng)人:奧多比公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泾源县| 宁河县| 清苑县| 图木舒克市| 呼图壁县| 上思县| 津市市| 陵川县| 南阳市| 怀远县| 大宁县| 贵阳市| 越西县| 荔波县| 亚东县| 马山县| 永寿县| 靖远县| 都安| 隆林| 珠海市| 滨州市| 余江县| 建宁县| 分宜县| 龙江县| 隆林| 宿松县| 永胜县| 嘉兴市| 杭锦旗| 镇远县| 永城市| 太仓市| 崇信县| 昌邑市| 航空| 蓬安县| 无为县| 岱山县| 河源市|