專利名稱:使用連接端點代理基于用戶親合性的內(nèi)容遞送的制作方法
使用連接端點代理基于用戶親合性的內(nèi)容遞送
相關申請的交叉引用 本公開涉及以下一起轉讓的共同待審査美國專利申請 于2002年10月30日提交的題為"Transaction Accelerator for Client Server Communication Systems (用于客戶機服務器通信系統(tǒng)的事務加速器)"(下文 稱為"McC謹e I")的第10/285,315號美國專利申請被援引包含于此用于各 種目的。
于2002年10月30日提交的題為"Content based Segmentation Scheme for Data Compression in Storage and Transmission Including Hierarchical Segment Representation (包括分層式分段表示的用于存儲和傳輸中的數(shù)據(jù)壓縮的基于內(nèi) 容的分段方案)"(下文稱為"McCanneII")的第10/285,330號美國專利申 請被援引包含于此用于各種目的。
于2003年8月12日提交的題為"Transparent Client-Server Transaction Accelerator (透明客戶機-服務器事務加速器)"(下文稱為"McCanneIII") 的第10/640,405號美國專利申請被援引包含于此用于各種目的。
于2003年8月12日提交的題為"Cooperative Proxy Auto Discovery and Connection Interception(協(xié)作代理自動發(fā)現(xiàn)和連接截取)"(下文稱為"McCanne IV")的第10/640,562號美國專利申請被援引包含于此用于各種目的。
發(fā)明的領域
本發(fā)明一般涉及在網(wǎng)絡上的數(shù)據(jù)傳輸,尤其涉及對在客戶機與服務器之間 的傳輸和應用層處的數(shù)據(jù)傳輸?shù)母倪M。
發(fā)明的背景
局域網(wǎng)(LAN)通信的特征在于帶寬大、等待時間短和對網(wǎng)絡有相當大的企 業(yè)控制。相反,廣域網(wǎng)(WAN)與LAN相比通常帶寬較低并且等待時間較長, 并且常常具有在使用WAN的企業(yè)外部的網(wǎng)絡控制的手段。在大型分布式企業(yè) 中,特別是當分布的辦公室中的用戶試圖訪問從集中數(shù)據(jù)中心運行的數(shù)據(jù)或應 用程序時,WAN由此造成了性能瓶頸的問題。例如,在WAN上從集中數(shù)據(jù) 中心中的郵件服務器檢索電子郵件("e-mail")將會涉及能影響終端用戶生 產(chǎn)力的冗長的數(shù)據(jù)傳送。相反,跨越LAN從本地郵件服務器檢索電子郵件向 終端用戶提供實際上即時的性能。類似地,跨越WAN從Web服務器取回Web 頁面或從文件服務器取回文件與跨越LAN從本地服務器取回這類數(shù)據(jù)相比就 性能而言較為困難。
總而言之,用戶將經(jīng)常需要運行被設計成對于特定網(wǎng)絡配置具有可接受的 性能的應用程序,但不得不在性能低得多的網(wǎng)絡配置上運行那些應用程序。常 見的例子是必須適應WAN的基于LAN的應用程序,該例子在本文的幾處用 到。
對于為較高性能網(wǎng)絡設計的應用程序處理數(shù)據(jù)的較低性能網(wǎng)絡,已有數(shù)種 克服網(wǎng)絡性能的方法。然而,大多數(shù)解決方案都存在著這樣或那樣的不盡人意 的地方。
一種方法是復制服務器并部署自動將數(shù)據(jù)從數(shù)據(jù)中心中的起點服務器鏡 像或復制到各分布式位置上的復制的服務器,以實際上將數(shù)據(jù)的拷貝移得離客 戶機更近。復制的服務器隨后將具有來自起點服務器的數(shù)據(jù)的拷貝(鏡像), 但復制的服務器將比起點服務器更靠近其所服務的客戶機??蛻魴C將自它們的 本地復制服務器訪問數(shù)據(jù)以實現(xiàn)更好的性能,因為這些數(shù)據(jù)在網(wǎng)絡意義上將
"更近"。此方法的缺點在于部署復制服務器以及管理從起點服務器至復制服 務器的數(shù)據(jù)流動和同步的復雜性和開銷。用此方法,難以預測何時何地需要什 么數(shù)據(jù),因此該實現(xiàn)常常僅僅是在每一位置復制所有可用數(shù)據(jù)。
另一種已被用于Web內(nèi)容和流媒體的方法是在各分布式位置處部署代理
(proxy)高速緩存設備以增強對在給定位置被不止一次檢索的數(shù)據(jù)的訪問性 能。在LAN/WAN的這一配置中,高速緩存代理位于客戶機附近的LAN上。 高速緩存代理將起到其跨越WAN被訪問的客戶機和服務器集合之間的中介的 作用。高速緩存存儲先前傳送過的數(shù)據(jù)期望被高速緩存的數(shù)據(jù)將來某時將被請
求。當客戶機向Web服務器請求數(shù)據(jù)時,例如,該客戶機的Web連接被代理 高速緩存截取。如果代理高速緩存具有所請求的數(shù)據(jù),則它簡單地跨越LAN 本地地供應該數(shù)據(jù)。如果它不具有所請求的數(shù)據(jù),則它跨越WAN從服務器檢 索所請求的數(shù)據(jù),將該數(shù)據(jù)傳送至請求的客戶機,并將檢索到的數(shù)據(jù)由其統(tǒng)一 資源定位符(URL)索引地存儲在其高速緩存中,以期望它將被再次用于隨后 的請求。
以此方式,被訪問了多次的數(shù)據(jù)只在第一次客戶機請求時遭遇WAN的性 能瓶頸,而對所有后續(xù)訪問將受益于LAN的性能益處。然而,對于只被訪問 一次的數(shù)據(jù),就不存在性能益處。其它技術被用于改善對數(shù)據(jù)(后來再次被請 求或只被請求一次)的第一次客戶機請求的性能。例如,網(wǎng)絡高速緩存系統(tǒng)已 被增加了內(nèi)容遞送能力,籍此操作員能將合需的內(nèi)容在其被請求之前移到代理 高速緩存中。在此模型中,內(nèi)容發(fā)布系統(tǒng)通常與內(nèi)容遞送系統(tǒng)接口以允許操作 員向代理高速緩存服務器集合發(fā)布內(nèi)容。因此,假定某個數(shù)據(jù)已按此方式被預 加載到代理高速緩存中,對該數(shù)據(jù)的第一次客戶機請求將體驗到高性能。然而, 這些系統(tǒng)通常創(chuàng)建和管理起來很復雜,并且通常需要部署新的商務過程來支持 這一信息遞送模式。同樣,取決于用戶配置來合適地放置內(nèi)容通常開銷昂貴、 不是最優(yōu)化的并且易于出錯。
解決WAN瓶頸的另一方法是分布服務器以使得用于企業(yè)的一部分的服 務器位于用于企業(yè)該部分的客戶機附近。例如,具有數(shù)個分支辦公室的企業(yè)可 在每一分支辦公室中定位電子郵件服務器、文件服務器等,并將給定用戶的數(shù) 據(jù)存儲在該用戶的分支辦公室的服務器上。例如,當針對特定用戶的電子郵件 消息到達企業(yè)的主郵件網(wǎng)關時,該郵件網(wǎng)關將標識該特定用戶的分支辦公室的 電子郵件服務器,并將該電子郵件消息路由至所標識出的服務器。當用戶檢索 他們的電子郵件時,它是從本地辦公室的電子郵件服務器被取回的,并且性能 很高。類似地,位于特定辦公室的用戶將向/從該辦公室的文件服務器存儲和檢 索文件,從而同樣實現(xiàn)很高的性能。
然而,這一方法不總是可取的,因為在大企業(yè)中跨許多地點管理和分布服
務器的成本很高。每一這類設備必須被管理、備份、服務等。在集中數(shù)據(jù)中心 內(nèi)管理盡可能多的服務器通常開銷低廉且可取得多。然而,集中體系結構要求 通過WAN訪問服務器,如上所述,這會引起困難的性能問題。
認證和安全機制可能使這些方法中的許多更加復雜。將內(nèi)容例如從起點服
務器移至復制服務器的代理機構(agent)必須是完全可信的,因為這一代理機 構具有對所有數(shù)據(jù)的完全訪問權限。向第三方設備或軟件委托對企業(yè)中每一人 的數(shù)據(jù)的"超級用戶"訪問權在許多顧客環(huán)境中是一個部署障礙。 因此,需要改進的在網(wǎng)絡上處理數(shù)據(jù)的技術。
發(fā)明概要
在支持客戶機與服務器之間的事務的網(wǎng)絡中一一其中客戶機是請求事務 的主機而服務器是發(fā)出響應于客戶機請求的響應的主機,且客戶機與服務器之 間的分組在包括一個或多個跳躍并具有一個或多個要克服的工作特性的網(wǎng)絡 路徑上行進——利用用戶親合性和動態(tài)用戶位置信息來選擇性地預加載數(shù)據(jù)、 或數(shù)據(jù)的表示、簽名、片段等來傳輸數(shù)據(jù),以克服該一個或多個工作特性。要 克服的工作特性的例子包括帶寬限制、出錯和等待時間。
在某些實施例中,動態(tài)位置信息被存儲在可由數(shù)據(jù)服務器的代理機構訪問 的數(shù)據(jù)結構中,且這些數(shù)據(jù)結構是基于關于與用戶位置相關聯(lián)的代理的用戶活 動來填充的。在其它實施例中,動態(tài)位置信息在客戶機終止連接之后代理維持 連接并且使用那些維持的連接來為與那些客戶機相關聯(lián)的用戶預加載數(shù)據(jù)時 被隱式地獲得。
考慮到以下的詳細說明和優(yōu)選實施例,本發(fā)明的其它特征和優(yōu)點將是顯而 易見的。
附圖簡要說明
圖1是根據(jù)本發(fā)明的代理設備的一個實施例的框圖,在此例子中代理設備 是電子郵件代理設備(EPD)。
圖2是根據(jù)本發(fā)明的實現(xiàn)成雙端口 NIC設備的代理設備的框圖。
圖3是示出可用于在請求該數(shù)據(jù)之前將數(shù)據(jù)遞送至靠近可能請求該數(shù)據(jù)
的用戶的位置網(wǎng)絡的內(nèi)容遞送代理機構(CDA)、用戶位置數(shù)據(jù)庫(ULDB) 的配置。
圖4是示出使用諸如圖3中所示的配置遞送電子郵件的過程的游動(swim)圖。
圖5是示出通過連接端點代理(CEP)代理的連接的圖示。
圖6示出內(nèi)容遞送系統(tǒng)的一個實施例,其中連接端點代理設備(CEPD)
與電子郵件代理高速緩存(EPC)集成。
圖7是示出如何在正常的電子郵件消息接發(fā)協(xié)議之上執(zhí)行內(nèi)容遞送功能
的一個例子的游動圖。
圖8是示出在分布式企業(yè)中連接端點代理(CEP)和電子郵件代理高速緩
存(EPC)的配置的圖示。
圖9示出包括雙端口 NIC設備的集成的EPC和CEP設備的一個實施例。 圖IO示出集成的CEPD和客戶機方事務加速器(CTA)的一個實施例。 圖ll是用諸如CIFS等文件訪問協(xié)議具有居間CEP的客戶機-服務器交
互的游動圖。
圖12是包括協(xié)議專用和/或協(xié)議知悉的CEP的內(nèi)容遞送系統(tǒng)的各部分的圖解。
發(fā)明的詳細說明
如在閱讀本公開后將顯而易見的,本發(fā)明具有許多應用。在說明根據(jù)本發(fā) 明的內(nèi)容遞送系統(tǒng)的一個實施例時,只說明了少數(shù)幾個可能的變形。其它應用 和變形對于本領域的普通技術人員將是顯而易見的,因此本發(fā)明不應被解釋成 只限于這些例子,而應根據(jù)所附權利要求來理解。
本文所使用的術語"事務"是導致數(shù)據(jù)從一處移至另一處的步驟的邏輯組 合。在某些情形中,被移動的數(shù)據(jù)獨立于事務地存在于其起點處,諸如其中文 件存在于服務器的盤上的文件讀取事務就是如此。在其它情形中,諸如響應于 對計算、查找等的請求,在起點處為事務生成數(shù)據(jù)。通常,發(fā)起事務的計算機、 計算機設備等被稱為"客戶機",而響應或預期響應的計算機、計算機設備等 被稱為"服務器"。
數(shù)據(jù)能在任一方向上流動。例如,文件系統(tǒng)客戶機可以通過請求從文件服 務器進行文件讀取來發(fā)起事務。響應于該請求,相應數(shù)據(jù)將從服務器返回,因 此在該情形中,大批量數(shù)據(jù)從服務器流向客戶機。然而,在客戶機發(fā)起文件寫 事務的情形中,大批量數(shù)據(jù)作為初始請求的一部分或作為后續(xù)消息從客戶機流 向服務器。
事務可以分多個部分,但在一個簡單的事務中,客戶機向服務器發(fā)送一個 請求(顯式地是請求或者指示或表示請求的數(shù)據(jù)、消息、信號等),而服務器 用一響應(顯式地是響應或者指示或表示響應的數(shù)據(jù)、消息、信號等)向客戶 機響應。例如,更復雜的事務可涉及例如服務器澄清請求,驗證客戶機接收對 請求的響應的權限,取得準備響應所需的附加信息等所需的某種來回。
這里,客戶機與服務器之間的連接的典型的例子是分組網(wǎng)絡,但也可以使 用諸如點對點有線或無線信道等其它連接手段。這些元素在本文中將被概括并 稱為"節(jié)點",其中假設在節(jié)點之間有用于通信的信道。
事務可始于一個節(jié)點處的客戶機作出針對另一節(jié)點處的服務器的文件數(shù) 據(jù)請求,接著包含所請求的文件數(shù)據(jù)的響應被遞送。其它事務可以是對文件的 特定部分、整個文件、另一數(shù)據(jù)構成的全部或某些的請求,或者事務可以涉及 從請求方流出的數(shù)據(jù)或涉及命令。事務的例子包括"讀取塊"、"讀取文件"、 "讀取流"、"用此數(shù)據(jù)寫塊"(從請求方流出數(shù)據(jù)的一個例子)、"打開文 件"、"對此數(shù)據(jù)執(zhí)行計算"、"取得具有這些特征的電子郵件"、"發(fā)送電 子郵件"、"檢查新電子郵件"、"列出目錄內(nèi)容"等。
某些事務可能涉及在一個方向或兩個方向上流動的大量數(shù)據(jù)。某些事務甚
至可能涉及具有一個以上請求方和/或一個以上接收方的交互。為了說明的清楚 起見,這許多事務類型被按照其中一個客戶機向一個服務器作出請求而該一個 服務器以客戶機預期的方式響應該請求的典型的簡單事務的形式來說明。然 而,在閱讀此公開時,普通技術人員將能把這些概念應用于在客戶機與服務器 之間或更一般化地在兩個節(jié)點之間的一對多和多對多事務。在數(shù)據(jù)流被描述成
在一個方向上的情形中,應理解數(shù)據(jù)可以在另一方向上流動和/或信息可以僅在 一個方向上流動,但數(shù)據(jù)和/或信號在兩個方向上流動以完成信息的移動。
如本文中使用中,"近"可以指物理上鄰近,但也可以指網(wǎng)絡鄰近。網(wǎng)絡 鄰近涉及性能屬性。例如,LAN的兩個節(jié)點可以被認為比由慢網(wǎng)絡信道分隔 的兩個節(jié)點更近。物理上大的距離并不導致網(wǎng)絡鄰近是常有的情況,但也存在 兩個物理上鄰近的節(jié)點在網(wǎng)絡意義上非常遠以及兩個物理上遠離的節(jié)點在網(wǎng) 絡意義上相對較近的例子。
本文所使用的術語"用戶親合性"是指在計算機系統(tǒng)或網(wǎng)絡中與終端用戶 的關聯(lián)。因此,具有用戶親合性的數(shù)據(jù)與該用戶,或在某些情形中固有地連系 于一個或多個用戶。例如,定址到用戶"某男"的電子郵件將具有關于該用戶 的用戶親合性。類似地,文件服務器上為"某男"所擁有的文件將具有關于該 用戶的用戶親合性。更一般化地,由分布式設置中的多個用戶訪問的文件將具 有關于每一此類用戶的用戶親合性。
用戶親合性可以被有利地用于使數(shù)據(jù)遞送最優(yōu)化。在一個普通方法中,如 上所述,可以用分布式方式建立多個服務器以將諸如電子郵件、文件等用戶數(shù) 據(jù)保持在該數(shù)據(jù)的用戶附近。然而,其缺點在于服務器是分布式的且更難以維護等。
這可以通過幾種發(fā)明方法和裝置克服。這里對兩個例子及某些變形進行說明。
使用動態(tài)位置信息存儲來路由具有用戶親合性的數(shù)據(jù)
在一種方法中,存儲在服務器上的數(shù)據(jù)被選擇性地拷貝到離客戶機更近的 高速緩存,其中該選擇是基于被拷貝的數(shù)據(jù)的用戶親合性和從動態(tài)用戶位置信 息確定的用戶的可能位置。將說明的一個具體例子是電子郵件內(nèi)容遞送系統(tǒng), 其中給定電子郵件消息的用戶親合性可基于電子郵件消息的預期收件人,而動 態(tài)用戶位置信息可從正在使用與電子郵件內(nèi)容遞送系統(tǒng)耦合的客戶機的用戶 的先前交互來確定。
圖1示出這類電子郵件內(nèi)容遞送系統(tǒng)的一個例子。如圖所示,電子郵件代 理高速緩存(EPC)100位于靠近遠處位置的用戶的網(wǎng)絡上。EPC 100使在WAN
上用戶所使用的客戶機與集中式電子郵件服務器之間的通信性能最優(yōu)化。EPC
100通過一個或多個網(wǎng)絡接口卡(NIC)附連到網(wǎng)絡,并且包括用于終止和可
任選地截取客戶機連接的機制、用于保持電子郵件的拷貝的消息存儲、以及用 于終止和發(fā)起客戶機與服務器之間的電子郵件傳輸連接的連接處理器。
所示的EPC100包括連接處理器(CH) 105、消息存儲(MS) 110、客 戶機120以及客戶機120與連接處理器105之間的客戶機連接140。在附圖中 存在相似項目的多個實例的情形中,它們用共同的附圖標記表示,并且不同的 實例用不同的附加說明來表示。因此,圖1示出三個連接處理器105(1)、 105(2)、 105(3)。應理解,雖然這些例子示出三個客戶機和三個連接處理器,但也可以 存在更少或更多個客戶機或更少或更多個連接處理器(且連接處理器的數(shù)目與 客戶機的數(shù)目不一定相同)。
連接處理器105 (以及EPC 100的諸部分)可以在通過連接至層2交換機 的NIC附連到網(wǎng)絡的計算機系統(tǒng)上運行的軟件進程。EPC 100分配一網(wǎng)絡地址 (例如,網(wǎng)際協(xié)議或稱IP地址)。每一連接處理器(CH)105代表相應的客戶機 120終止客戶機會話并發(fā)起一個或多個服務器連接。例如,客戶機120(1)通過 連接140(1)與CH 105(1)通信。連接處理器105在消息存儲110中存儲和檢索 電子郵件消息數(shù)據(jù)的拷貝。
當以此方式部署時,附連到LAN的客戶機例如通過使用EPC的IP地址 而不是服務器的地址來與EPC 130通信而不是直接與起點服務器通信。這能提 供某些益處,但還可以進一步改進,因為圖1中所示的方法在電子郵件協(xié)議和 客戶機并不能現(xiàn)成地支持這類配置時經(jīng)常難以實現(xiàn)。
圖2中示出一個改進的實施例,其中EPC 200包括雙端口 NIC,并且能被 插入層2交換機與路由器之間的網(wǎng)絡路徑中,并且還包括連接處理器205 (或 按需要包括實例化連接處理器205的機制)。此配置允許EPC諸如根據(jù)在 McCanneIV中所述的方法透明地截取和代理連接。在此實施例中,EPC 200對 于它不代理的所有話務起到層2中繼或網(wǎng)橋的作用。對于它代理的連接,EPC 200在截取模塊240中截取相應的話務,并將所截取的話務導向到EPC 200內(nèi) 合適的連接處理器205。
在此實施例中,與電子郵件服務器的客戶機連接由EPC 200終止,這很象 Web高速緩存終止連接。優(yōu)選地,為每一客戶機會話創(chuàng)建連接處理器,并與被 客戶機作為目標的電子郵件服務器建立相應的連接。當電子郵件客戶機從服務 器檢索消息時,EPC 200檢査其消息存儲210來查看該消息是否已存在,并且 如果存在則返回該消息。否則,EPC 200從起點電子郵件服務器取回該消息, 將該消息存儲在消息存儲210中,并將該消息傳送至電子郵件客戶機。
以此方式復制電子郵件是簡單直接的任務,因為電子郵件協(xié)議通常給每一 電子郵件分配一唯一性的標識符,并且消息是不可變更的。因此,不存在一致 性問題要解決,因為電子郵件消息的拷貝實際上與原始消息相同。換而言之, 如果EPC能使用消息的唯一性標識符在其消息存儲中定位該消息,則它知道 消息的拷貝總是有效的。
圖3示出一個還包括部署在服務器處或其附近的內(nèi)容遞送代理機構 (CDA)的內(nèi)容遞送系統(tǒng)。電子郵件服務器的內(nèi)容遞送代理機構用被確定為給 靠近電子郵件代理高速緩存(EPC)的用戶的消息預加載該EPC。當新郵件消息 到達服務器時,該服務器的內(nèi)容遞送代理機構檢查該消息以確定該消息的收件 人。內(nèi)容遞送代理機構隨后確定哪個EPC最靠近這個(些)收件人。此用戶 確定可以按如下所述的多種方式進行。 一旦確定了合適的EPC,內(nèi)容遞送代理 機構向所選擇的EPC轉發(fā)該消息的拷貝以供存儲在該EPC的消息存儲中。當 用戶隨后取回該消息時,EPC從其消息存儲供應該消息,并且結果所得的性能 很咼。
用戶位置確定的一種方法涉及咨詢由系統(tǒng)操作員維護的數(shù)據(jù)庫。替換地, 此確定可以通過咨詢從用戶在哪里讀取他們的電子郵件的動態(tài)觀察數(shù)據(jù)自動 建立的數(shù)據(jù)庫來確定。
在--個特定的例子中,圖3示出分別操作電子郵件服務器302(1)和302(2) 的兩個數(shù)據(jù)中心300(1)和300(2)。如圖所示,各數(shù)據(jù)中心300還包括CDA 304。 所示的數(shù)據(jù)中心300(1)還包括用戶位置數(shù)據(jù)庫(ULDB) 305。應理解數(shù)據(jù)中心、 電子郵件服務器、內(nèi)容遞送代理機構、客戶機和EPC的數(shù)目不需要與圖3中 所示的相同。例如,可以使用單個電子郵件服務器或者可以使用兩個以上的電子郵件服務器。
客戶機310、 311、 312、 313和314通過WAN訪問電子郵件。各客戶機 通過由該客戶機的本地EPC 330代理的連接與兩個電子郵件服務器302中的一 個通信。與各電子郵件服務器相關聯(lián)的是內(nèi)容遞送代理機構(CDA) 304。 CDA 可以是與電子郵件服務器在相同的計算機上運行并通過API與所述服務器接 口的軟件,或者它可以是在附連到與電子郵件服務器一致的網(wǎng)絡的計算機上運 行的并通過網(wǎng)絡協(xié)議或在網(wǎng)絡協(xié)議之上的API與該電子郵件服務器接口的設 備。
在位于各種位置的客戶機通過它們附近的EPC檢索消息時,各EPC記錄 有用戶正在從該位置檢索電子郵件這一事實,并向ULDB 305傳送指示該用戶 與該位置(例如,該EPC的位置)之間的映射的消息。例如,EPC 330(1)通過 連接320(1)傳送此信息。此消息可包含用戶標識(即,登錄名字、用戶ID等) 以及位置標識符(例如,用戶檢索消息所通過的EPC的IP地址等)。傳送至 ULDB的消息可以被成批組合在一起并在可配置的最大速率下被發(fā)送以允許 系統(tǒng)在不降低性能的情況下縮放。
使用此信息,ULDB隨著時間推移得知各個用戶的位置。結果,當有給一 特定用戶的新消息到達時,接收服務器的CDA能將該消息預加載到由動態(tài)位 置信息確定的靠近該用戶的EPC的消息存儲中。例如,當給用戶310的電子 郵件到達服務器302(1)處時,CDA 304(1)通過連接350(1)向EPC 330(1)遞送該 消息的拷貝。如果ULDB指示用戶從由不同EPC提供服務的不同位置訪問電 子郵件,則CDA能向每一可能服務該用戶的EPC發(fā)送一個拷貝。
圖4示出為特定用戶遞送示例消息的游動圖。在此例子中,消息410從因 特網(wǎng)到達郵件服務器400。郵件服務器向CDA401發(fā)送一條指示給用戶"喬" 的消息到達的"通知"消息411。 CDA401進而向ULDB 402發(fā)送一條針對用 戶"喬"的查找消息412, ULDB 402用設備EPC 403的位置響應。CDA 401 向郵件服務器400發(fā)送一條"取回"消息413以從消息410檢索消息數(shù)據(jù)(及 任何附件)。 一旦接收到數(shù)據(jù),CDA401就將"預加載"消息414中的數(shù)據(jù)發(fā) 送至EPC 403。隨后,當用戶試圖通過電子郵件客戶機404讀取該消息時,客
戶機向服務器發(fā)送一條"取回"消息415以請求消息410的內(nèi)容。接著,EPC 403截取消息415并將相應的數(shù)據(jù)從其本地消息存儲供應給客戶機,從而實現(xiàn) 高遞送性能。
使用連接端點代理基于用戶親合性來遞送數(shù)據(jù)
上述方法改進了現(xiàn)有解決方案,但需要部署和管理與各服務器相關聯(lián)的內(nèi) 容遞送代理機構,這對于企業(yè)IT組織可能很困難并且昂貴。另外,此方法可 能涉及需要與多個不同的協(xié)議、應用程序編程接口 (API)、互相通信的代理 機構等集成的幾個獨立的組件。
現(xiàn)在將說明一種替換方法,其中內(nèi)容是使用連接端點代理基于用戶親合性 來遞送的。作為本文所使用的術語,連接端點代理(CEP)是嵌入某設備或附連 于網(wǎng)絡的代理機構,它在客戶機已終止其服務器連接之后維持客戶機-服務 器會話以使得該連接可用于代理發(fā)起的內(nèi)容遞送。
當客戶機試圖終止表示客戶機-服務器會話的連接時,CEP截取該確定 并維持此會話,從而繼承該客戶機會話。因為CEP繼承了客戶機會話,所以 它還繼承了該會話的所有安全性和訪問能力。因此,CEP能將使得消息數(shù)據(jù)、 附件等被從服務器被檢索到本地代理中的合成事務注入到該客戶機-服務器 會話中。即使客戶機終止其會話,CEP也能保留該客戶機連接,繼續(xù)監(jiān)視客戶 機的消息存儲,并且在有給該用戶消息和相應數(shù)據(jù)來自服務器時將它們檢索到 CEP中。當客戶機打開與所述服務器的新會話時,CEP拆卸先前維持的會話, 然后允許建立新的會話。在除了在客戶機方代理處運行的CEP外還存在服務 器方代理的配置中,服務器方的代理機構能注意到何時第二用戶會話被建立并 拆卸任何在客戶機連接終止之后仍被維持的CEP連接。
CEP可以通過部署在網(wǎng)絡代理設備內(nèi)來被插入到客戶機-服務器連接的 路徑中。容納一組CEP的代理設備——一個CEP用于一個被代理的連接—— 被在本文稱為連接端點代理設備(CEPD)。
圖5示出通過一個或多個網(wǎng)絡接口附連到網(wǎng)絡的CEPD。在此情形中,示 出了兩個NIC的優(yōu)選配置。多個客戶機(510、 511、 512)具有分別通過CEP 503、 502和501代理的與服務器520的連接。
圖6示出內(nèi)容遞送系統(tǒng)的一個實施例,其中連接端點代理設備(CEPD)與 電子郵件代理高速緩存(EPC)集成。如圖所示,客戶機601發(fā)起一個或多個與 服務器604的傳輸連接,以對電子郵件消息或諸如日歷數(shù)據(jù)、新聞組、共享文 件等其它類型的消息進行檢索、處理、檢査等。
在某些情形中,客戶機601用于訪問電子郵件服務器的協(xié)議可以是諸如 IMAP等標準化協(xié)議或諸如MAPI等專用協(xié)議。IMAP在1996年12月的 M.Cdspin 的 Request陽for-Comments(RFC)2060 " Internet Message Access Protocol-Version 4rev 1 (因特網(wǎng)消息訪問協(xié)議V4.1)"中說明。MAPI是在微 軟的遠程進程調(diào)用(RPC)之上協(xié)議的微軟專用協(xié)議消息接發(fā)API(MAPI)。在 這一實施例中,客戶機的IMAP或MAPI連接將由CEPD 602透明地截取,這 使得CEP 605處的IMAP/MAPI連接終止,并發(fā)起了與起點電子郵件服務器604 的相應傳輸連接(或一組連接)。電子郵件代理603進而截取從CPED 602發(fā) 起的連接,并接著發(fā)起與起點電子郵件服務器604的相應傳輸連接(或一組連 接)。
一旦此傳輸連接管線被建立,來自客戶機的消息就在包括到服務器的管線 在內(nèi)的各種連接上被中繼,同時來自服務器的響應被中繼回客戶機。在連接的 開始處,可以通過來回交換消息的各種機制來認證客戶機。 一旦客戶機已被認 證,則CEP 605就能自由地通過將合成消息注入客戶機-服務器會話中來執(zhí) 行內(nèi)容遞送。例如,電子郵件客戶機通常取回所有標題以向用戶顯示。然后, 只有在用戶試圖顯示和讀消息之后,客戶機才取回該消息。另外,電子郵件常 常包含類似地只有在用戶試圖打開或下載附件時才被取回的大附件。為了改善 用戶體驗,CEP能前攝地掃描用戶郵箱的內(nèi)容,并在它們被用戶請求之前取回 消息和附件數(shù)據(jù)。或者,CEP能在標題被檢索時進行監(jiān)視,并注入合成消息以 請求相應的消息文本和附件數(shù)據(jù)。
圖7是示出如何可以在正常的電子郵件消息接發(fā)協(xié)議之上執(zhí)行內(nèi)容遞送 功能的一個例子的游動圖。在此例子中,假定采用IMAP協(xié)議。
在所示的例子中,客戶機首先用在登錄消息中包括合適的認證信息的"登 錄"請求701來建立其與電子郵件服務器的會話。 一旦客戶機已認證了它自己,它隨后就發(fā)出"選擇"請求702以指定要對特定郵箱——例如用戶的"收件箱" 執(zhí)行的后續(xù)操作。接著,客戶機發(fā)出"統(tǒng)計"請求703以學習包括是否存在新 消息在內(nèi)的各種信息??蛻魴C隨后發(fā)出用于響應于用戶讀取來檢索消息數(shù)據(jù)并 顯示消息的后續(xù)的"取回"命令(704和705)。隨后,在此例中,用戶轉為 空閑而不讀任何后續(xù)消息,即便它們存在于郵箱中。此時,CEP檢測到會話空 閑,并傳送一個對于在用戶的收件箱中但尚未被檢索的其它消息的合成"取回" 請求706。這使得電子郵件代理高速緩存將這些消息存儲在其郵件存儲中。隨 后,當用戶通過發(fā)送"取回"請求來讀取這些消息時,這些消息被高性能地跨 越LAN從電子郵件代理高速緩存發(fā)送到客戶機。
隨后,用戶退出電子郵件客戶機,這使得客戶機連接終止。然而,不是拆 卸通過電子郵件代理高速緩存到服務器的連接,CEP代之以維持該連接并繼續(xù) 監(jiān)視電子郵件服務器內(nèi)該用戶的數(shù)據(jù)源。例如,當有給該用戶的新的電子郵件 消息到達時,服務器向客戶機發(fā)送一個"通知"消息709,該消息被CEP截取 并消費。作為響應,CEP通過發(fā)送"取回"請求710來檢索對應于新到達的電 子郵件的消息正文以及附件的數(shù)據(jù)。因此,電子郵件代理高速緩存被連續(xù)地填 充以表示用戶的會話的電子郵件內(nèi)容的數(shù)據(jù)而無需顯式地構建將用戶映射至 位置的數(shù)據(jù)庫。
現(xiàn)在假設用戶重新啟動電子郵件客戶機,打開與電子郵件服務器的連接并 傳送-一個新"登錄"請求711以建立會話。此時,CEP注意到用戶正在建立新 會話,因此它通過在老連接上向服務器發(fā)送一個"注銷"請求712來拆卸老連 接,關閉該連接,隨后允許客戶機的"登錄"請求在新連接上繼續(xù)發(fā)往服務器。 隨后,客戶機嘗試通過"取回"請求713將先前已由CEP檢索到的消息檢索 到電子郵件代理高速緩存中。這樣,它們就像其是跨越LAN從電子郵件代理 高速緩存供應那樣被高性能地遞送。
圖8示出如何跨具有多個地點的分布的企業(yè)推廣和部署上述教導中的一 些。在所示的例子中,在兩個數(shù)據(jù)中心中存在兩個服務器服務器801和服務 器802。在一個辦公室,有三個客戶機813、 813、 814、用于每一客戶機(811, 812, 813)的CEP和EPC810。類似地,在其它辦公室存在其它客戶機、CEP
和EPC。每一客戶機從這兩個服務器中的一個中檢索其消息。當客戶機來來往
往時,CEP仍舊表示用戶的電子郵件客戶機。因此,當新消息到達時,CEP繼
續(xù)沿與相應電子郵件服務器的持久化連接將它們拷貝到本地站點。例如,因為
客戶機814從服務器802檢索其消息,所以即使在從客戶機814的連接不存在 時,CEP 811也將自動從服務器802取回所有消息并將它們預加載到EPC 810中。
實際上,在EPC終止的持久化連接的整體形成一個從服務器至用戶位置 的通過本局客戶機-服務器連接遞送內(nèi)容的用戶中心內(nèi)容遞送網(wǎng)絡。因此, 用戶位置由連接構造暗示,并且不需要被收集和顯式地存儲在某個類型的數(shù)據(jù)庫中。
在本發(fā)明的另一實施例中,EPC和CEP功能被集成到一個過程中,并且 CEPD不需要包含CEP實體。在這些實施例中,CEP實現(xiàn)代理端點,并且直接 與消息存儲交互。當客戶機終止其會話時,CEP如上所述地維持服務器會話。 圖9示出此情形的一個例子。如圖所示,CEP將其功能集成到EPC中,并直 接終止客戶機和服務器傳輸連接。
在另一個實施例中,CEP可以任選地使用如McCanneII中所描述的分層 式分段和如McCanneIV中所描述的傳^f連接和截取及自動配置被配置成如在 McCanneIII、 McCanneI中所描述的事務加速器和分段系統(tǒng)。另外,CEP可以 用于實現(xiàn)任何基于用戶親合性的協(xié)議的內(nèi)容遞送,而不只是電子郵件。 McCanneI中所描述的分段和事務加速方案是獨立于協(xié)議和應用程序的這一事 實對此有所裨益。即,不同于上述EPC,使用分段的事務加速器對許多不同的 協(xié)議和應用程序都起作用,而不只是電子郵件。
圖IO示出這一情形。具有持久性分段存儲(PSS) 1004的客戶機方事務 加速器(CTA) 1003位于客戶機附近,而具有PSS 1006的服務器方事務加速 器(STA) 1005位于服務器附近。插在CTA 1003與STA 1005之間的是WAN。 另夕卜,CEPD 1002插在客戶機與CTA 1003之間。CEP 1008終止從客戶機1001 至服務器1007的傳輸連接并試圖打開從CEPD 1002到服務器1007的新連接。 當CEP 1008發(fā)起到服務器1007的連接時,CTA和STA以諸如在McCanne IV
中所描述的某種方式截取該連接。
在此配置下,CEP 1008處在通過將使服務器向客戶機傳送所需的數(shù)據(jù)的
合成協(xié)議消息注入到客戶機-服務器會話中來實現(xiàn)所需數(shù)據(jù)的內(nèi)容遞送的位
置上。CEP 1008進而在知道包括該數(shù)據(jù)的分段現(xiàn)在都存在于PSS 1004和PSS 1006中的情況下丟棄所得的數(shù)據(jù)。當客戶機1001隨后試圖從服務器1007檢索 相應數(shù)據(jù)時,如在McCanneI中所描述的,在CTA/STA對一起折疊所請求的 數(shù)據(jù)時,該數(shù)據(jù)無需再通過網(wǎng)絡重新發(fā)送。
不同于其中消息被遞送至特定用戶的電子郵件,其它協(xié)議涉及由用戶以自 組織(adhoc)方式引發(fā)的數(shù)據(jù)訪問模式。例如,在諸如CIFS等文件訪問協(xié)議 中,用戶能訪問由不同用戶創(chuàng)建并存儲在不同服務器上的大量不同文件。同樣, 瀏覽Web (或是專用企業(yè)網(wǎng)或是通常的因特網(wǎng))的用戶最終可能在世界上幾乎 任何地方訪問數(shù)據(jù)。為了處理這一情形,CEP能推斷諸如網(wǎng)頁或文件等數(shù)據(jù)對 象的用戶親合性。
一種推論方法是使用在McCanneIII中所述的事務預測框架。另一種方法 是將用戶親合性信息收集在數(shù)據(jù)庫中并使用此數(shù)據(jù)庫來驅動CEP內(nèi)容遞送算 法。
在一個實施例中,設備中的每一CEP維持用戶親合性數(shù)據(jù)庫(UADB)。 UADB包含記錄對數(shù)據(jù)對象的訪問的一組記錄。每一記錄包括用戶標識符(例 如,登錄名)、對象標識符(例如,文件服務器和路徑名或Web URL)、第 一次訪問的時戳、最近一次訪問的時戳、計數(shù)以及還可能有其它字段。記錄可 包含其它可由不同的內(nèi)容遞送策略和/或算法以不同方式使用的協(xié)議或應用程 序專用的信息。例如,文件訪問協(xié)議的記錄格式還可包括所討論的對象的"最 后一次修改時間"。
每次客戶機通過CEP訪問數(shù)據(jù)對象時,CEP在UADB中查找該對象記錄。 如果該對象記錄不存在,則為該用戶和對象創(chuàng)建一條具有設置成當前時間的時 戳的新記錄并將其輸入到UADB中,且計數(shù)被初始化為l。如果記錄已存在, 則計數(shù)遞增且最近一次訪問時間被更新。
在UADB的情形中,CEP例如在夜晚,在空閑網(wǎng)絡活動期間,繼續(xù)以某
個配置的比特率等以后臺進程的形式執(zhí)行內(nèi)容遞送。這可以在客戶機終止連接 之后通過由CEP維持的會話來完成,或如果CEP具有發(fā)起其自己連接的許可,
則CEP可登錄(建立連接)。
此后臺遞送過程是通過令CEP在UADB中以循環(huán)法掃描所有與由所述 CEP處理的用戶匹配的記錄來實現(xiàn)的。對于每一記錄,從服務器中檢索對象并 簡單地由CEP丟棄該對象,從而將表示所需對象的所有分段數(shù)據(jù)填充到本地 CTA的PSS中。此步驟可以通過額外地保持所討論的對象的修改時戳(如上 所述)并僅在服務器上的修改時間比存儲在對象記錄中的最近一次修改時間更 近時才取回該數(shù)據(jù)對象來最優(yōu)化。此方案特別高效,因為正好被抽取多次的類 似數(shù)據(jù)(例如具有相同數(shù)據(jù)的兩個文件)由于在McCanneI和McCanneII中所 描述的分段算法的高效屬性而只遍歷WAN —次。
各種策略可用于控制掃描數(shù)據(jù)對象的頻度,且在需要時,控制跨越網(wǎng)絡抽 取數(shù)據(jù)的頻度。例如,與比較少被訪問的對象相比,較常被訪問的對象可被更 頻繁地掃描?;蛘撸c最近被訪問時間較遠的對象相比,最近被訪問的時間較 近的對象可被更頻繁地掃描。或者,在某個可配置的時間長度里未被訪問的對 象可以被簡單地從UADB丟棄。
圖11示出假定采用象CIFS那樣的文件訪問協(xié)議的情況下具有居間CEP 的客戶機-服務器交互的游動圖。在本例中,CEP包括記錄文件訪問模式的 UADB (未示出)。假設客戶機已與CIFS服務器建立了 CIFS會話。
在該圖的頂部,客戶機打開文件"A",隨后從文件"A"讀數(shù)據(jù),并關 閉它。當這些客戶機-服務器事務流過CEP時,CEP在UADB中記錄一個通 知用戶己訪問文件"A"的對象記錄。過了一些時間之后,客戶機注銷且會話 被終止,但是如上所提及的,CEP代表斷開的客戶機維持與服務器的會話以實 現(xiàn)內(nèi)容遞送。再過了一些時間之后,例如某另一對該文件具有寫許可的其它某 個用戶對文件"A"進行了修改。后臺內(nèi)容遞送過程始終在CEP內(nèi)運行,有時 通過向服務器發(fā)送針對文件"A"的"統(tǒng)計"消息來檢査圖中所示的文件"A" 的修改時間。在某一刻,CEP注意到文件"A"的修改時間比存儲在UADB對 象記錄中的修改時間更近。因此,CEP打開文件"A",讀取其內(nèi)容,并簡單
地丟棄所得的結果,因為表示文件"A"中所包含的數(shù)據(jù)的所有片段現(xiàn)已被成
功地復制到本地CTA的PSS中??蛻魴C進而與服務器建立新CIFS會話,并訪 問文件"A" 。 CTA隨后拆卸老的CIFS會話并允許建立新的CIFS會話。
或者,STA中的代理機構可以執(zhí)行拆卸老的會話并允許建立新會話通過 的工作。此服務器方途徑的優(yōu)點在于在一段時間里從多個位置訪問電子郵件服 務的各用戶將不會留下活動內(nèi)容遞送會話的蹤跡,即便一個時刻只有一個客戶 機活動。由于CTA中存在所有所需的片段,因此跨越WAN檢索文件"A"獲 得了高性能。
將CEP與事務加速器和片段結合在一起使用的某些優(yōu)點在電子郵件被發(fā) 送至大量收件人的例子中是顯而易見的。在該情形中,假設某消息被發(fā)送至許 多收件人。然后,盡管CEP的許多實例中的每一個下拉了電子郵件數(shù)據(jù)的單 個拷貝,但該數(shù)據(jù)被CTA/STA對跨越WAN只向每一位置傳送一次。甚至每 一 CEP相互獨立地動作并且不做任何事情來協(xié)助數(shù)據(jù)的高效遞送,只向任何 給定位置傳送該電子郵件的一個拷貝。另外,該方法容易地與現(xiàn)有基礎結構集 成,不需要對現(xiàn)有客戶機、服務器或應用程序進行變化或添加。
如在對CIFS和電子郵件的CEP內(nèi)容遞送的討論中顯而易見的,通常需要 CEP內(nèi)的協(xié)議專用知識來解釋并將合成消息注入到客戶機-服務器會話中用 于所需的數(shù)據(jù)傳送。在某些實施例中,協(xié)議專用知識被嵌入在共同駐留在CTA 內(nèi)的多種類型的CEP中以創(chuàng)建"修改的CTA"。此配置在圖12中示出,圖 12示出通過修改的CTA通信的多個客戶機。每一客戶機與協(xié)議專用CEP的一 個實例通信,并且每一個這類CEP可以有一個以上的實例。
例如,CIFS客戶機與CIFS CEP通信,而MAP客戶機與MAPI CEP通信。 如在McCanneI中所述,這些CEP中的每一個可用作客戶機代理,該客戶機代 理進而與控制PSS降低WAN上帶寬消耗的事務變換模塊(TT和TT1)通信。 每一 CEP與STA上的服務器方代理邏輯地通信,該服務器方代理進而與起點 服務器通信從而將客戶機與目標服務器連接。例如,CIFS CEP與CIFS服務器 代理通信,該服務器進而與目標CIFS服務器通信。
上述說明只是例示而非限定。本發(fā)明的許多變形在本領域的技術人員査閱
本公開時將變得顯而易見。因此,本發(fā)明的范圍不是參照上述說明書來確定的 而應是參照所附權利要求書及其等效技術方案的完整范圍來確定的。
權利要求
1.在支持客戶機與服務器之間的事務的網(wǎng)絡——其中客戶機是請求事務的主機而服務器是發(fā)出響應于客戶機請求的響應的主機,且客戶機與服務器之間的分組在包括一個或多個跳躍并具有一個或多個要克服的工作特性的網(wǎng)絡路徑上行進——中的一種克服所述一個或多個工作特性的傳輸數(shù)據(jù)的方法,包括標識數(shù)據(jù)對象的用戶親合性,其中所述數(shù)據(jù)對象的用戶親合性指示哪個或哪些用戶可能與所述數(shù)據(jù)對象相關聯(lián),使得對所述數(shù)據(jù)對象具有用戶親合性的用戶比對所述數(shù)據(jù)對象不具有用戶親合性的用戶更可能請求數(shù)據(jù)對象;動態(tài)地標識用戶位置,其中用戶位置表示用戶與預加載節(jié)點之間的關聯(lián),其中預加載節(jié)點是可以存儲預加載的數(shù)據(jù)以克服所述一個工作特性中的至少一個的網(wǎng)絡位置;在客戶機代表具有特定數(shù)據(jù)的用戶親合性的特定用戶請求之前,將具有指定用戶親合性的所述特定數(shù)據(jù)從服務器傳輸至被標識成所述特定用戶的用戶位置的預加載節(jié)點。
2. 如權利要求1所述的方法,其特征在于,所述一個或多個工作特性是 從帶寬利用率、出誤率和等待時間中選擇的。
3. 如權利要求1所述的方法,其特征在于,所述數(shù)據(jù)對象包括電子郵件 對象、數(shù)據(jù)集、文件或數(shù)據(jù)庫的一部分中的一個或多個。
4. 如權利要求1所述的方法,其特征在于,所述數(shù)據(jù)對象的用戶親合性 是對于單個用戶。
5. 如權利要求1所述的方法,其特征在于,所述數(shù)據(jù)對象的用戶親合性 是對于多個用戶。
6. 如權利要求l所述的方法,其特征在于,標識用戶親合性包括 確定哪些用戶訪問哪些數(shù)據(jù)對象;以及根據(jù)哪些用戶訪問那些數(shù)據(jù)對象,將用戶親合性分配給那些數(shù)據(jù)對象。
7. 如權利要求l所述的方法,其特征在于,動態(tài)地標識用戶位置包括 確定哪些用戶使用特定客戶機訪問所述網(wǎng)絡; 確定與那些特定客戶機相關聯(lián)的預加載節(jié)點;以及用將那些用戶與所述預加載節(jié)點相關聯(lián)的記錄填充用戶位置數(shù)據(jù)庫,從而 標識用戶位置。
8. 如權利要求l所述的方法,其特征在于,每一預加載節(jié)點是代理。
9. 如權利要求1所述的方法,其特征在于,每一預加載節(jié)點包括數(shù)據(jù)高 速緩存。
10. 如權利要求l所述的方法,其特征在于,每一預加載節(jié)點包括代理和 分段存儲。
11. 如權利要求l所述的方法,其特征在于,動態(tài)地標識用戶位置包括 截取用于由第一客戶機發(fā)起的所述第一客戶機與第一服務器之間的連接的客戶機-服務器連接,所述截取是在與預加載節(jié)點相關聯(lián)的代理處;將連接端點代理(CEP)包括在所述連接在其上流動的網(wǎng)絡路徑中;以及 當所述CEP檢測到由所述第一客戶機發(fā)起的連接的終止時a) 保留與所述第一服務器的連接并向所述第一服務器注入合成事務,隱式地使用所述連接來標識與所述連接相關聯(lián)的用戶的用戶位置;以及b) 接收所述合成事務的結果,由此副作用是數(shù)據(jù)被存儲以用于改善所述 一個或多個工作特性。
12. 如權利要求11所述的方法,其特征在于,在所述合成事務中被請求 的數(shù)據(jù)對象與作為所有網(wǎng)絡用戶的子集的用戶相關聯(lián),并且所述與發(fā)起所述合成事務的CEP相關聯(lián)的客戶機的子集包括與所述用戶子集中的一個或多個用戶相關聯(lián)的客戶機。
13. 如權利要求11所述的方法,其特征在于,所述交易與電子郵件消息 相關,所述合成事務是用于與一個或多個收件人的群組相關聯(lián)的電子郵件消息 的傳輸,并且所述CEP具有所述收件人群組中的至少一個收件人將操作一個 發(fā)起流過所述CEP的連接的客戶機的指示,從而在使用合成事務的結果提供 電子郵件數(shù)據(jù)時改善所述一個或多個操作特性。
14. 如權利要求11所述的方法,其特征在于,還包括當所述CEP已在所述第一客戶機終止所述連接后維持所述連接且所述第一客戶機發(fā)起第二連接時,使用所述CEP拆卸所維持的連接并建立所述第二連接。
15. 如權利要求11所述的方法,其特征在于,還包括為第二客戶機與所述第一服務器或第二服務器之間的由所述第二客戶機發(fā)起的第二連接傳輸數(shù)據(jù),其中所述第二連接在包括所述CEP的網(wǎng)絡路徑中 流動;當所述CEP檢測到由所述第二客戶機發(fā)起的第二連接的終止時a) 保留所述第二連接并向所述連接的服務器端注入合成事務;以及b) 存儲所述結果或填充可用于至少部分地再生所述結果的存儲; 當所述CEP檢測到所述第二客戶機打開隨后一連接時,響應于隨后的事務使用所存儲的結果或所填充的存儲,從而為所述第二客戶機改善所述一個或 多個工作特性。
16. 在支持客戶機與服務器之間的事務的網(wǎng)絡一一客戶機是請求事務的 主機而服務器是發(fā)出響應于客戶機請求的響應的主機,并且客戶機與服務器之 間的分組在包括一個或多個跳躍并具有一個或多個要克服的工作特性的網(wǎng)絡 路徑上行進——中的一種克服所述一個或多個工作特性的傳輸數(shù)據(jù)的方法,包 括為第一客戶機與第一服務器之間由所述第一客戶機發(fā)起的連接傳輸數(shù)據(jù); 將客戶機連接端點代理(客戶機CEP)包括在所述連接在所述第一客戶機附近在其上流動的網(wǎng)絡路徑中;將服務器連接端點代理(服務器CEP)包括在所述連接在所述第一服務器 附近在其上流動的網(wǎng)絡路徑中;當所述客戶機CEP檢測到由所述第一客戶機發(fā)起的連接的終止時c) 保留與所述第一服務器的連接并向所述第一服務器注入合成事務;d) 接收所述合成事務的結果;以及e) 存儲所述結果或填充可用于至少部分地再生所述結果的存儲; 當所述客戶機CEP檢測到所述第一客戶機打開隨后一連接時,響應于隨后的事務使用所存儲的結果或所填充的存儲,從而改善所述一個或多個工作特 性;以及在所述客戶機CEP與所述服務器CEP之間發(fā)信號以進一步改善所述一個 或多個工作特性。
17.如權利要求16所述的方法,其特征在于,所述發(fā)信號包括對可用于再 生事務的全部或部分的分段存儲的更新。
全文摘要
在支持客戶機和服務器之間通過具有要克服的工作特性的網(wǎng)絡路徑進行的事務的網(wǎng)絡中,以使用用戶親和性和動態(tài)用戶位置信息來選擇性地預載數(shù)據(jù)、或是數(shù)據(jù)的表示、簽名、片段等來克服這一個或多個工作特性的方式來傳輸數(shù)據(jù),從而克服這些工作特性。要克服的工作特性的例子包括帶寬限制、出錯和等待時間。動態(tài)位置信息可以被存儲在可由數(shù)據(jù)服務器的代理機構訪問的數(shù)據(jù)結構中,并且這些數(shù)據(jù)結構是基于關于與用戶位置相關聯(lián)的代理的用戶活動來填充的,或者動態(tài)位置信息可以在客戶機終止連接之后代理維持連接并且使用那些維持的連接來為與那些客戶機相關聯(lián)的用戶預加載數(shù)據(jù)時被隱式地獲得。被預加載的數(shù)據(jù)可以是協(xié)議專用數(shù)據(jù)或獨立于協(xié)議的數(shù)據(jù)。
文檔編號G06F17/30GK101189605SQ200580049873
公開日2008年5月28日 申請日期2005年4月19日 優(yōu)先權日2005年4月19日
發(fā)明者D·T·-S·吳, S·麥克卡尼 申請人:河床技術股份有限公司